بكسلة

تصغير|يسار|300px

**البكسلة** أو **تسطير الشاشة** أو **المسح المجالي** (بالإنجليزية: Rasterization) هي مهمه تحويل الصورة الممثلة بالرسوميات المتجهية إلى صورة نقطية ممثله بالبكسلات (مبكسلة) لكي يتم عرضها علي الشاشة أو يتم طباعتها أو حتي تخزينها.

## مقدمة
تصغير|صورة بيانية نقطية

أن المصطلح «بكسلة» يمكن أن يطلق عموما علي أي عملية يتم فيها تحويل المعلومات من صورتها المتجهية إلى صورة نقطية (مبكسلة).

ويطلق المصطلح عادة علي خوارزمية تصيير مشهورة لعرض الأشكال الثلاثية الأبعاد علي الحاسوب. كما تعد البكسلة الآن أشهر التقنيات المستخدمة لإنتاج وإخراج الرسوميات ثلاثية الأبعاد في الزمن الحقيقي. فتطبيقات الزمن الحقيقي تحتاج الاستجابة اللحظية لمدخلات المستخدم، وليس هذا فقط بل وإخراج الصور بمعدل 25 صورة في الثانية علي الأفل للحصول علي حركة سلسة وواقعية.
بالمقارنة مع تقنيات التصيير الأخرى كتقنية تتبع الأشعة، تعتبر تقنية البكسلة سريعة جدا. علي الرغم من أن البكسلة ببساطة هي عملية حساب التحويل من الأشكال ثلاثية الأبعاد في المشهد إلى بكسلات يمكن تمثيلها في صورة. كما أن هذه التقنية لا تفترض طريقة محددة لحساب ألوان هذه البكسلات المنتجة. أنما عملية التظليل بما فيها عملية التظليل القابلة لإعادة البرمجة هي التي يتم فيها حساب ألوان هذه البكسلات والتي ربما تعتمد علي طبيعة الضوء الفيزيائية في المشهد أو حتي أغراض فنية.

أن عملية بكسلة المجسمات ثلاثية الأبعاد إلى مسطحات ثنائية البعد لكي يتم عرضها علي شاشة الحاسوب غالبا ما تتم عن طريق وظائف معده مسبقا في العتاد ضمنيا في ماسورة الرسوميات. وهذا بسبب أنه لا يوجد داعي إلى تعديل طريقة البكسلة المضمنة في العتاد مسبقا مما يسمح بأداء اقوي.

## طريقة العمل

أن أكثر خوارزميات البكسلة سهولة هلي التي تأخذ مشهدا ثلاثي الأبعاد، ممثلا في مضلعات، وتصير هذا المشهد إلى سطح ثنائي البعد، وعادة يكون هذا السطح هو شاشة الحاسوب. تمثل هذه المضلعات كمجموعة من المثلثات. هذه المثلثات تتكون كل واحدة منها من ثلاث نقاط في فراغ ثلاثي الأبعاد. وفي ابسط مستوي، يقوم البرنامج الذي يتولى بكسلة المشهد بأخذ سيل من النقاط، وتحويلها إلى هيئة ثنائية البعد (البكسلات) المماثلة وإظهارها علي شاشة المستخدم وملئ المثلثات ثنائية البعد الناتجة كما تتطلب الضرورة.

## التحويل
التحويل (transformation) عادة يتم باستخدام ضرب المصفوفات، وقد تُستخدِم أيضاً الرباعيات (quaternions). إن طرق التحويل تتضمن بشكل أساسي عمليات تحويل الإزاحة (translation) والدوران (rotation) والتحجيم (scaling) والإسقاط (projection). يتم عادة استخدام متجهات مكونة من أربعة عناصر، حيث يتم ضرب هذه المتجهات مع أي مصفوفة رباعية مربعة والتي تحتوي على قيم التحويل. وللحصول على المتجه الرباعي، نقوم بتعديل المتجه الثلاثي الذي يمثل أي رأس من رؤوس المثلث وذلك بإضافة مكون رابع إلى المتجه (ويطلق على المتغير الرابع: متغير التجانس homogeneous variable). الإزاحة تُعبر عن حركة وانتقال نقطة من مكانها الأصلي إلى أي مكان آخر في الفضاء وذلك بمقدار إزاحة ثابت، ويمكن التعبير عن مصفوفة الإزاحة باستخدام المصفوفة الآتية:

: 
\begin{bmatrix}
1 & 0 & 0 & X \\
0 & 1 & 0 & Y \\
0 & 0 & 1 & Z \\
0 & 0 & 0 & 1
\end{bmatrix}


حيث X و Y و Z هي قيم مقدار الإزاحة في كل اتجاه على الترتيب. التحجيم هو أحد طرق التحويل التي يتم فيها ضرب متجه يمثل إحداثي رأس من رؤوس أي مثلث باستخدام قيمة تحجيم محددة، ويتم تحجيم إحداثي الرأس نسبة لنقطة الأصل، ويتم تمثيل التحجيم بالمصفوفة الآتية:

: 
\begin{bmatrix}
X & 0 & 0 & 0 \\
0 & Y & 0 & 0 \\
0 & 0 & Z & 0 \\
0 & 0 & 0 & 1 
\end{bmatrix}


حيث قيم التحجيم لكل اتجاه هي X و Y و Z على الترتيب، ويمكن الحصول على تحجيم غير متماثل بتغيير قيم التحجيم لتكون مختلفة في كل اتجاه. الدوران هو عملية يتم فيها تدوير أي رأس أو نقطة حول محور معين باستخدام إحدى مصفوفات الدوران الآتية حسب كل محور:- للدوران حول المحور X:

: 
\begin{bmatrix}
1 & 0 & 0 & 0 \\
0 & \cos{\theta} & -\sin{\theta} & 0 \\
0 & \sin{\theta} & \cos{\theta} & 0 \\
0 & 0 & 0 & 1 \\
\end{bmatrix}


للدوران حول المحور Y:

: 
\begin{bmatrix}
\cos{\theta} & 0 & \sin{\theta} & 0 \\
0 & 1 & 0 & 0 \\
- \sin{\theta} & 0 & \cos{\theta} & 0 \\
0 & 0 & 0 & 1 
\end{bmatrix}


للدوران حول المحور Z:

: 
\begin{bmatrix}
\cos{\theta} & -\sin{\theta} & 0 & 0 \\
\sin{\theta} & \cos{\theta} & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1 
\end{bmatrix}


