Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

شرح لكود التضليل (Ouvrir Shading Language (OSL

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • شرح لكود التضليل (Ouvrir Shading Language (OSL

    السلام عليكم

    الكود عبارة عن سكريبت يوضع في محرر النصوص ا
    تعتبر الكتابة و البرمجة بالتظليل Shader مثل الرسم ، وتعتمد الطريقة على استعمال اكواد الرياضيات

    للبداية في استعمال OSL، يجب تحديد محيط برنامج البلندر

    1. تعديل محرك الرندر بالسايكليز Set Render Engine to Cycles.

    2. تفعيل OSL
    OSL يعمل فقط في وضع CPU حاليا.

    3. تعيين تخطيط (Set the Layout)
    يمكنك ترتيبتخطيط كما تريد، ولكن أريد أن استخدام أحكام تكوين باستخدام وتعديل نفسي على النحوالتالي:


    4. استعمل سكريبت العقد Node Script
    كلما حددت سكريبت العقد في طريق OSL Shader ، يمكن بعدها تجميع شادر OSL. وهويدير مجموعة من اكواد النص في عقدة واحدة مع المدخلات والمخرجات للنود.

    5. تسمية ملف OSL
    ينصح إعطاء اسم لملف OSL على شكل : osl.*


    البنية الأساسية ل OSL
    تكون البنية الأساسبة لسكريبت osl على النحو التالي
    كود:
    [LEFT][FONT=Courier New]#include "stdosl.h"
    [FONT=Courier New]
    [/FONT][FONT=Courier New]shader NAME_OF_SHADER[/FONT]
    [FONT=Courier New]([/FONT]
    [FONT=Courier New]// HEADER_DECLARATION_OF_INPUT_VARIABLES[/FONT]
    [FONT=Courier New]varType varName1 = value, [/FONT]
    [FONT=Courier New]varType varName2 = value, [/FONT]
    [FONT=Courier New]varType varName3 = value, [/FONT]
    [FONT=Courier New]output color Col = (0.8)[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New])[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]{[/FONT]
    [FONT=Courier New]// BODY, FUNCTIONS[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]Col = .... ;[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]}[/FONT][/LEFT]
    [/FONT]




    وهو على نحو قالب يستخدم في اليبندر
    كود:
    [LEFT]shader name()
    {
    
    }[/LEFT]


    الغير المرئية: الداخلية والمتغيرات الشاملة
    هناك بعض المتغيرات في OSL غير مرئية، ولكن وجودهم هناك. علينا أن نتذكر أننا لا نستطيع تغيير الواقع ما هو موجود بالفعل في الطبيعة، ولكن يمكن استخدامها ودفع لهم لخلق ورؤية FORCE.

    بعض من "الغير المرئية" المستعملة

    - نقطة السطحية P = وضعيات البكسل في XYZ
    Point Surface (P) = positions of pixel in XYZ
    والذي كما ترون في وقت لاحق يمكننا فصلها علي X، Y، Z عن طريق الوصول إلى [P [0]، P [1، و [P [2.

    - الموجه أو النورمال Normal N
    هذا هو كائن سمة السطحية والذي هو عادة عمودي على السطح، وهذا هو أيضا نوع من انوع المتجهات من 3 قيم.

    - الاحداثيات U و V

    وهذه أمثلة عن الشادر OSL

    OSL: Mixer 2 Colors > 1 Color


    كود:
    
    
    كود:
    [LEFT][FONT=Courier New]shader mixer([/FONT]
    
    [FONT=Courier New]    color ValueA = color(1,0,0),[/FONT]
    [FONT=Courier New]    color ValueB = color(0,0,1),[/FONT]
    [FONT=Courier New]    float Fac = 0.5,[/FONT]
    [FONT=Courier New]    output color Color_Out = color(0.8)[/FONT]
    
    [FONT=Courier New])[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]{[/FONT]
    [FONT=Courier New]    Color_Out = [B]mix(ValueA, ValueB, Fac)[/B];[/FONT]
    [FONT=Courier New]}[/FONT][/LEFT]
    [COLOR=#ff8c00][/COLOR]







    OSL: Gradient X, Y, Z


    كود:
    
    
    كود:
    [LEFT][COLOR=#ff8c00][FONT=Courier New]shader gradient([/FONT]
    [FONT=Courier New]    [B]point Vector = P,[/B][/FONT]
    [FONT=Courier New]    color ValueA = color(1,0,0),[/FONT]
    [FONT=Courier New]    color ValueB = color(0,0,1),[/FONT]
    [FONT=Courier New]    //float Fac = 0.5,[/FONT]
    [FONT=Courier New]    output color Color_Out = color(0.8)[/FONT]
    
    [FONT=Courier New])[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]{[/FONT]
    [FONT=Courier New][B]    float x = P[0];[/B][/FONT]
    [FONT=Courier New][B]    float y = P[1];[/B][/FONT]
    [FONT=Courier New][B]    float z = P[2]; [/B][/FONT]
    
    [FONT=Courier New]    Color_Out = [B]mix(ValueA, ValueB, x)[/B];[/FONT]
    [FONT=Courier New]}[/FONT]
    [/COLOR][/LEFT]
    [COLOR=#ff8c00][/COLOR]





    يمكن تغيير المستوي X الى Y او Z بتغيير السطر الأخير


    وهذا كود أخر:
    كود:
    
    
    كود:
    [LEFT][FONT=Courier New]shader stripes([/FONT]
    [FONT=Courier New]    point Vector = P,[/FONT]
    [FONT=Courier New]    color ValueA = color(1,0,0),[/FONT]
    [FONT=Courier New]    color ValueB = color(0,0,1),[/FONT]
    [FONT=Courier New]    //float Fac = 0.5,[/FONT]
    [FONT=Courier New]    output color Color_Out = color(0.8)[/FONT]
    
    [FONT=Courier New])[/FONT]
    [FONT=Courier New]
    [/FONT][FONT=Courier New]{[/FONT]
    [FONT=Courier New]    float x = P[0];[/FONT]
    [FONT=Courier New]    float y = P[1];[/FONT]
    [FONT=Courier New]    float z = P[2];[/FONT]
    
    [FONT=Courier New]    Color_Out = mix(ValueA, ValueB, floor(sin(x))+1); // I give an offset value of 1 here[/FONT]
    [FONT=Courier New]}[/FONT][/LEFT]
    [COLOR=#ff8c00][/COLOR]




    وللمزيد في هذا الموضوع يمكن مشاهدة هذا الرابط
    أو البحث في النت ة اليوتوب على الشادر OSL

  • #2
    جزاك الله خير وبارك الله فيك على الموضوع الرائع والكل إن شاء الله يستفيد
    اللهم آتنا في الدنيا حسنه وفي الآخره حسنه وقنا عذاب النار

    تعليق


    • #3
      وفيك بركة الاخ فلاشي

      تعليق


      • #4
        ما شاء الله مره روعه رؤيه كل هذه التعقيدات ^^ أحس انهاا رموز مصريه قديمه

        المهم مشكور اخي ان شاء الله بيستفيد منها الأعضاء ..

        تعليق


        • #5
          العفو الاخ nawaf-blender وشكرا على مرورك

          تعليق


          • #6
            جزاك الله خير عالترجمه وهذا توضيح لما يتم من برمجيا عندما نصنع شيدر بالبلندر
            المصمم لن يستطيع التعامل هذا الامر وقد تم وضع النود وهو انترفيس لتسهيل عمل الشيدر
            السكربتات استخدم فيها رياضيات ورسوم منحيات ساين وكوزاين لعمل رسم عالمجسم من غير استخدام للتكسجر
            ولكن يمكن ان نستخدم التكسجر وتحصل علا نفس النتيجه علا مستوئ البسيط فقط

            الموضوع جدا شيق وجميل ان تعرف علا خفايا الشيدر
            وتقبل تحياتي
            لا اله الا الله واشهد ان محمد رسول الله
            اللهم اني اسألك باسمك الاعظم اللذي اذا دعيت به اجبت ان تنصر المسلمين وجندك على الظالمين
            وتفتك باعدائك اعداء الدين

            تعليق


            • #7
              بارك الله فيك اخ المناهل على الاضافة ، بالمناسبة تعلمت بدات أعرف عن هذا الكود من أسبوع فقط
              فعلا الشادر OSL يحتوي على العديد من المزايا ويمكن استعماله كذلك في النمذجة
              وهذه صقحة للتركي sebilgi في اليوتوب
              https://www.youtube.com/watch?v=Mw4j...kyDDag3_jIytjb

              تعليق


              • #8
                بارك الله فيك والله يعطيك العافية
                مفيد جدا
                اللهم كن لإخواننا المسلمين في بورما وفي سوريا والعراق وفي كل مكان معينا وانصرهم على عدوك وعدوهم
                _____________________________________
                صفحتي في
                behance:

                تعليق


                • #9
                  العفو الاخ يوغرطا و شكرا على مرورك

                  تعليق


                  • #10
                    موفق اخي وربي يزيدك لما هو خير
                    بالنسبة لي انا مبتديء في هذاالمجال لكن لامانع للاطلاع
                    حفظك الله

                    تعليق


                    • #11
                      بارك الله فيك أبو احمد
                      لا عليك فنحن كذلك جدد وكل مرة تجد الجديد في هذا البرنامج

                      تعليق

                      يعمل...
                      X