السلام عليكم ..
كأي مبتدئ هناك العديد من الصعوبات التي تواجهنا في البداية و مجموعة من المشاكل ..
اولا ، بالنسبة للالوان
لو نرجع الى بيئة دوس و الرسم بأستخدام بورلاند سي او توربو سي
كان هناك ما يسمى palette و مجموعة من الدوال للتعامل معه وتغيير محتواه واعطاء قيمة للالوان الاساسية لينتج اللون المطلوب ، تحديدا الدالة
setrgbpalette(pal.colors[0], R_color , G_color,B_color)
و كان كل من R و G و B يأخذ من 0 الى 63 احتمال ، يعني كان عدد احتمالات الالوان هي 63*63*63
(طبعا لغة سي في بيئة دوس كانت لا تدعم سوى 16 لون ، بأستثناء طرق معينة لزيادة عدد الالوان )
اما في ويندوز ، عدد احتمالات الالوان 256*256*256 ولدينا ما يدعى ب DAC
المهم ، الان في OpenGL .. اش ينطبق عليه ؟؟؟
يعني انا لاحظت دالة الالوان هي
glclearcolor () glcolor3f();
و احتمالية اللون الواحد من 0 الى 1 (كما قرأت في دروس اخونا علي رحمهُ الله )
طيب كيف هذا ؟؟
يعني عدد الاحتمالات 10*10*10 .. يعني اقل من الاحتمالات في بيئة دوس !!!!! مستحيل
ارجو التوضيح ، وهل هناك طرق اخرى للتعامل مع الالوان ؟؟؟؟؟؟
ثانيا ..
الدالة glOrtho()
ماذا تعني ؟؟
بصراحة انا قرأت عنها بس ما افتهمت !!!
طيب ، في OpenGL بالنسبة للاحداثيات كيف تكون
يعني النقطة (0,0) اين موقعها ، هل في الزاوية العليا اليسرى كالعادة
و الدالة glLoadIdentity () التي تعيد الى منتصف الشاشة ، يعني هل في المنتصف ستكون النقطة (0,0) ، و اذا لم تستخدم الدالة اين ستكون نقطة البداية ؟
(بس ليش عند حذف هذه الدالة يظهر الرسم بسرعة ثم يختفي !!)
و بخصوص الدالة glTranslatef
مثلا في دروس الاخ علي رحمه الله
glTranslatef(-1.5f, 0.0f ,-6.0f);
هذه الدالة للحركة ( عند حذفها لا يظهر الرسم ؟؟؟؟؟؟؟!!)
الشاشة مقسمة الى مجموعة من النقاط pixel ، مثلا لو نستخدم الدلة MoveTo(10,20) الموجودة في لغة سي سوف نذهب الى النقطة (20,10) على الشاشة ،
يعني الارقام واضحة ، طيب بخصوص الدالة glTranslatef الارقام ماذا تمثل ، يعني ( -1.5)
بمعنى اخر .. ما هي وحدة القياس ( 1.5 شو )
و حتى الدالة glVertex3f() المستخدمة لرسم نقطة ، كيف يمكن اعطاء نقطة كـ float ؟ و ما هي اكبر قيمة ممكن اعطاءها للنقطة .
يعني من الاخر ، كيف يتعامل ال OpenGL مع الشاشة ؟؟
و بخصوص الدالة glVertex3f تستخدم لرسم نقطة .. مثلا في دروس الاخ علي رحمه الله قام برسم مثلث وحدد بهذه الدالة الرؤوس الثلاثة للمثلث فتم رسم مثلث مملوء .. طيب كيف ممكن رسم مثلث فارغ (يعني فقط الحدود) ، هل توجد دالة مثل line ؟
اكيد طولت عليكم ..
بارك الله فيكم