حيث θ هي زاوية الدوران في كل من المصفوفات الثلاث السابقة. إن سلسلة من عمليات التحويل باستخدام مصفوفات الإزاحة والتحجيم والدوران يمكنها أن تُعبر عن أغلب عمليات التحويل. إن التقنيات والأنظمة التي تطبق التسامت تستخدم مفهوم مكدس التحويلات وذلك لتحويل مجموعة من الرؤوس إلى أماكنهم الصحيحة وإلى اتجاههم الصحيح. إن مكدس التحويلات هو مكدس قياسي يتم فيه تخزين مصفوفات التحويل، ويتم ضرب كل الرؤوس المدخلة في مكدس المصفوفات. كمثال توضيحي على استخدام مكدس التحويلات: تخيل مشهد بسيط يحتوي على نموذج مجسم لإنسان، حيث يقف هذا الشخص باتجاه محدد ولكن رأسه تنظر في اتجاه آخر، ويقف هذا الشخص في مكان محدد بإزاحة محددة عن نقطة الأصل. إذن فلدينا مجموعة من الرؤوس التي إذا حُملت فإنها ستمثل مجسم هذا الشخص. أولا: مصفوفة الإزاحة قد تستخدم ويتم إدخالها في المكدس وذلك لكي يتحرك الشخص ليصبح في المكان الصحيح، ومصفوفة التحجيم أيضاً سيتم إدخالها إلى المكدس وذلك لتحجيم نموذج الشخص بالحجم المناسب، وأيضاً سيتم إدخال مصفوفة الدوران حول المحور الرأسي Y وذلك ليتم تدوير المجسم في الاتجاه الصحيح، ثم سيتم إرسال فيض الرؤوس التي تُكون نموذج جسم هذا الشخص لإكمال عملية التسامت. ولكن ولأن نموذج رأس الشخص ينظر في اتجاه مختلف، سيتم إزالة مصفوفة الدوران من المكدس، وسيتم إدخال مصفوفة أخرى بزاوية دوران مختلفة حول المحور الرأسي Y أيضاً، وأخيراً سيتم إرسال مجموعة الرؤوس أو النقاط التي تمثل رأس هذا الشخص لإكمال عملية التسامت عليها. بعد أن يتم تحويل كل النقاط في الفضاء الثلاثي ويتم وضعهم في المكان الصحيح بالنسبة للناظر، يجب أن يتم تحويلهم إلى صورة ثنائية البعد تتمثل في مستوى أو سطح ثنائي، وهذا التحويل يتم عن طريق تحويل الإسقاط (projection). إن أبسط أنواع الإسقاط هو الإسقاط المتوازي (orthographic projection) وهو ببساطة عبارة عن إزالة قيمة العنصر Z لكل الرؤوس ثلاثية الأبعاد التي تم تحويلها، ويتميز الإسقاط المتوازي بأن كل الخطوط التي كانت متوازية في المجسم أو المشهد في الفضاء الثلاثي البعد ستظل أيضاً متوازية بعد تحويلها وتمثيلها على سطح ثنائي البعد. ولكن الصور الحقيقية ليست كذلك فهي ذات شكل منظوري حيث أن الأجسام الموجودة في الصورة والتي تظهر وكأنها داخل عمق الصورة تظهر بشكل أصغر من الأجسام القريبة من الناظر. ولذلك فنحن نحتاج لنوع آخر يسمى الإسقاط المنظوري أو الفراري (perspective projection) ليتم تطبيقه على هذه النقاط. مفهوم الفكرة يكمن في تحويل مجال (حجم) الرؤية المنظوري (perspective viewing volume) ليصبح مجال الرؤية المتعامد (orthogonal). مجال الرؤية المنظوري هو جذع هرم (frustum) والذي يُمثل بشكل هرمي مقطوع في أعلاه. في المقابل نجد أن مجال الرؤية المتوازي (orthographic viewing volume) هو شكل مربع يشبه الصندوق حيث فيه المضلع الأمامي (القريب) والخلفي (البعيد) near and far planes متوازيان تماماً مع مستوى سطح الصورة التي يتم عرضها بداخله. يمكن تمثيل مصفوفة تحويل الإسقاط المنظوري كالآتي:

