AAGun
31-03-2007, 12:43 PM
أعتقد أن الكثير سمع بكلمة Shader ولكن لا يعلم ما معناها ، ففي علم ال Gaming أو الثري دي بشكل عام هناك أشياء تساعد المصمم في عمله لإخراج أعمال أفضل تسمى Shaders .
ال Shader هو :
هي خوارزمية يتم التعامل معها بال Hardware الخاص بالجهاز وغالباً ما يتم معالجتها على كرت الشاشة VGA Card . تتحكم في كيفية إظهار ال Material على ال Objects . يعني بإختصار ، كلام كثير مكتوب بلغة قريبة من ال C ، تعطي مظهر أفضل لل Material على شكل Visual Effect .
وهذه الخوارزميات غالباً ما يتم تنفيزها Real Time والمقصود به ، هو عرض العمل الحالي في ال Viewport ، بمعنى أن كل ما نراه بمنافذ برامج الثري دي هو عبارة عن Shaders يتم عرضها لنا بطريقة تتيح لنا رؤية سطح الجسم من لون Texture أو إنعكاس أو إضاءة Light .
في عالم ال Games يتم إستخدام ال Shader بشكل أكبر بكثير من ال Pre Time Render والمقصود به ال Film Production يعني الصورة أو الفيديوا اللي تم عمل Render سابقاً .
سأدخل في صلب الموضوع ، فأنا أردت من الجميع أن يعلم أن هناك شيء يسمى Shader يتم إستخدامه في ال Game فأنا لا أعتقد أن هناك من تعامل معه ( إذا كان هاوي تصميم فيديوا وليس Game ) ، ففي هذا المثال ، أهدف إلى أن يرى الجميع ماذا يمكن للشيدر أن يفعله .
المثال :
- من الأفضل أن تكون نسخة الماكس ذات الرقم 9 ، فهو يقوم بدعم جميع ال Shaders التي تكتب بواسطة ال DirectX . قم بفتح برنامج الماكس .
- قم بإدراج أو إنشاء Shpere ( كرة ) وقم بوضعها في منتصف الشاشة ، الآن قم بفتح قائمة ال Material ، بالضغط على قائمة Rendering ومن ثم Material Editor أو بالضغط على حرف M لهوات الإختصارات .
إذهب إلى أي Slot من ال Slots الخاصة بالخامات . ومن نوع ال Material قم بتغيير النوع من Standers إلى DirectX Shader كما في الصورة :
http://www.bof3d.com/up/get-3-2007-bof3d_com1carp1ii.jpg
- سيظهر لك Message ، تفيد بأنه هل تريد إلغاء ال Material أو الإحتفاظ بها .. Keep Or Discard ، إختر Discard .. يعني إلغي .
- ستظهر لك مباشرة بعدها قائمة لل Shader شبيهة بهذه الصورة :
http://www.bof3d.com/up/get-3-2007-bof3d_comagyp08n7.jpg
- في ال Tab المخصص لل DirectX Shader قم بالضغط على المسار وإختر ال Shader ذات الإسم HammerTime.fx من المسار التالي :
C:\Program Files\Autodesk\3ds Max 9\maps\fx
ثم قم بسحب ال Material وضعها على الكرة في ال Viewport . وستلاحظ شكل كما في الصورة التالية :
http://www.bof3d.com/up/get-3-2007-bof3d_comp5lt6npf.jpg
قم بتحريك الكرة وتدويرها ولاحظ ماذا يحدث ،،،، فهناك هالة تدور حول الكرة في المناطق المضيئة منها . وهذا ما نسمية بال Shader .
مع العلم أنك لو قمت بعمل Render للكرة فلن يستجيب معك ال Shader ......
وللحديث بقية ، فأرجوا أن تتفاعلوا معنا لمصلحتكم http://maxforums.net/images/smilies/wink.gif .
فقد يسأل سائل ، لما نستخدمه ونحن أصلاً لا نستطيع إخراجه بشكل Render ، ففكرة ال Shader لا تأتي من كونه يتم تفعيله في ال Real Time Engine فحسب ، فنحن نقوم بإستخدام ال Shader دون أن نعرف ، فأغلب ما تقع أعيننا عليه في ال Viewport يعتبر Shader ، فعندما ترى جسم Object له لون ويتأثر بالإضاءة ( ليست كتلك الدقة التي يتأثرها عند عمل ال Render ) ، هذا كله يسمى Shader ، وللتأكيد على ذلك ، فعندما تقوم بتحويل ال Renderer من ال Default Scanline Renderer في الماكس إلى ال MentalRay بإصداره الأخير ، فسترى أن أي Material موجودة في ال Material Editor إمتلكت Tab جديد تحت إسم Mental Ray Connection ، أو حتى من غير أن تقوم بتغيير ال Renderer .. وستكون كما في الصورة التالية :
http://www.bof3d.com/up/get-3-2007-bof3d_comdfu2vdnt.jpg
ليس هذا فحسب ، فأغلب ال Texture المستخدمة في الماكس هي عبارة عن Shader بمعنى ما تراه في ال Viewport من صور أو إنعكاس أو إضاءه هو Shader ، وتختلف ال Shader حسب نوعها من حيث التفاعلية إلى قسمين :
فالقسم الأول وهو المسؤول عن Shader On Object ، بمعنى أن ال Shader سيقوم بتغيير خصائص Object محدد ، وغالباً ما يكون على مستويين ، على مستوى ال Material أو على مستوى ال Mesh يعني ممكن نغير شكل كامل بواسطة Shader .
والقسم الثاني وهو المسؤول عن Shader On Level -World بمعنى هو المسؤول عن جميع ال Objects الموجودة في ال Scene الحالي ، وغالباً ما تكون على هيئة Post Processing يعني تغيير بجميع الصور الناتجة ، بمعنى أننا نعلم أنه يمكننا بالفوتوشوب تغيير شكل صورة بشيء يسمى Filters ، وهو هنا نفس الشيء ولكن هنا يقوم بالتغيير كل Frame والتي غالباً ما تكون 30 فريم لكل ثانية ، فيمكننا بالنهاية إخراج فيلمنا على هيئة أسود وأبيض ، أو إضافة تأثيرات أكثر مثل ما يسمى بال Glow أو ال Depth Of Field أو ال Bloom أو ال Cartoon Shader أو ال HDR . لاحظوا الصور التالية :
http://backoffice.ajb.com.au/images/features/offset/tb/po_bloom_off.jpg (http://backoffice.ajb.com.au/images/features/offset/po_bloom_off.jpg) http://backoffice.ajb.com.au/images/features/offset/tb/po_bloom_on.jpg (http://backoffice.ajb.com.au/images/features/offset/po_bloom_on.jpg)
مثال على Shader ال HDR إختصار كلمة High Dynamic Range ، ففي الصورة إلى اليسار تم تطبيقه بينما على اليمين صورة عادية .
وهذا المثال الآخر ...
http://backoffice.ajb.com.au/images/features/offset/tb/po_troll_bloom_off.jpg (http://backoffice.ajb.com.au/images/features/offset/po_troll_bloom_off.jpg) http://backoffice.ajb.com.au/images/features/offset/tb/po_troll_bloom_on.jpg (http://backoffice.ajb.com.au/images/features/offset/po_troll_bloom_on.jpg)
إلى اليسار تم تطبيق ال Specular Bloom بينما نرى على اليمين الصورة العادية ..
وهكذا لأغلب ال Shaders ...
فمن الجميل أن نعلم على الأقل ما هو الشيدرز وما الإمكانيات التي يمكننا عملها بهذا الشيء ..
س: كيف يمكن للألعاب ان تضهر النار والدخان والماء في الوقت الحقبقب ولا يضهر في الماكس الا بعد عمل الريندر
فعالم ال Game مختلف عن عالم ال Video .. بالنسبة للألعاب تستخدم غالباً ال Particle System ولكن بطريقة مختلفة ، حتى الدخان ، فهناك أكثر من طريقة ، ولكن ال Concept واحد ..
فال Game ، عبارة عن Real Time Render ، يعني يتم عمل Render في وقت اللعب ، لذلك ترى أنك إذا قمت بتشغيل لعبة ذات مواصفات كبيرة ، تحس إنوا الجهاز بطيء جداً ، ولا يكاد يقوى على الحركة وتصبح ال Frame Per Secend أقل من 10 يعني أقل من الطبيعي ب 14 فريم . والتكلفة Cost تكون آنياً ، يعني في وقت اللعب .
أم الفيديوا .. فبالنهاية سينتج صورة ، تستطيع تشغيلها على صخر . والتكلفة Cost تكون فقط في وقت الرندر عند الشركة الأصلية ،
اجد خاصية ال Specular Bloom
من يعرف يجاوب
بالنسبة لل Game فستجد الشيدر جاهز ، أما للفيديوا فتسجده في برامج ال Compositing مثل الكومبوزر والأفتر إيفيكت ..
هذا ما نقلته من اسامة في المنابر
انتظر جديدك يا اسامة وجزاك الله خير الجزاء
ال Shader هو :
هي خوارزمية يتم التعامل معها بال Hardware الخاص بالجهاز وغالباً ما يتم معالجتها على كرت الشاشة VGA Card . تتحكم في كيفية إظهار ال Material على ال Objects . يعني بإختصار ، كلام كثير مكتوب بلغة قريبة من ال C ، تعطي مظهر أفضل لل Material على شكل Visual Effect .
وهذه الخوارزميات غالباً ما يتم تنفيزها Real Time والمقصود به ، هو عرض العمل الحالي في ال Viewport ، بمعنى أن كل ما نراه بمنافذ برامج الثري دي هو عبارة عن Shaders يتم عرضها لنا بطريقة تتيح لنا رؤية سطح الجسم من لون Texture أو إنعكاس أو إضاءة Light .
في عالم ال Games يتم إستخدام ال Shader بشكل أكبر بكثير من ال Pre Time Render والمقصود به ال Film Production يعني الصورة أو الفيديوا اللي تم عمل Render سابقاً .
سأدخل في صلب الموضوع ، فأنا أردت من الجميع أن يعلم أن هناك شيء يسمى Shader يتم إستخدامه في ال Game فأنا لا أعتقد أن هناك من تعامل معه ( إذا كان هاوي تصميم فيديوا وليس Game ) ، ففي هذا المثال ، أهدف إلى أن يرى الجميع ماذا يمكن للشيدر أن يفعله .
المثال :
- من الأفضل أن تكون نسخة الماكس ذات الرقم 9 ، فهو يقوم بدعم جميع ال Shaders التي تكتب بواسطة ال DirectX . قم بفتح برنامج الماكس .
- قم بإدراج أو إنشاء Shpere ( كرة ) وقم بوضعها في منتصف الشاشة ، الآن قم بفتح قائمة ال Material ، بالضغط على قائمة Rendering ومن ثم Material Editor أو بالضغط على حرف M لهوات الإختصارات .
إذهب إلى أي Slot من ال Slots الخاصة بالخامات . ومن نوع ال Material قم بتغيير النوع من Standers إلى DirectX Shader كما في الصورة :
http://www.bof3d.com/up/get-3-2007-bof3d_com1carp1ii.jpg
- سيظهر لك Message ، تفيد بأنه هل تريد إلغاء ال Material أو الإحتفاظ بها .. Keep Or Discard ، إختر Discard .. يعني إلغي .
- ستظهر لك مباشرة بعدها قائمة لل Shader شبيهة بهذه الصورة :
http://www.bof3d.com/up/get-3-2007-bof3d_comagyp08n7.jpg
- في ال Tab المخصص لل DirectX Shader قم بالضغط على المسار وإختر ال Shader ذات الإسم HammerTime.fx من المسار التالي :
C:\Program Files\Autodesk\3ds Max 9\maps\fx
ثم قم بسحب ال Material وضعها على الكرة في ال Viewport . وستلاحظ شكل كما في الصورة التالية :
http://www.bof3d.com/up/get-3-2007-bof3d_comp5lt6npf.jpg
قم بتحريك الكرة وتدويرها ولاحظ ماذا يحدث ،،،، فهناك هالة تدور حول الكرة في المناطق المضيئة منها . وهذا ما نسمية بال Shader .
مع العلم أنك لو قمت بعمل Render للكرة فلن يستجيب معك ال Shader ......
وللحديث بقية ، فأرجوا أن تتفاعلوا معنا لمصلحتكم http://maxforums.net/images/smilies/wink.gif .
فقد يسأل سائل ، لما نستخدمه ونحن أصلاً لا نستطيع إخراجه بشكل Render ، ففكرة ال Shader لا تأتي من كونه يتم تفعيله في ال Real Time Engine فحسب ، فنحن نقوم بإستخدام ال Shader دون أن نعرف ، فأغلب ما تقع أعيننا عليه في ال Viewport يعتبر Shader ، فعندما ترى جسم Object له لون ويتأثر بالإضاءة ( ليست كتلك الدقة التي يتأثرها عند عمل ال Render ) ، هذا كله يسمى Shader ، وللتأكيد على ذلك ، فعندما تقوم بتحويل ال Renderer من ال Default Scanline Renderer في الماكس إلى ال MentalRay بإصداره الأخير ، فسترى أن أي Material موجودة في ال Material Editor إمتلكت Tab جديد تحت إسم Mental Ray Connection ، أو حتى من غير أن تقوم بتغيير ال Renderer .. وستكون كما في الصورة التالية :
http://www.bof3d.com/up/get-3-2007-bof3d_comdfu2vdnt.jpg
ليس هذا فحسب ، فأغلب ال Texture المستخدمة في الماكس هي عبارة عن Shader بمعنى ما تراه في ال Viewport من صور أو إنعكاس أو إضاءه هو Shader ، وتختلف ال Shader حسب نوعها من حيث التفاعلية إلى قسمين :
فالقسم الأول وهو المسؤول عن Shader On Object ، بمعنى أن ال Shader سيقوم بتغيير خصائص Object محدد ، وغالباً ما يكون على مستويين ، على مستوى ال Material أو على مستوى ال Mesh يعني ممكن نغير شكل كامل بواسطة Shader .
والقسم الثاني وهو المسؤول عن Shader On Level -World بمعنى هو المسؤول عن جميع ال Objects الموجودة في ال Scene الحالي ، وغالباً ما تكون على هيئة Post Processing يعني تغيير بجميع الصور الناتجة ، بمعنى أننا نعلم أنه يمكننا بالفوتوشوب تغيير شكل صورة بشيء يسمى Filters ، وهو هنا نفس الشيء ولكن هنا يقوم بالتغيير كل Frame والتي غالباً ما تكون 30 فريم لكل ثانية ، فيمكننا بالنهاية إخراج فيلمنا على هيئة أسود وأبيض ، أو إضافة تأثيرات أكثر مثل ما يسمى بال Glow أو ال Depth Of Field أو ال Bloom أو ال Cartoon Shader أو ال HDR . لاحظوا الصور التالية :
http://backoffice.ajb.com.au/images/features/offset/tb/po_bloom_off.jpg (http://backoffice.ajb.com.au/images/features/offset/po_bloom_off.jpg) http://backoffice.ajb.com.au/images/features/offset/tb/po_bloom_on.jpg (http://backoffice.ajb.com.au/images/features/offset/po_bloom_on.jpg)
مثال على Shader ال HDR إختصار كلمة High Dynamic Range ، ففي الصورة إلى اليسار تم تطبيقه بينما على اليمين صورة عادية .
وهذا المثال الآخر ...
http://backoffice.ajb.com.au/images/features/offset/tb/po_troll_bloom_off.jpg (http://backoffice.ajb.com.au/images/features/offset/po_troll_bloom_off.jpg) http://backoffice.ajb.com.au/images/features/offset/tb/po_troll_bloom_on.jpg (http://backoffice.ajb.com.au/images/features/offset/po_troll_bloom_on.jpg)
إلى اليسار تم تطبيق ال Specular Bloom بينما نرى على اليمين الصورة العادية ..
وهكذا لأغلب ال Shaders ...
فمن الجميل أن نعلم على الأقل ما هو الشيدرز وما الإمكانيات التي يمكننا عملها بهذا الشيء ..
س: كيف يمكن للألعاب ان تضهر النار والدخان والماء في الوقت الحقبقب ولا يضهر في الماكس الا بعد عمل الريندر
فعالم ال Game مختلف عن عالم ال Video .. بالنسبة للألعاب تستخدم غالباً ال Particle System ولكن بطريقة مختلفة ، حتى الدخان ، فهناك أكثر من طريقة ، ولكن ال Concept واحد ..
فال Game ، عبارة عن Real Time Render ، يعني يتم عمل Render في وقت اللعب ، لذلك ترى أنك إذا قمت بتشغيل لعبة ذات مواصفات كبيرة ، تحس إنوا الجهاز بطيء جداً ، ولا يكاد يقوى على الحركة وتصبح ال Frame Per Secend أقل من 10 يعني أقل من الطبيعي ب 14 فريم . والتكلفة Cost تكون آنياً ، يعني في وقت اللعب .
أم الفيديوا .. فبالنهاية سينتج صورة ، تستطيع تشغيلها على صخر . والتكلفة Cost تكون فقط في وقت الرندر عند الشركة الأصلية ،
اجد خاصية ال Specular Bloom
من يعرف يجاوب
بالنسبة لل Game فستجد الشيدر جاهز ، أما للفيديوا فتسجده في برامج ال Compositing مثل الكومبوزر والأفتر إيفيكت ..
هذا ما نقلته من اسامة في المنابر
انتظر جديدك يا اسامة وجزاك الله خير الجزاء