1 المظللات والتأثيرات
حيث هنا 0087 ينص على أن الشعاع يُستعمل من أجل وصف لون رأس الخرج.
سنتحدث أكثر حول معرقات الاستعمل المتاحة لاحقاً في الفصلين التاليين عند دراسة
مظللات الرؤوس والعنصورات.
من منظور منخفض لمستوى؛ اقوم صيغة المعنى بربط أي متحول في
قه المظلل بمسجل ميم في العتاد. أي أن متحولات الدخل ربط مع
مسجلات الدخل وتربط متحولات الخرج مع مسجلات الخرج. على سبيل
المثال؛ يتصل الحقل في البنية 17ر5 بمسجل مكان رأس الدخل؛
وبشكل مشابه يتصل .»د مع مسجل لون معين لرأس الخرج.
3 تابع نقطة الدخول
لكل برنامج 52م (كما في برنامج بلغة ++ح) نقطة دخول. في مثالنا حول مظلل
يأخذ تابع نقطة الدخول في مظلل أي اسم مقبول كاسم تابع. يجب أن يكون لتابع نقطة
الدخول وسيطاً هو بنية الدخل ولذي يُستخدم لتمرير رأس الدخل إلى المظال؛ كما يجب
على تابع نقطة الدخول أن يعيد بنية خرج والتي فيها يوجد الرأس المعالج من قبل
(عنممة 15_210107) متقلا 125-00121077
في الواقع؛ ليس من الواجب استخدام بنيتا دخل وخرج. على سبيل لمثال؛
,150660800 : عفقط #عدماك م1) ملميا فعدماء
,2270600801 : عضضع 2عفماء عد
يفقم < (2م00عاد ب ع 2عمم ك6 عد
حيث تكون الوسطاء دخلا للمظلل (في مثالنا المذكور تقوم بإدخال ثلاث
ذلك من خلال الصيغة 0.08- التي تلي رأس التابع. إن هذا التعريف
,2:00 : موقط #عدماء
6 مدخل إلى لغة التظليل عالية المستدى 5
226000801 © عدم #عدماء
(2000802 :ع 2عدماء
بمتقه باه 4عدماء
(عناضمة 17هاا2) مخفلا 007207
إن جسم تابع نقطة الدخول مسؤول عن حساب رأس الخرج اعتباراً من رأس الدخل.
يقوم المظلل في هذا المثل بتحويل رأس الدخل إلى فضاء العرض وفضاء الإسقاط
ويجعل لون الرأس أزرق؛ ويعيد الرأس الناتج. ألا انقوم ابإشاء نسخة من
ثم يجري المظلل تحويلا نقطياً لمكان رأس الدخل من خلال ضربه بالمتحول
#اتاماازهعاا باستخدام التابع إن«؛ الذي هو تابع ضمني يمكنه ضرب شعاع
بمصفوفة وضرب مصفوفة بمصفوفة. نحفظ الشعاع الناتج عن التحويل النقطي في حقل
الموضع ضمن بنية الخرج:
بعد ذلك نضع في حقل اللون المنتثر ضمن يديره القيمة علنا8:
سه - ممضعلة عن
وأخيراً نعيد الرأس الناتج:
2 ترجمة مظلل مكتوب بلغة ااي
1 جدحول الثوابت
يوجد لكل مظلل جدول ثوابت يستخدم لتخزين متحولاته. توفر المكتبة 030:8 لتطبيقا
إمكانية الولوج إلى جدول ثوابت المظلل من خلال الواجهةً عاطة017ه1ئ0ه030(6ا.
يمكننا بواسطة هذه الواجهة تحديد قيم المتحولات الموجودة في الشيفرة لمصدرية
15 المظللات والتأثيرات
سنورد الآن لائحة مختصرة بالمناهج التي تحققها الواجهة عاطه1030:600:18017. من
أجل الحصول على اللاتحة الكاملة بهذه المناهج راجع وثائق 0::8630.
6-1 : الحصول على مقيف لثابت
من أجل تحديد قيمة متحول معين في المظلل من خلال شيفرة
للرجوع إليها. يتم الرجوع إلى متحول في المظلل من قبل تطبيقنا باستخدام مقبض من
النوع عا80م030(0. يعيد المنهج التلي مقبضاً لمتحول في المظلل اعتماداً على
© 1# المقبض الذي يعرف البنية الأب التي تحوي المتحول لذي نود
الحصول على مقبض له. مثلاء إذا أردنا الحصول على مقبض لحفل معطيات وحيد
فعلينا أن نمرر مقبض البنية في هذا الوسيط. إذا كنا نريد لحصول
على مقبض لمتحول موجود في أعلى مستوى عندها نمرر قيمة 0.
© ««علام: اسم المتحول المستخدم في الشيفرة المصدرية للمظلل ولذي نود الحصول
على مقبض له.
على سبيل لمثل؛ لو كان اسم المتحول في المظلل هو 0ه 4(ه:6/؛ وكان موجوداً
في أعلى مستوى عندها نكتب:
حالما يحصل تطبيقنا على مقبض يشير إلى متحول معين في شيفرة المظلل عندها
نستطيع تحديد قيمة المتحول داخل تطبيقنا من خلال استخدام المناهج
5607 030746005100705 حيث 0ن تستبدل باسم نوع يدل على نوع المتحول
المراد تحديد قيمته. على سبيل المثال. إذا كان المتحول الذي نود تحديد قيمته هو نسق
6 مدخل إلى لغة التظليل عالية المستدى 0
من الأشعة
يذ يكون اسم المنهج /رن :م5811/8601
الصيغة العامة لمنهج 520006:عاته 1030(0051400 هي على الشكل التالي:
©086م: مؤشر إلى لجهاز المخصص لجدول الثوابت.
1:00 مقبض يشير إلى لمتحول الذي نريد تحديد قيمته.
عداه:_لقيمة التي نريد وضعها في المتحول حيث أن نر يستبدل باسم نوع
المتحول الذي نريد تحديد قيمته. بالنسبة إلى بعض الأنواع (مثل: امهط أو 8؛ أو
08ا) نمرر نسخة من لقيمة؛ وبالنسبة لبعض الأنواع الأخرى (مثل: :مهع» أو
عند تحديد قيم مصفوفات يأخذذ المنهج 500006 وسيطاً رابعاً إضافياً يحدد عدد عناصر
المصفوفة. مثلاًء يكون رأس المنهج الذي يقوم بتحديد قيمة نسق من أشعة رباعية الأبعاد
بالشكل التالي:
العام 18207300571059 120
بعماععلام +03010756104 000057
عقلاه 101107
تصف _للائحة _التالية . الأنواع التي يمكننا استخدامها من خلال الواجهة
ا030760850705]. بفرض أنه لدينا جهازاً اسمه ,0 ومقبض المتحول لذي
تحديد قيمته هو غ000
© 8)8001: يستخدم لوضع قيمة بوليان
© «ه#«هاهه08: يستخدم لوضع نسق من القيم بوليانية:
لقا المظللات والتأثيرات
© +ما18ه؟: يستخدم لوضع قيمة حقيقية:
قد - > عدم
© «ه#هامماع»: يستخدم لوضع نسق من لقيم الحقيقية:
2.7 قفد - [2اء6 عمماء
© 010 يستخدم لوضع قيمة صحيحة:
رد بعتفعمط رع 1ئر02) متعة 5< 1ظ2 0087©
© 7د10؛»: يستخدم لوضع نسق من لقيم الصحيحة:
© »0«1/ا1ء: يستخدم لوضع قيم مصفوفة 44:
بال تمجمسمده
8 «ه«ه/ء؟: يستخدم لوضع قيمٍ نسق من المصفوفات 4:4:
قزم #تممسموه
0 »ه5611/0108 يستخدم لوضع قيم نسق من مؤشرات تشير كل منها إلى
قري +تمتمسمود
© ©«م«:11/807»: يستخدم لوضع قيمة منقول مصفوفة 4:4
بال تممه
© «هعشع»م:0ه117ه/5211: يستخدم لوضع قيم نسق من منقولات لمصفوفات 4+4:
برقعلا تم تمده
6 مدخل إلى لغة لتظليل عالية المستوى لفقا
مضفطع مممتممو عمة ممعاععمه معللة تعلق 1ل
هعد عادنه0ء0م581101070: يستخدم لوضع قيم نسق من المؤشرات يشير
كل منها إلى منقول مصفوفة 4:4:
4 ]يد تيمم
سطع #مفضة مقع عضة فم اععقه مع تلمتعلمة عمة معفعم لله
0 560/600 يستخدم لوضع قيم متحول من النوع 030:0/567084:
© «ه«م»/1: يستخدم لوضع قيمة متحول عبارة عن نسق من الأشعة:
ممع معالم لفك 11
© «اه/ا): يستخدم لوضع قيمة من نوع ذو حجم غير مبين مثل بنية. مثلاً لاستخدام
عداه/50 لوضع قيمة من النوع 0300/7815 نكتب:
3 : تحديد قيم الثوابت الافترامنية
يقوم المنهج التالي بوضع الثوابت بقيمها الافتراضية؛ والتي هي القيمٍ لتي تم استخدامها في
تهيئة الثوابت عندما تم التصريح عنها. يجب استدعاء هذا المنهج مرة واحدة أثناء إعداد
عه اناعم 18207300571059 120
©م: مؤشر إلى لجهاز المخصص لجدول الثوابت.
2 ترجمة مظذل بلغة ا5ابا
يتم ترجمة مظلل بعد كتابته في ملف نصي باستخدام التابع التالي:
) لطعم 56 ع1 01 ف 03016 3017 5ط
عسقتامه ام صنظم 1261378
0 *ا:8م: اسم الملف لنصي الحاوي على الشيفرة المصدرية للمظلل الذي تريد
تحقيقها في التطبيق حتى نقوم بتجاوز سلوك التضمين الاقتراضي. على العموم إن
السلوك الافتراضي مناسب لنا لذا يمكننا تجاهل هذا الوسيط بوضع قيمة ادم فيه.
© ع«ملاصمناءدهم: سلسلة رمزية تحدد اسم تابع نقطة الدخول. مثلاً إذا كان اسم تابع
نقطة الدخول في المظلل ممم عندها نمرر السلسلة 0ه في هذا الوسيط.
© ععسدام: سلسلة رمزية تحدد إصدار المظلل الذي نريد ترجمة شيفرة اكلا
المصدرية _به. إن إصدارات مظللات الرؤوس المتاحة: 1ن و20
المعروض في أول الفصل إلى الإصدار 2.0 عندها نمرر 2_0 في هذا الوسيط.
إن القدرة على الترجمة إلى إصدارات مختلفة للمظظلات هي إحدى الفوائد
الرئيسية من استخدام لغة ىم بدلا من لغة التجميع. يمكننا من خلال
استخدام لغة ابم تصدير أي مظلل تقريباً إلى أي إصدار ببساطة عن
طريق إعادة ترجمته إلى الإصدار المطلوب؛ أما عند استخدام
فعلينا تصدير الشيفرة يدوياً.
© «يمام: عبارة عن مجموعة من أعلام خيارية للترجمة (ضع قيمة 0 لتحديد عدم
6 مدخل إلى لغة لتظليل عالية المستوى لق
وجود أعلام) الخيارات المتاحة هي:
#عنا8ع088_0م03075/4: يأمر المترجم بكتابة معلومات التنقيح.
# 1١030(511408»5007/410701:_يأمر المترجم بعدم إجراء أي فحص
# 500007102470081 03075014088: يأمر المترجم بعدم إجراء أي اختزال
للشيفرة. عملياً يستخدم هذا فقط من أجل التنقيح حيث لا ترغب أن يقوم
المترجم بتغيير الشيفرة بأي شكل كان.
0 #«لماكم: يعيد مؤشراً إلى واجهة :1030756 تحتوي على شيفرة المظلل
المترجمة. تستخدم شيفرة المظلل المترجمة هذه بعد ذلك كوسيط لتابع آخر ينشئّ
مظلل الرؤوس أو العنصورات لفعلي.
© جا«»عمم: يعيد مؤشراً إلى واجهة :0307865 تحتوي على سلسلة رمزية
فيها شيفرات ورسائل الخطأ.
0 #اطدتاصاسوعمم: يعيد مؤشراً إلى واجهة عا5ه 1030:0007 تحتوي على
معطيات جدول ثوابت هذا المظلل.
فيما يلي مثال حول استدعاء 511 2:60 :عه 165 [م030:16011:
م < م تطقع غضقع قمع وده
عع قمع +226 203050
فعقم ممتعمنع عقاوم بضعقة 1 ,"ملم"
( عه ةلمقعمعجة )12
لقان المظللات والتأثيرات
(26 قاع ضع ) < +ع 26 135216254103010 :14
3 أنواع المتحولاتة
هنالك بعض الأنواع الغرضية الضمنية في “كاب بالإضافة إلى الأنواع
الأنواع الغرضية تستخدم بشكل رئيسي فقط في إطار عمل التأثيرات لذا
أجل دراستهم إلى الفصل التاسع عشر.
1 الأنواء العلمية
0 اهمن: يأخذ قيمة ى» أو «واه؛ (لاحظ أن ص و2058 هما كلمتان محجوزتان ضمن
لغة ا5ه).
1 عدد صحيح مؤشر بعرض 32 بت.
؛اها: عدد ذو فاصلة عائمة بعرض 16 بت.
+ما؛: عدد ذو فاصلة عائمة بعرض 32 بت.
اطيمل: عدد ذو فاصلة عائمة بعرض 64 بت.
قد لا تدعم بعض الأنظمة الأنواع: »؛ ولام وءاض. في هذه لحالة يتم
استخدام الوح بدي دلا مفتها.
2 أنوا الأشعة
يوجد في لغة ىم أنواع الأشعة الضمنية التالية: