الشبكة العربية لمطوري الألعاب

خبير  أحمد عزالدين مشاركة 1

السلام عليكم

ممكن يتفضل احد الاخوة الاعضاء ويشرح لنا بعض المصطلحات التالية والمستخدمة فى برمجة الجرافيك والالعاب
Dithering
AntiAliasing and it's relation to MultiSampling
ray-tracing
blobs and metaball
what is the relation between effect file and shaders
Depth of field
HDR and dynamic lighting
instancing
PRT and Irradiance Volume
ShadowVolume and ShadowMap

وجزاكم الله خيرا

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير مدير وسام البهنسي هذه المشاركة مميزة مشاركة 2

يا ساتر يا رب! إن كل من المصطلحات التي ذكرتها يستحق مقالة كاملة في ويكيبيديا!
سأضع ذلك على جدول أعمالي، لكنني سأقدم لك الآن تعريفات مختصرة، على أن أضيف التفاصيل في مقالات مخصصة إن شاء الله...
 
نبدأ بالـ Dithering:
تكنيك لعرض التدرجات اللونية على أنظمة العرض ذات عدد الألوان المحدود. في الصورة أدناه، المربع الأيمن يظهر تدريجاً لونياً ناعماً من الأزرق إلى الأصفر. الآن نريد عرض هذا التدرج اللوني على جهاز يملك فقط أربع درجات لونية بين الأزرق والأصفر... الحل البسيط لهذه المشكلة هو عرضها بعد تكميمها ليوافق كل لون من التدريجة أقرب لون في قائمة ألوان كرت الشاشة. لو فعلنا هذا لنتج لدينا ما يسمى بالـ banding (لم أفكر بترجمة مناسبة لهذا المصطلح بعد). المربع الأوسط يظهر التدرج اللوني معبراً عنه بأربع درجات فقط. يمكنك ملاحظة الفواصل الحادة بين الدرجات المختلفة، مما يخرب الإيحاء بنعومة التدريج.
المربع الأيسر هو ما تحصل عليه عند تطبيق الـ dithering. لاحظ أننا استعدنا الإحساس بالتدرج اللوني السلس من الصورة الأصلية بالرغم من أننا ما زلنا نستخدم أربع تدرجات لونية فقط!
لو دققت النظر للاحظت وجود تشويش في المربع الأيسر، وهذه هي فكرة الـ dithering. حيث أنه يمكننا دمج الألوان المحدودة مع بعضها عن طريق إظهارها بنسب معينة ضمن المنطقة الواحدة. مثلاً، لدي تدريجة تحوي 60% أصفر و40% أزرق، يمكنني عندها أن أظهر 6 بكسلات صفراء و 4 بكسلات زرقاء تتوضع بتوزيع متجانس لتعطي إيحاء التدريج.


 
 
AntiAliasing and it's relation to MultiSampling:
تكنيك للتخلص من ظاهرة الدرج (staircase effect) التي ترى على الخطوط المائلة المرسومة على شاشة الحاسوب. المشكلة الأصلية تنبع من محاولة تمثيل تابع مستمر بطريقة مكممة (discreet). بالعربي الفصيح يعني أنك تحاول رسم خط مائل على شاشة تتألف من بكسلات مربعة ذات عدد محدود.
تهدف حسابات تنعيم الحواف (anti-aliasing) إلى إعطاء تدرج لوني محيط بالخط الأصلي ليخفف من حدة التباين بين الخط والخلفية.
هناك عدة أساليب لتنعيم الحواف، نذكر منها الـ super sampling والتي تليها عملية تصغير باستخدام مرشح (downsampling filter)، إلا أن هذا الأسلوب يحتاج إلى حجم كبير من الذاكرة. الأسلوب الثاني هو التمثيل المتعدد (multi-sampling) والذي يعتمد على تطبيق تابع الخط وحساب بعد النقطة المثلى عن مواقع عدة عينات ضمن البكسل نفسه (sub-pixel samples)، مما ينتج وزناً يستخدم كشدة لونية للبكسل النهائي.
يتأثر هذا الأسلوب بشكل كبير بترتيب العينات المختار، وهنا نجد عدة خيارات يمكننا رؤية بعضها من إعدادات كرت الشاشة (2x، 4x، Quincunx).
 
 
ray-tracing
تتبع الأشعة، خوارزمية عامة مستلهمة من الطريقة الفيزيائية الواقعية لانتقال الضوء. حيث أن الضوء يتكون من فوتونات تنتقل عبر الأوسطة المختلفة وترتطم بالجزيئات وتنعكس عنها أو ينكسر اتجاهها أو يتم امتصاصها لتتحول إلى طاقة من نوع مختلف.
أكثر التطبيقات شيوعاً هو في مجال الرسم ثلاثي الأبعاد. حيث يتم بث أشعة رئيسية من سطح الإسقاط لترتطم بالأجسام في المشهد، ثم تنعكس عنها وتتشتت لترتطم بأجسام أخرى وهكذا حتى تصل إلى مصدر ضوء. يتم حساب القيمة اللونية للشعاع خلال رحلته ليؤثر في تلوين السطوح التي يرتطم بها.
كما نرى، بالاعتماد على هذا المبدأ فإن الكثير من الظواهر الفيزيائية الطبيعية يمكن مماثلتها بطريقة موحدة ودون خدع ملتوية.
لمسنا هذا الموضوع أيضاً في مقالة محرك ثلاثي الأبعاد في ويكيبيديا: http://ar.wikipedia.org/wiki/محرك_ثلاثي_الأبعاد
 
 
blobs and metaball
إحدى تطبيقات طريقة فريدة من طرق بناء المجسمات، والتي تدعى (السطوح المعرفة ضمنياً) أو implicit surfaces. بعبارة أخرى هي مجسمات مبنية من مجموعة من المعادلات الرياضية التي تعرف الجسم بشكل كامل. طبعاً ضمن هذا التعريف يمكننا اعتبار الكرة والمكعب والاسطوانة الخ كلها أشكال معرفة ضمنياً لأن كل منها له معادلة واضحة لبنائه.
الـ metaballs أو الكرات اللزجة هي كرات تلتصق ببعضها البعض عند اقتراب إحداها من الأخرى، وهي تختلف عن الأشكال سابقة الذكر بأن لها معادلة خاصة، تتميز بأنه يمكن جمعها مع معادلات أخرى من نفس النوع. فكل كرة لها معادلة، وبجمع المعادلات يمكن تشكيل جسم معقد وله مظهر لزج وعضوي. يصعب شرح الفكرة دون رؤية فلم توضيحي، لكني آمل أن تكون هذه الصورة مساعدة:
 


 
التحدي يكمن في كيفية رسم هذا الشكل المعقد. ويمكنك إنجاز ذلك إما عن طريق تتبع الأشعة بشكل اعتيادي واختبار كل شعاع ورؤية إن كان يحقق معادلة الشكل في إحدى مراحله. إلا أن هذه الطريقة (مع دقتها) بطيئة جداً. الطريقة الثانية هي الـ Marching Cubes، ونتائجها تقريبية، لكنها أسرع بكثير.
من الجدير بالذكر أن الإصدارات القديمة من برنامج Softimage|3D احتوت على نظام حسابات Metaballs (أعتقد انها كانت تدعى meta clay) متقدم وسريع جداً...

 
what is the relation between effect file and shaders
ببساطة ملفات الـ effect (تنتهي باللاحقة fx.) قد تحوي كود مظلل أو أكثر، وقد لا تحوي أي مظللات أيضاً. تعتبر ملفات الـ effect مجرد وعاء منظم لتنفيذ المظللات بحسب إمكانيات كرت الشاشة لدى المستخدم.
لاحظ أن المبرمج غير مجبر على استخدام الـ effects من أجل كتابة المظللات وتنفيذها في بيئة DirectX، بل يمكنك بناؤها وترجمتها بشكل مستقل.
 
 
Depth of field
تأثير فني ينتج عن ضبط إعدادات عدسة الكاميرا لتركز على مسافة معينة، حيث تظهر الأجسام عند تلك المسافة بوضوح تام، والأجسام الأخرى التي تبتعد أو تقترب من تلك المسافة تظهر بشكل مشوش وغير واضح. كما في الصورة:



يعتبر هذا التأثير من التأثيرات المعقدة في عالم رسوميات الحاسوب وذلك بسبب الطريقة الاعتيادية المستخدمة في تمثيل الكاميرا الافتراضية للمشهد، وهكذا نجد أنه في كثير من الأحيان يتم تنفيذه عن طريق حيلة ما (مثلاً تغبيش كل البكسلات التي تقع ضمن مجال عمق معين).
سأنتهز هذه الفرصة لأذكر ملاحظة شخصية عن هذا الموضوع، أن هذا التأثير هو تأثير خاص بعدسات الكاميرا فقط، أما في العين البشرية فإن الأمر في الحقيقة أعقد بكثير، وهذه الحقيقة تغيب عن 99% من العاملين في مجال المؤثرات الخاصة، عندما يتكلمون عن "الواقعية" في اللعبة أو الفلم. فكيف تقول أن هذه اللعبة واقعية وأنت ترينا إياها من كاميرا واحدة، بينما خلق الله الإنسان بعينين اثنتين؟
يمكنك عمل تجربة صغيرة لملاحظة الفرق: المس طرف سبابة اليد اليمنى بطرف سبابة اليد اليسرى وقرب نقطة الالتقاء من رأسك، ودقق النظر في أي جسم وراء نقطة الالتقاء. ستلاحظ ظهور "كتلة" لحمية بين إصبعيك تكبر وتصغر بتقريب وإبعاد يديك عن رأسك... لاحظ أن الكتلة أيضاً مغبشة نوعاً ما وبالتالي يصعب استيعابها.. هذا هو برأيي تأثير الـ Depth of Field الحقيقي كما نراه نحن البشر. ويمكننا تمثيله برسوميات الحاسوب، إلا أننا نحتاج إلى كاميرتين لعرض المشهد بدلاً من واحدة.
 
 
HDR and dynamic lighting
المصطلحين غير متعلقين ببعضهما، لذا سأبدأ بالحديث عن الـ HDR أولاً.
HDR اختصار لـ High Dynamic Range أو المجال الواسع الديناميكي. نحتاج إلى الحديث عن الكثير من الأمور أولاً قبل أن نصل إلى تعريف وافي لهذا المفهوم، إلا أنني سأختصر الطريق وأشرحها بطريقة مبسطة جداً (أو على قول المثل: نخطف الكبة من راس الماعون).
درجت العادة أن نقوم بحفظ القيم اللونية ضمن متغيرات من نوع BYTE، والتي تسمح لنا بالتعبير عن 256 درجة لكل قناة لونية في البكسل الواحد.
هذا المفهوم منتشر بشكل سرطاني في أغلب تطبيقات الحاسوب الرسومية. كمثال انظر أداة انتقاء الألوان في فوتوشوب CS:



لاحظ أن القيمة القصوى لقنوات RGB تتراوح من 0 إلى 255 (نفس الوضع بالنسبة لنظام التعبير عن ألوان الويب).
لكن ماذا لو أردنا أن نحفظ قيماً لونية تتجاوز هذا المجال؟ ببساطة لا يمكن. نحتاج أولاً إلى استخدام نوع متغيرات أوسع من BYTE كي نحفظ قيماً ذات مجال أكبر (من هنا جاءت التسمية المجال الواسع high range). في أغلب الأحيان عندما نتحدث عن صورة HDR فإنه يقصد أن قنواتها اللونية تتكون من أربع قيم من نوع float (بعرض 4 بايتات)، مما يعطي مجالاً هائلاً بالمقارنة مع البايت الواحد. في هذا النظام يكون اللون الأسود ذو القيمة 0، واللون الأبيض ذو القيمة 1. الآن نستطيع التعبير عن قيم لونية خارج هذا المجال أيضاً (قيم لونية سالبة، أو قيم لونية باهرة جداً تتجاوز الواحد).
هنا يسأل الشخص الطبيعي: ما الفائدة طالما أن شاشتي لا تستطيع عرض ألوان سالبة أو ألوان باهرة؟
وهذا سؤال في محله. إلا أننا نذكر أن فائدة الـ HDR تكمن في الحسابات الوسيطة أثناء الـ rendering للمشاهد الثلاثية الأبعاد... فمثلاً، لدي مجسم، وضعت بجانبه ضوءاً بقيمة لونية بيضاء كاملة (255، 255، 255) ومن ثم وضعت بجانبه ضوءاً آخر لونه أحمر تام (0، 0، 255). الآن في حسابات الإضاءة ماذا سيحدث؟
سيقوم المحرك بحساب القيمة اللونية من الضوء الأول (255، 255، 255) ومن ثم جمعها مع القيمة اللونية من الضوء الثاني. والناتج؟
لو استخدمنا متغير BYTE فإن الناتج لن يتجاوز الـ 255. مما يعني أننا سنفقد تأثير الضوء الأحمر تماماً. أما لو استخدمنا محرك رسم يدعم HDR، فإن القيمة اللونية الناتجة ستكون (1، 1، 2)، والتي تعني أبيض وأحمر باهر.
 
