السلام عليكم :
-----
الدالة التي تبدأ بـglu ... او gl لها مدلول معين :: مثلا
glEnable
توجد في الملف الرأسي gl.h
auxWireSphere
توجد في الملف الرأسي glaux.h
gluProject
توجد في الملف الرأسي glu.h
الان سنعرف انواع المتغيرات المستخدمة في opengl
unsigned int GLenum ui unsigned char GLboolean ub unsigned int GLbitfield ui signed char GLbyte b short GLshort s int GLint i int GLsizei i unsigned char GLubyte ub unsigned short GLushort us unsigned int GLuint ui float GLfloat f float GLclampf f double GLdouble d double GLclampd d void GLvoid
اعتذر عن سوء التنسيق
الامر واضح .. اذا رأيت متغير من نوع GLenum فهو نفسه unsigned int
اذا رأيت متغير من نوع GLfloat فهو نفسه float
مثال
flaot x=9.5;
نفس الصيغة التالية :
GLfloat x=9.5;
-----
وهذا موجود حتى في دوال الويندوز مثلا
unsigned int
مماثل لـ
UINT
يعني
UINT A=15;
مماثل لـ
unsigned int A=15;
والعمود الاخير هو الصيغة المختصرة لنوع المتغير مثلا
GLfloat f >>> glVertex3f (1.0,1.0);
يعني حرف f ان هذه الدالة تطلب متغير من نوع GLfloat وهكذا مع باقي الدوال والمتغيرات ..
---
- في opengl الدوال لها عدة صيغ مثلا لنأخذ الدالة glVertex لها عدة صيغ ... مثلا
glVertex2d, glVertex2f, glVertex2i, glVertex2s
... والدوال السابقة تعني
1- انها تطلب بارمترين فقط ولذلك ترى الرقم 2
2- تطلب نوع من انواع المتغيرات .. مثلا حرف f للدلالة على ان البارمترات من نوع GLfloat
...
glVertex3d, glVertex3f, glVertex3i, glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv, glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv, glVertex4fv, glVertex4iv, glVertex4sv
وش رايك ؟؟ ؟
لا تخاف هي مجرد دالة واحدة تعطيك حرية اكبر باختيار نوع بارمتراتها ..
حاليا استخدم واحدة وهي glVertex3f وستكفيك ان شاء الله تعالى لان العمل واحد .. واكرر لاتخاف ..من تلك الصيغ فلن تتعامل معها ..كلها
لكن لاحظ ايضا : الدالة التي تنتهي بالحرف v .. هذا يعني انها ستستقبل مصفوفة من ثلاث عناصر .. او عنصرين او اربع عناصر .. ستعرفها لاحقا ..باذن الله .
خلصنا :)