: 
\begin{bmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & (N+F)/N & -F \\
0 & 0 & 1/N & 0 
\end{bmatrix}


حيث تمثل F مسافة السطح البعيد (الخلفي) وتمثل N مسافة السطح القريب (الأمامي). إن المتجه الرباعي الناتج بعد تحويله (بعد أن يتم ضربه) بهذه المصفوفة سيحتوي على قيمة في المتغير المتجانس لا تساوي الواحد الصحيح، وإذا قمنا بمعالجة المتجه لنعيد تجانُسُه مرة أخرى أو قمنا بضربه بمعكوس قيمة متغير المتجانس، فسيصبح المتغير متجانساً بقيمة الوحدة وسيتنج لدينا متجه يمثل الإحداثي ثنائي البعد لقيم X و Y النهائية.

## القص
بمجرد أن يتم تحويل رؤوس المثلثات من فضاء العالم الثلاثي الأبعاد لتصبح مجرد إحداثيات ثنائية، فإن بعضاً من هذه الإحداثيات قد يقع خارج حدود نافذة الرؤية أو خارج المنطقة التي تظهر فيها هذه النقاط أو الرسوميات على الشاشة. فنستخدم تقنية القص (clipping) حيث في هذه العملية يتم حذف كل المثلثات والنقاط التي تقع خارج حدود منطقة الرؤية بحيث لا يتم رسم أي نقاط إلا التي تقع ضمن حدود نافذة (منطقة) الرؤية. ساذرلاند-هودجمان Sutherland-Hodgeman هو أحد خوارزميات القص الأكثر شيوعاً، والذي يعمل كالآتي: يتم اختبار كل حافة من حواف مستوى سطح الصورة في كل مرة. ثم يتم اختبار كل النقاط المتوقع رسمها وتصييرها مع كل حافة، فإذا كانت إحدى هذه النقاط تقع خارج الحافة فسيتم حذفها وتجاهلها (إزالتها). بالمثل يتم اختبار كل حافة من حواف المثلثات والتي تتقاطع مع أي من حواف مستوى سطح الصورة، وهنا نرى أن نقطتي حافة المثلث تقع إحداهما خارج مستوى سطح الصورة فيتم إزالتها والأخرى داخل مستوى الصورة فيتم تمريرها.

## التحويل المسحي
الخطوة الأخيرة في عملية التسامت بشكلها القياسي يتم فيها ملء المثلثات الثنائية الإحداثيات والموجودة في مستوى سطح الصورة الثنائي البعد، ويطلق على هذه الخطوة أيضاً «التحويل المسحي» (scan conversion). إن أول مشكلة تتبادر إلى أذهاننا في هذه المرحلة هي: هل نقوم برسم البكسل الحالي أم لا؟ حيث أنه لكي يتم رسم وإظهار أي بكسل، فإنه يجب أن يتواجد ضمن أي من المثلثات، ولا بد ألا يتم حجبه (occluded) عن طريق بكسل أو مثلث أخر. إن خوارزم خط المسح (scanline) هو أحد أشهر الخوارزميات الشائعة في عملية التحويل المسحي (لفحص وملئ البكسلات داخل مثلث محدد). ولأنه من الصعب أن نعرف إذا كان المُسامِت سيقوم برسم البكسلات من الأمام للخلف، فلابد من وجود طريقة أكثر تحديداً لضمان أن البكسلات التي يتم رسمها في الأمام، التي تمثل الأشياء الأقرب إلى الناظر، لن يتم استبدالها ورسم البكسلات البعيدة مكانها، ولحسن الحظ فإن هناك بعض التقنيات التي تحل هذه المشكلة وأشهرها تقنية مخزن العمق (Z-buffer)، ومخزن العمق هو عبارة عن مصفوفة قيم ثنائية البعد تناظر تماماً في حجمها حجم مستوى سطح الصورة، ولكن يتم تخزين قيم العمق لكل بكسل في هذه المصفوفة، وعندما يتم رسم أي بكسل لأول مرة فإنه يقوم بتحديث قيمة العمق المناظرة له في مخزن العمق، وعند رسم أي بكسل فإنه يتم اختبار قيمة العمق الخاصة به مع قيمة العمق المخزنة حالياً في المكان المناظر له في مخزن العمق، وبالتالي فإن البكسلات الأقرب في الأمام (للناظر) سيتم رسمها بينما يتم تجاهل البكسلات الأبعد. لكي نرسم بكسل معين فإننا نحتاج لمعرفة لون هذا البكسل، وهنا نستخدم تقنيات التظليل وحسابات قيم الإكساءات (textures). ولتحديد مظهر أي مثلث فإننا نقوم بتطبيق وتوصيف خريطة بكسلات لونية (صورة نقطية) يطلق عليها خريطة إكساء (texture map)، حيث يتم ربط وتوصيف كل رأس من رؤوس المثلث مع الإكساء بوسطة ما يسمى بـ احداثيات الإكساء texture coordinate (u, v) وذلك في حالة استخدام الإكساءات الثنائية، ويتم تخزين قيم إحداثيات الإكساء مع كل رأس من رؤوس المثلث بجانب الإحداثي الفراغي الخاص به. عندما نقوم برسم بكسل معين فإننا نقوم أولاً بإيجاد لون البكسل المناظر له من الإكساء (عُنساء texel)، حيث نقوم بعمل استيفاء بين القيم اللونية من خريطة الإكساء لرؤوس المثلث الثلاثة التي يقع فيها هذا البكسل وذلك بحساب المسافة بين هذا البكسل والمسافة بين البكسلات الخاصة بكل رأس من رؤوس المثلث. يتم هذا الاستيفاء في حالة الإسقاط المنظوري بطريقة مختلفة قليلاً حيث يتم الاستيفاء بين إحداثيات الإكساء وبقسمة كل منهم بقيمة العمق الخاصة بهذا الرأس، وذلك للتخلص من مشكلة تشويه تسمى بـالتشوه المنظوري perspective foreshortening (في عملية تسمى بـالإكساء المنظوري perspective texturing). لون البكسل النهائي يتأثر أيضاً بحسابات الضوء (lighting) والتي يجب أن تتم للتعديل على قيمة البكسل اللونية حيث يتم تظليل البكسل، ويتأثر ذلك بكمية الضوء المتواجدة في المشهد. أنواع الضوء التي قد تتواجد في أي مشهد بشكل عام ثلاثة أنواع: (1) ضوء اتجاهي (directional light) ويعبِر عن الضوء الذي يأتي من اتجاه واحد وتكون شدة الضوء فيها ثابتة في المشهد كله حتى لو بعدت المسافة، فمثلاً ضوء أشعة الشمس في حياتنا العادية يقترب جداً من كونه ضوء اتجاهي، حيث أن الشمس والتي هي بعيدة جداً تبعث أشعة الضوء والتي تظهر متوازية لمن يراقب وينظر إلى الأرض، وتكون قيمة هبوط شدة الضوء (falloff) صغيرة جداً ومُهملة. (2) ضوء نقطي (point light) ويعبر عن الضوء الذي له مكان محدد في الفراغ وتنبعث الأشعة منه في كل الاتجاهات، ويتأثر الضوء النقطي بظاهرة الاضمحلال (attenuation) حيث أن شدة الضوء تهبط كلما ابتعدنا عن مكان مصدر الضوء. لاحظ أن مصادر الضوء في حياتنا تهبط شدتها بمعدل تربيعي بالتناسب مع المسافة. (3) ضوء بُقعي (يشبه ضوء الكشاف) spotlight وهو عبارة عن ضوء له مكان واتجاه محدد في الفراغ وله زاوية تحدد المخروط الذي يمثل بقعة الضوء. النوع الأخير من أنواع الضوء يسمى الضوء المحيطي (ambient) وهو عبارة عن قيمة ثابتة تضاف لحسابات الضوء للتعويض عن تأثير الإنارة العامة (global illumination) والتي لا تستطيع عملية التسامت العادية محاكاتها وحسابها بطريقة دقيقة وصحيحة. هناك العديد من خوارزميات التظليل المستخدمة في محركات المُسامتة (المحركات التي تقوم بعملية التسامت)، وكل هذه الخوارزميات تعتمد على المسافة بين الجسم (object) المراد تظليله (إضاءته وتلوينه) وبين مصدر الضوء وتعتمد أيضاً على الناظم (متجه الوحدة العمودي) normal vector للجسم المراد تظليله نسبة إلى اتجاه الضوء. الخوارزم الأسرع والمعروف بـالتظليل المسطح (flat-shading) يقوم بتظليل كل البكسلات التابعة لمثلث محدد بقيمة ضوئية ثابتة. وبالتالي لا يمكن إنشاء أسطح ذات مظهر ناعم بهذه الطريقة إلا لو قمنا بتقسيم الكائنات في المشهد لتتكون من مثلثات صغيرة جداً وكثيرة. هناك خوارزم آخر يسمى تظليل غوروه (Gouraud shading) ويقوم هذا الخوارزم بتظليل رؤوس المثلثات بشكل منفصل، فعندما يتم رسم البكسلات، يقوم باستيفاء القيمة الضوئية من الرؤوس. أما الخوارزم الأكثر دقة وبطئاً فيقوم بحساب القيمة الضوئية لكل بكسل منفصل على حدة والتي تعرف باسم تظليل فونغ، حيث يستخدم نوع استيفاء خطي ثنائي (bilinear interpolation) للنواظم ويُستخدم الناتج لحساب القيمة الضوئية اللونية مَحلياً.

## تقنيات للتسريع وتحسين الاداء
للحصول على أعلى أداء من أي مُسامِت (محرك يقوم بعملية التسامت)، يجب أن نقلل من عدد المضلعات التي يتم إدخالها للمُصيير. هناك العديد من تقنيات تحسين الأداء التي طورت عبر السنين لإعدام (cull out) الأجسام التي لا يمكن رؤيتها.

## إعدام الوجوه الخلفية
إن أبسط طريقة لتجاهل وإعدام المضلعات هي بإزالة المضلعات الغير مرئية التي تقع في الجهة البعيدة من الناظِر، ويطلق على هذه العملية: إعدام الوجوه الخلفية (backface culling). وحيث أن أغلب المجسمات هي مجسمات مُغلقة مُصمتة بشكل كامل، فإن المضلعات الخلفية والبعيدة عن الناظِر سيتم دائماً تغطيتها بالمضلعات الأمامية والتي تُواجِه الناظِر إلا إذا كان الناظر ينظر من داخل هذه المجسمات. يتم عادة تحديد وجهة أي مُضلع (facing) عن طريق الطواف (winding) ويمثل الترتيب الذي يتم فيه إرسال الرؤوس إلى المُصيير. ويَستخدم المُصيير طواف يدور عكس عقارب الساعة أو معها (طواف عكسي) لتحديد وجهة المضلع: أمامي أم خلفي؟ front or back facing. ثم يتم رسم المضلع فقط إذا كانت وجهته تواجه اتجاه الناظِر ويتم هذا الاختبار بعد أن يتم تحويل المضلع ليصبح في فضاء الشاشة (screen space). لاحظ أن تقنية «إعدام الوجوه الخلفية» لا يتم تطبيقها على المثلثات المتراكبة (degenerate) أو التي تقع ضمن حجوم غير مغلقة.

## هياكل البيانات المكانية (spatial data structure)
هناك بعض التقنيات المتقدمة والتي تستخدم هياكل البيانات وذلك لتجاهل وإعدام أي مجسمات تقع خارج مجال الرؤية أو التي قد يتم حجبها بواسطة مجسمات أخرى أقرب. إن أشهر هياكل البيانات المستخدمة لهذا هي: تقسيم فراغي ثنائي (binary space partitions) والشجرة الثمانية (octree) والتجاهل بواسطة البوابات والخلايا (cell and portal culling).

## تحسينات إضافية
برغم أن عملية التسامت معروفة منذ زمن إلا أن التطبيقات الحديثة ومع مرور الأيام تحاول أن تطبق بعض التحسينات والإضافات لزيادة مرونة وإمكانيات محرك التصيير والتسامت.

## ترشيح الإكساء
يتم إنشاء الإكساءات بدقة محددة، ولكن ولأن الإكساءات قد يتم تطبيقها على أي سطح أو مضلع قد يبعد أي مسافة من الناظِر، وبالتالي فإن الإكساء قد يظهر بأحجام مختلفة أثناء عرضه في الصورة النهائية للمشهد، ونتيجة لذلك، فإن بكسل واحد على الشاشة قد لا يتم توصيفه من خلال تكسل واحد من الإكساء. لذلك فإن بعض تقنيات ترشيح الإكساءات (texture filtering) قد يتم تطبيقها للحصول على صورة واضحة أثناء عرضها عند أي بعد من الناظِر، وهناك بعض الطرق المستخدمة لذلك والتي عادة تتناسب فيها الدقة مع تعقيد الحسابات المستخدمة في عملية الترشيح.

## إكساء البيئة
إكساء البيئة (environment mapping) هو أحد طرق توصيف الإكساءات بحيث أن قيم إحداثيات الإكساء تعتمد على مكان الناظِر. أحد أكثر التطبيقات شيوعاً على سبيل المثال عندما نريد محاكاة الانعكاسات (reflection) الموجودة على أجسام لامعة. وقد يقوم أحد الأشخاص مثلاً بإنشاء خريطة إكساءات بيئية للبيئة الداخلية لغرفة ما، ويقوم بتطبيق الإكساء على كأس موجود في وسط الغرفة ومكون من خامات مادة معدنية (metal material)، فعندما يتحرك الشخص داخل الغرفة حول الكأس فإن إحداثيات الإكساء الخاصة برؤوس الكأس تتحرك بالتبعية مما يعطي مظهر الانعكاس المعدني.

## إكساء النتوءات
إكساء النتوءات (bump mapping) هو أحد الطرق الأخرى لتوصيف الإكساءات، حيث أن الإكساء في هذه الحالة لا يقدم قيم لونية للبكسلات، بل يقدم قيم تمثل عمق البكسلات عندما يتم تطبيقها على المسطحات والمضلعات، وبشكل خاص قد يُستخدم إكساء النتوءات مع بعض مظللات البكسلات (pixel shaders) لإنشاء إحساس يقدم مظهر خشونة المسطحات (roughness) بشكل يعتمد على الضوء وذلك لإضفاء مزيد من الواقعية وتحسين المظهر.

## مستوى التفصيل
يزداد عدد المضلعات الموجودة في الكثير من مشاهد التطبيقات الحديثة، ولكن الناظر قد يحتاج فقط لأن يرى تفاصيل الأجسام القريبة منه وليس هناك داعي (يسبب عبئاً) لإظهار الأجسام البعيدة بدرجة تفصيل عالية، إن خوارزم التحكم في مستوى تفصيل وتعقيد المجسمات (level of detail) يقوم بالتعديل على تعقيد شكل المجسمات، بحيث يتغير ذلك كـتابع (function) يعتمد على المسافة بين الجسم والناظِر. فالأجسام القريبة جداً يتم إظهارها بأعلى مستوى من التفصيل ويتم تعديل مستوى التفصيل كلما ابتعدنا بشكل ديناميكي، والأجسام البعيدة جداً قد تُستبدل كلية ببعض الأشكال الشبحية (sprites).

## الظلال
إن حسابات الضوء في عملية التسامت التقليدية لا تأخذ بعين الاعتبار تغطية وحجب الأجسام. هناك طريقتين شائعتين في التطبيقات الحديثة لإنشاء الظلال وتوصيفها وهما إكساء الظلال (shadow mapping) وحجوم الظلال (shadow volumes).

## تحسين الأداء باستخدام العتاد
في بداية التسعينيات، ظهرت مُسرعات الأداء والتي أصبحت متاحة لمستخدمي أجهزة الحاسوب المنزلية بشكل عادي، وبينما كان مبرمجو التطبيقات الرسومية يعتمدون على كتابة أوامر منخفضة المستوى بلغة التجميع (Assembly) لتحسين أداء تطبيقاتهم، فإن أغلب البرامج الحديثة تُكتب الآن وتتخاطب مع بعض الواجهات (interfaces) ضمن مجموعة من الواجهات المخصصة (APIs) لتقديم خدمات للاستفادة من إمكانيات الرسوميات المتاحة، والتي بدورها تُدير وتتحكم في معالج الرسوميات (GPU). تقدم معالجات الرسوميات الحديثة والمتاحة هذه الأيام، الدعم لمظللات البكسلات القابلة للبرمجة والتي توفر للمبرمج الكثير من المرونة. ويستمر التطوير في هذا الاتجاه ليصبح خط إنتاج الرسوميات قابل للبرمجة بشكل كامل.

## انظر أيضا

* استبأنة (تصوير)
* تصوير
* كاميرا رقمية

## المصادر

## روابط خارجية

* Michael Abrash’s articles on computer graphics
* [Microsoft’s DirectX API](https://msdn.microsoft.com/en-us/library/windows/desktop/ff476882(v=vs.85).aspx)
* OpenGL API
* Matrices (including transformation matrices) from MathWorld
* Rasterization, a Practical Implementation 

تصنيف:تظليل
تصنيف:رسوميات حاسوبية ثلاثية الأبعاد
تصنيف:رسوميات الحاسوب
تصنيف:فيديو
تصنيف:مؤثرات بصرية
تصنيف:مصطلحات التلفزة