هنا كان حرياً بك أن تسأل عن الـ HDR و الـ Tone Mapping بدلاً من الـ Dynamic Lighting. فالـ Tone Mapping هو العملية اللاحقة لرسم HDR والتي تجعل الشاشة تستطيع عرض القيم اللونية التي تخرج عن المجال الطبيعي.
 
 
Dynamic Lighting
ببساطة هو ضوء تتم حساباته في المشهد بشكل فوري. أي أنه لا يستخدم حسابات مسبقة محفوظة baked calculations. هذا يجعله يؤثر على الأجسام المحيطة به بشكل طبيعي مهما كان توضعها.
عكس الـ dynamic lighting هو الـ static lighting وهو تكنيك يستخدم للحصول على إضاءة بجودة عالية بكلفة أداء شبه منعدمة. المشكلة الوحيدة أن هذه الإضاءة ثابتة لا تتغير بتغير موقع مصدر الضوء أو بتحرك الأجسام المضاءة، لذا هي مناسبة للمشاهد الثابتة.
 
 
instancing
أو الاستنساخ، أسلوب لرسم نسخ كثيرة جداً من مجسم ما في المشهد الواحد. الفكرة ببساطة هي تنفيذ الحسابات الثقيلة على نسخة واحدة فقط (كالـ skinning والإضاءة)، ومن ثم وضع نسخ من هذا المجسم في أماكن متعددة في المشهد دون الحاجة إلى تكرار تلك الحسابات الثقيلة على كل نسخة (عادة تترك حسابات التحويل transformation فقط).
هذا الأسلوب يستخدم بكثرة لرسم الشخصيات في المعارك، وقد تم استخدامه في لعبة قريش. أذكر أن مدير المشروع كان يلهو بمحرر المراحل للعبة، فقام بتشكيل جيش من 5000 جندي وأطلقه على أرض صحراوية، ولقد كانوا يتحركون بشكل جميل وسلس حتى على جهازه محدود الإمكانيات (آنذاك) بكرت شاشة Geforce2MX.
 
 
PRT and Irradiance Volume
فففف. هذا أيضاً موضوع كبير جداً ويصعب علي شرحه في جملة قصيرة، لكني سأحاول.
PRT هي اختصار Precomputed Radiance Transfer، أو الحساب المسبق لانتقال الإشعاعات. كما هو واضح من الاسم، ينص هذا التكنيك على حساب الإشعاعات في المشهد بطريقة ما (غالباً باستخدام محرك رسم يعمل بمبدأ تتبع الأشعة raytracing)، ومن ثم حفظ النتائج جانباً على شكل معاملات رياضية، تشكل جزءاً من معادلة الإضاءة العامة للسطوح في رسوميات الحاسوب. هذه المعاملات هي الجزء المكلف من المعادلة، ويبقى لنا في النهاية مجموعة أخرى من المعاملات التي يمكن حسابها بسرعة وبشكل فوري.
إن المعادلة العامة للإضاءة تتضمن بشكل طبيعي تأثير الظلال والانعكاسات وبعض المؤثرات الخاصة الأخرى. لذا فإن استخدام هذا التكنيك يسمح لنا بالحصول على إضاءة عالية الجودة وبشكل سريع جداً وفوري.
ما المشكلة إذن؟ ببساطة عندما تقول "حسابات مسبقة" فإنك تفترض أن المشهد ثابت لا يتغير توضع الأجسام فيه، وإلا لتغير مسار الأشعة الضوئية وعندها سنحتاج إلى إعادة تنفيذ حسابات PRT مرة أخرى (وهي تستغرق وقتاً طويلاً جداً بالمناسبة).
 
