قناة علوم عظيمة على اليوتيوب

الموسوعة الحرة

مظلل

هذا المقال يخضع للمعالجة الالية من طرف كشًاف، إذا كانت لديك أي ملاحظات عليه لا تتردد في مراسلتنا.

عملية مخصصة يتم إضافتها لحسابات اللون النهائي للبكسلات في الصورة النهائية. تطور المفهوم تم تبني مفهوم المظللات في الكثير عبر المحركات اللاحقة لريندر مان، وتم تحسينه ليتحول إلى كتلة برمجية صغيرة تستقبل مجموعة محددة وواضحة عبر المعلومات، وتقوم بتخريج قيمة محددة وواضحة أيضاً بناءً على تلك المدخلات . كمثال، مظلل يقوم بعكس لون البكسل يقوم ببساطة باستقبال لون البكسل، يحسب معكوسه، ثم يخرج النتيجة الجديدة. يمكن ربط المظللات مع بعضها في سلسلة عبر العمليات المتلاحقة لتشجميع تأثيراً أكثر تعقيداً مما يمكن تحقيقه بمظلل واحد فقط. اعتماداً على هذا المفهوم الأخير، نجد حتى المحركات مثل ريندر مان ومينتال راي تسمح بالتعبير عن المواد Materials باستخدام شجرة عبر المظللات المرتبطة فيما بينها . جميع مظلل مستقل بذاته، ويمكن إضافته أو إزالته لتعديل النتائج النهائية. عبر الجدير بالذكر حتى هذه الشجرة كجميع أيضاً قد تدعى مظلل. فالمفهوم ما زال حراً وتجده...
المظلل (بالإنجليزية: Shader)‏ في مجال رسوميات الحاسوب هو مجموعة محدودة عبر الحسابات المخصصة للوصول إلى تأثير جرافيكي معين.
البدايات
ظهرت فكرة المظللات في الإصدارات الأولى عبر محرك الرسم ريندر مان كحل تصميمي لتمكين مستخدميه عبر ابتداع مؤثرات رسومية جديدة دون الحاجة إلى إعادة بناء المحرك في جميع مرة . في بادئ الأمر، كانت مهمة المظللات تماماً كما يظهر عبر اسمها: حساب تظليل ولون جميع بكسل عبر الصورة النهائية. تلى ذلك مظللات تقوم بعمليات أكثر تعقيداً عبر مجرد حساب الضوء المباشر والطيف اللوني (كالانعكاسات والانكسارات مثلاً). فتمدد المصطلح ليضم أية عملية مخصصة يتم إضافتها لحسابات اللون النهائي للبكسلات في الصورة النهائية.
تطور المفهوم
تم تبني مفهوم المظللات في الكثير عبر المحركات اللاحقة لريندر مان، وتم تحسينه ليتحول إلى كتلة برمجية صغيرة تستقبل مجموعة محددة وواضحة عبر المعلومات، وتقوم بتخريج قيمة محددة وواضحة أيضاً بناءً على تلك المدخلات . كمثال، مظلل يقوم بعكس لون البكسل يقوم ببساطة باستقبال لون البكسل، يحسب معكوسه، ثم يخرج النتيجة الجديدة. يمكن ربط المظللات مع بعضها في سلسلة عبر العمليات المتلاحقة لتشجميع تأثيراً أكثر تعقيداً مما يمكن تحقيقه بمظلل واحد فقط. اعتماداً على هذا المفهوم الأخير، نجد حتى المحركات مثل ريندر مان ومينتال راي تسمح بالتعبير عن المواد Materials باستخدام شجرة عبر المظللات المرتبطة فيما بينها . جميع مظلل مستقل بذاته، ويمكن إضافته أو إزالته لتعديل النتائج النهائية. عبر الجدير بالذكر حتى هذه الشجرة كجميع أيضاً قد تدعى مظلل. فالمفهوم ما زال حراً وتجده مستخدماً حتى للتعبير عن تأثير جرافيكي تام يتضمن استخدام عدة مظللات معاً لتحقيقه.
شجرة عبر المظللات للتعبير عن مادة الحجر في مينتال راي - يفترض أنت إيماج إكس إس آي
المؤثرات الرسومية باستخدام المظللات
مع ظهور المظللات اختلفت طريقة التفكير في إنجاز المؤثرات الرسومية. يتم أولاً تحليل المؤثر المطلوب، واستنباط الحسابات المكونة له. يتم تحديد المظللات المتاحة في المحرك والتي يمكن الاستفادة منها لأداء الحسابات المطلوبة أو أجزاء منها. قد يظهر أنه لا يوجد مظلل قادر على إنجاز جزء معين عبر الحسابات المطلوبة، عندها يلجأ إلى كتابة هذا المظلل وإضافته إلى مخطة المظللات المتاحة عبر قبل المحرك. بعد ذلك، يتم هجريب المظللات مع بعضها لتمثل الحسابات المطلوبة للتأثير المرغوب. حديثاً يتضمن تقييم جودة المحرك ثلاثي الأبعاد مدى شمولية مخطة مظللاته.
طريقة تعامل المحركات مع المظللات
بسبب الطبيعة المرنة للمواد المبنية باستخدام المظللات، وحقيقة حتى هذه العمليات يجب حتى يتم تطبيقها على جميع بكسل عبر الصورة النهائية، فإذا الحاجة قد برزت لإيجاد طرق لتسريع تطبيق هذه المظللات. كمثال، لجميع مادة، يتم تشكيل النص التام والمكون عبر الأقسام المتنوعة المشجميعة لجميع مظلل على حدة (مكتوبة بلغة مظللات ريندر مان)، ومن ثم يتم ترجمة هذا النص إلى تعليمات بلغة الآلة قبل تطبيقه بشجميع سريع على جميع البكسلات التي يتم معالجتها. هذه الطريقة متبعة في جميع عبر ريندر مان ومينتال راي (التفاصيل التامة للعملية أكثر تعقيداً مما تم شرحه هنا - انظر المصادر). الفكرة تكمن في محاولة تفادي جميع العمل الذي يمكن إنجازه مرة واحدة فقط. الوضع مشابه أيضاً في حالة المظللات الفورية (انظر في الأسفل)، إلا حتى الموضوع ليس اختيارياً أساساً.
مقارنتها مع المظللات الفورية
لقد منح ظهور وتطور معالجات الرسوميات تطبيق المظللات المخصصة على هذه المعالجات طالما حتى هذه المظللات تحترم مجموعة معينة عبر القيود (تختلف عبر جيل عبر المعالجات إلى آخر). إذا مفهوم المظلل الفوري بدأ عبر المفهوم الأساسي للمظلل، إلا أنه أصبح أكثر تعميماً كذلك. فالمظلل الفوري هو ببساطة أي كود مخصص يتم تطبيقه على المعالج الرسومي. عبر هنا نرى أنه بالإضافة للمظللات التي تعمل على البكسلات، فإنه يوجد أيضاً مظللات تعمل على النقاط (vertices)، ومؤخراً مظللات تعمل على مستوى المجسم كجميع، لديها إمكانية تعريف واستحداث مضلعات جديدة ضمن عملية الرسم. حتى الآن، فإذا القابلات البرمجية للمظللات الفورية (كدايركت ثري دي وأوبن جي إل) تستقبل فقط نصوصاً تامة مكتوبة بصيغة خاصة تعبر عن تام برنامج المظلل. هذا الوضع يختلف عن الفكرة الأساسية الموجودة في مظللات ريندر مان. إذا القيود المفروضة على المظللات الفورية ناتجة بسبب طبيعة عملها. إذ حتى المشاهد المرسومة بهذه المظللات يجب حتى تتم خلال أجزاء صغيرة عبر الثانية للحفاظ على سلاسة الحركة ضمن المشهد الفوري. لذا نرى الكثير عبر المعالجات الفورية تقدم عدداً محدوداً عبر التعليمات الممكن تطبيقها ضمن هذه المظللات، كما أنها قد تعمل بدقة رقمية غير تامة لتسريع الأداء . المظللات التي تعمل ضمن محركات الرسم للإنتاج عالي الجودة لا تملك هذه القيود لحتى رسم الكوادر غير محصور بزمن قصير كذلك في حالة الرسم الفوري.
أمثلة
مظلل لسطح معدني بلغة تظليل ريندرمان
surface metal(float Ka = 1; float Ks = 1; float roughness = 0.1;) { normal Nf = faceforward(normalize(N), I); vector V = - normalize(I); Oi = Os; Ci = Os * Cs * (Ka * ambient() + Ks * specular(Nf, V, roughness)); }
مظلل مينتال راي لتلوين متدرج على سطح مستمر بلغة سي++
DLLEXPORT miBoolean Ramp(miColor *result, miState *state, struct Ramp *paras) { result->r = result->g = result->b = 0; result->a = 1; int direction = (int)*mi_eval_integer(&paras->direction); miColor color1 = *mi_eval_color(&paras->color1); miColor color2 = *mi_eval_color(&paras->color2); miScalar sharpness = *mi_eval_scalar(&paras->sharpness); miScalar coord = *mi_eval_scalar(&paras->coord); miScalar s = (sharpness * 0.4999); miScalar uC = (state->tex_list[0].x) + (-coord + 0.5); miScalar vC = (state->tex_list[0].y) + (-coord + 0.5); if (uC > 1) uC = 1; if (uC < 0) uC = 0; if (vC > 1) vC = 1; if (vC < 0) vC = 0; switch(direction) { case 0: result->r = XMIX(color1.r, color2.r, uC); result->g = XMIX(color1.g, color2.g, uC); result->b = XMIX(color1.b, color2.b, uC); break; case 1: result->r = YMIX(color1.r, color2.r, vC); result->g = YMIX(color1.g, color2.g, vC); result->b = YMIX(color1.b, color2.b, vC); break; default: result= 0; } return miTRUE; }
مظلل فوري لعكس لون إكساء بلغة التجميع لدايركت ثري دي 9
ps_2_0 def c0, 1, 0, 0, 0 dcl t0.xy dcl_2d s0 texld r0, t0, s0 add r0, -r0, c0.x mov oC0, r0
المصادر
  1. ^ Anthony A. Apodaca, Larry Gritz: Advanced RenderMan: Creating CGI for Motion Picture, 1st edition, Morgan Kaufmann Publishers Inc, ISBN أ-55860-61ذ-1
  2. ^ قابلة ريندر مان The RenderMan Interface نسخة محفوظة 16 يونيو 2016 على مسقط واي باك مشين.[وصلة مكسورة
  3. ^ خصائص مظللات مينتال راي نسخة محفوظة 01 يوليو 2008 على مسقط واي باك مشين.[وصلة مكسورة
  4. ^ الدقة الرقمية في المظللات الفورية عبر الجيل الثالث ضمن مواصفات دايركت ثري ديتسعة نسخة محفوظةثمانية يوليو 2008 على مسقط واي باك مشين. "نسخة مؤرشفة". Archived from the original on 19 مايو 2016. اطلع عليه بتاريخ 12 يوليو 2018. صيانة CS1: BOT: original-url status unknown (link)
مجلوبة عبر "https://ar.wikipedia.org/w/index.php?title=مظلل&oldid=50662599"
السابق
أفضل منصات تداول العملات الرقمية من حيث سهولة الاستخدام (للمبتدئين)
التالي
لمحة تعريفية بالصراف الآلي الخاص بعملة البيتكوين "Bitcoin ATM" وكيفية العثور عليه

0 تعليقات

أضف تعليقا

اترك تعليقاً