أما الـ Irradiance Volume فهو أحد أشكال حفظ المعلومات الناتجة من تطبيق حسابات PRT. ببساطة هي شبكة حجمية تتكون من عدد كبير من النقاط الفراغية التي يتم حساب الانتقال الضوئي في كل منها. استخدام هذه المعلومات في الرسم الفوري سهل جداً، إذ أننا لكل نقطة نود تلوينها من الجسم، نحتاج إلى انتقاء النقاط الفراغية من الـ Irradiance Volume المحيطة بها، ونستخدمها لإضاءة النقطة المرسومة.
تجد المزيد من التفاصيل عن هذا الأسلوب في كتاب ShaderX3.
 
 
ShadowVolume and ShadowMap
هاها! الآن وصلنا إلى جزء "المهمة: المستحيل" أو Mission:Impossible. للأسف لست توم كروز كي أستطيع قبول التحدي. وإن كنت حقاً تود التعرف على هذه المفاهيم فإنني أنصحك بكتاب ShaderX2 : Introduction & Tutorials حيث يحوي فصلاً كاملاً مخصصاً لموضوع الظلال بنوعيها...
 
 
أعتذر لكن هذه المشاركة حقاً قد بلغت حجماً كبيراً وأرجو ألا تسبب الصداع لمن سيقرؤها...
إلى الإدارة: إن لم تضعوا هذه المشاركة كمشاركة مميزة فإنني سأقدم استقالتي☺

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

موهوب  راسم حسان مشاركة 3

بتمنى ما يقدم الأخ وسام استقالتو. لأني ملاحظ ان المشاركة ما تم وضعها مع المشاركات المميزة☺
وشكرا جزيلا وسام على الشرح المختصر والوافي!

راسم حسان

خبير  سلوان الهلالي مشاركة 4

ما شاء الله... عمل رائع
أفضل شرح قرأته باللغة العربية لحد الآن لهكذا مصطلحات (إن لم يكن الوحيد), أنت كاتب بالفطرة أستاذ وسام :-)
ليس فقط هذا, ولكني فهمت ما تقصده أكثر من فهمي لما تقصده مقالة باللغة الإنكليزية تتحدث عن نفس التقنيات, وذلك شئ أكثر من رائع ولم أكن أعتقد بإمكانيته... بلا مبالغة.
 
I salute you
;-)

خبير مدير وسام البهنسي مشاركة 5

شكراً على الإطراء☺
يمكنكم أيضاً قراءة المزيد في المقالات التعريفية في ويكيبيديا، والتي يمكنكم الوصول إليها من قائمة المقالات العلمية لدينا، هذه هي الروابط أيضاً:
 
http://ar.wikipedia.org/wiki/مينتال_راي
http://ar.wikipedia.org/wiki/عنونة_الإكساء
http://ar.wikipedia.org/wiki/إكساء
http://ar.wikipedia.org/wiki/مظلل
 
وتعريف المحرك ثلاثي الأبعاد (الذي طالما أثار جدلاً في الأوساط المختصة):
http://ar.wikipedia.org/wiki/محرك_ثلاثي_الأبعاد

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير مدير همام البهنسي مشاركة 6

بتاريخ 22 مارس 2008 05:36 م، قطب وسام البهنسي حاجبيه بشدة وهو يقول:

من الجدير بالذكر أن الإصدارات القديمة من برنامج Softimage|3D احتوت على نظام حسابات Metaballs (أعتقد انها كانت تدعى meta clay) متقدم وسريع جداً...

يمكن اختبار تأثير الـ blobs في عدد من برامج الـ 3D الحالية مثل الـ XSI والـ Maya من خلال إضافة blob shader لأنظمة الجزيئات (particle systems).









بالطبع كما ذكر وسام كان فيما سبق Softimage|3D يتميز بوحدة كاملة لإنشاء والتحكم بالـ blobs بطريقة سلسة ومرنة جداً، ليس مثل الوضع الحالي في البرامج التي تجبرك على التعامل معها من خلال الأنظمة الجزيئية فقط. وبالتالي انحصر توظيفها في معالجة الموائع بأشكال مختلفة:
 

 

 

 
المقالة التالية تشرح بعض الملاحظات الأساسية في توظيف الـ Blobs ضمن الـ XSI:
http://www.inframez.com\papers\xsi_ptfaq.htm

مبتدئ  HumamChacra مشاركة 7

لك الله يسلم ايديك يا أستاذ أبو اليوس
دائما في عندك شي يتحفنا
والله يزيدك من هالعلم لتنفع في الناس
فعلا انا الDithering كان عندي فيها مشكلة ,بس أتأكد منك هي نفسها الطريقة كانت مستخدمة ببرنامج الرسام ب ويندوز 3.11
(يعني ذكريات الطفولة, أيام كنا نعد بالساعات على هالبرنامج الشيق)وقت بدك تعمل edit لل16 لون
وعندي تعقيب عالDepthOfField
أنا على حد علمي هي الظاهرة موجودة بكل العدسات بما فيها العين وهي تنتج عن كون الخيال  الناتج عن النقطة في الواقع؛ على شكل بقعة على الفلم حيث أن النقاط في الفراغ التي تكون على مسافة البعد المحرقي"f" أي inFocus وعلى محور العدسة تسقط بشكل نقطة (أي كل نقطة من الفراغ تسقط بنقطة على الفلم ) وكل النقاط التي قبل و بعد هذه النقطة تسقط بشكل بقعة على الفلم يزداد قطرها بالابتعاد أو الاقتراب من المحرق و تكون هذه النقاط OutOfFocus

هذا هو المبدأالعام لهذه الظاهرة في جميع العدسات
يضاف إلى ذلك في الواقع (أي في الكاميرات والعين) ما يعرف بفتحة العدسة والذي يحكم دخول الضوء إلى العدسة فكلما كانت الفتحةأكبر كلما كان دخول الضوء من خلال العدسة أكبر ومن أماكن مختلفة و بالتالي يزداد تأثير ال DepthOfFiled
وكلما ضاقت فتحة العدسة كلما أجبر الضوء على الدخول من أماكن محددة(مركز العدسة) و بالتالي يقل تأثير هذه الظاهرة
 
 
و يمكن ملاحظة هذه الظاهرة بعين الإنسان في حال نظر الشخص إلى هدف بعيد و وضع جسم قريب جدا إلى العين فنلاحظ وجود هالة حول الجسم بنتيجة هذه الظاهرة
ويبقى هناك الكثير من الظواهر الفيزيائية في العدسة والضوء (أنعراج الضوء الذي يحدث عند مرور الضوء من فتحة ضيقة)التي يطول شرحها
 
وأيضا أحب أن أضيف إضافة بسيطة على الHDR,LDR
أن الضوء مهما ضعف يكون له قيمة اكبر من 255 Luminance
والأجسام مهما زاد نصوعها تبقى أقل من 255 Luminance أ و تساويها
 
جسم=<255
 
أما الأجسام عندما تضاء فمن الممكن أن تتجاوز ال255 حيث أن الضوء يضيف قيمته إلى الجسم المضاء
 
 
أرجو أن أكون قد وفقت فيما قلت و أوصلت الفكرة
و السلام عليكم و رحمة الله
 
 


خبير مدير وسام البهنسي مشاركة 8

بتاريخ 10 يونيو 2008 04:37 م، قطب HumamChacra حاجبيه بشدة وهو يقول:

أنا على حد علمي هي الظاهرة موجودة بكل العدسات بما فيها العين وهي تنتج عن كون الخيال  الناتج عن النقطة في الواقع؛

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

وفي 10 يونيو 2008 04:37 م، أعرب HumamChacra عن رأيه بالموقف كالآتي:

أن الضوء مهما ضعف يكون له قيمة اكبر من 255 Luminance
والأجسام مهما زاد نصوعها تبقى أقل من 255 Luminance أ و تساويها
 
جسم=<255
 
أما الأجسام عندما تضاء فمن الممكن أن تتجاوز ال255 حيث أن الضوء يضيف قيمته إلى الجسم المضاء
 

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

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  HumamChacra مشاركة 9

تعقيبا على تقطيب حاجبي ووصفا للاختلاجات التي كانت تراودني و تساورني ودرءا للسوء فأقول
أما بالنسبة لما تكلمت فهو كرد على ما تفضلتم به
 
"أن هذا التأثير هو تأثير خاص بعدسات الكاميرا فقط، أما في العين البشرية فإن الأمرفي الحقيقة أعقد بكثير،"
 
 
وهو الجزء الخاص بالDOF
 
أما بالنسبة لظاهرة الStereo  ففيما أعتقد(بدون تقطيب حواجب )فهي تنتج عن طريق توليد صورة واحدة من صورتين(بدون عمق) بحيث أن كل عين ترى أحد هاتين الصورتين ويتم دمجهما لتركيب صورة فراغية و تمثل كل صورة منظور العين الموائمة و بالتالي ال Stereoscope هي تحويل الصورة المعدومة العمق إلى منظور ذو عمق
أما بالنسبة للفراغ الحقيقي فإن الصورة معدومة العمق المنطبعة داخل العين مضاف لها المعلومات القادمة من تحدب الجسم البلوري إلى الدماغ كفيلة بتصور هذا الفراغ بدليل أن الإنسان بعين واحدة قادر على تحديد العمق فيما إذا قورن بالكاميرا
(إذا سنحت لي الفرصة سأحاول التحدث عن الSteroscope لاحقا)
كما تفضلتم: 
"بصراحة هذه وجهة نظر مختلفة كلياً عما عهدته عن الموضوع. على حسب شرحك، فإن أقلقيمة لونية للضوء هي 256.. وبالتالي لو كان لدي جسماً مطلق القتامة، ووضعت جانبهضوءاً ضئيلاً جداً، فإننا نحصل على قيمة لونية كلية 256، أي بياض ناصع على الشاشة؟"
 
 
أما بالنسبة للجسم المطلق القتامة فهو للأسف جسم لا يمكن أضاءته بأي ضوء حيث أن لون الجسم يعتمد على ما يستطيع أن يعكس من الضوء فالجسم ذو RGB 0,0,0 هو جسم لا يعكس أي شعاع مهما زادت قوة الضوء بشكل عام  دون الدخول بمعادلات الفيزياء والرياضيات فأن لون الجسم يعتمد على خواص الجسم و خواص الضوء والمسافة بين الضوء والجسم و بالتالي في حال  وضعنا جسم غامق بالقرب من منبع ضوئي ،
إذا كان الجسم  بعيدا عن الضوء  فلن يكون مضاء أما إذا كان قريبا منه فيأخذ قيمة ما يمكن و أشدد على كلمة يمكن  ان  تتجاوز ال255 و يمكن لا  
 
إذا أخذت صورة لضوء بسيط بكاميرا ذات فتحة عدسة كبيرة و زمن أغلاق عدسة طويل يمكنك ملاحظة تأثير هذا الضوء الصغير ,ببساطة فأن أي ضوء قادر على زيادة تأثيره بزيادة زمن أغلاق العدسة وزيادة  فتحة العدسة كما الصورة التي أخذت لألعاب نارية بكاميرا ذات  زمن أغلاق كبير
 





 
والأن لنتخيل غرفة مظلمة تماما فإذا وضعنا جسم أبيض 255,255,255 في الحقيقة لن نرى شيئا أي ان اللون النهائي للجسم 0,0,0 وذلك بسبب عدم وجود منبع للطاقة وهو الضوء فلو أعدنا التقسيم السابق يكون
الأجسام الماصة (حيث تقوم بعكس جزء من اضوء) تكون أقل من 255
الأجسام التي تعكس كامل الضوء=255.255.255
الأجسام المشعة(الضوء)أكبر من 255  يمكن الحصول على مثل هذه الحالة في ال xsi بجعل الDiffuseوAmbience  مساوي للصفر و رفع ال incandescence
 
 
وشكرا

خبير مدير وسام البهنسي مشاركة 10

في 11 يونيو 2008 04:16 م، قال HumamChacra بهدوء وتؤدة:

تعقيبا على تقطيب حاجبي ووصفا للاختلاجات التي كانت تراودني و تساورني

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


في 11 يونيو 2008 04:16 م، عقد HumamChacra حاجبيه بتفكير وقال:

أما بالنسبة للفراغ الحقيقي فإن الصورة معدومة العمق المنطبعة داخل العين مضاف لها المعلومات القادمة من تحدب الجسم البلوري إلى الدماغ كفيلة بتصور هذا الفراغ بدليل أن الإنسان بعين واحدة قادر على تحديد العمق فيما إذا قورن بالكاميرا

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

 



وفي 11 يونيو 2008 04:16 م، قال HumamChacra متحمساً:

أما بالنسبة للجسم المطلق القتامة فهو للأسف جسم لا يمكن أضاءته بأي ضوء حيث أن لون الجسم يعتمد على ما يستطيع أن يعكس من الضوء فالجسم ذو RGB 0,0,0 هو جسم لا يعكس أي شعاع مهما زادت قوة الضوء بشكل عام 

معك حق. أخطأت باستعمال الكلمة المناسبة. أقصد جسم أبيض غير مضاء على الإطلاق (لا يوجد ambience)، ووضعنا بجانبه ضوء صغير. ما أجده غريباً هو أن الضوء برأيك لا تقل قيمته عن 255. فلم؟ وكيف عندها تستطيع تفسير الأضواء الخافتة؟

وسام البهنسي
مبرمج في إنفيديا وإنفريمز