الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استفسار بخصوص OpenGL

مغلق
بدأه DataBase في 11 أبريل 2005 · 7 رد · 1,112 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ....

اخوانى اتمنى ان اجد ما ابحث عنه لديكم .

الاستفسار الاول :-

من خلال هذه الصورة الخاصة بالكود

quad_code.JPG

وعند تطبيق هذا الكود يظهر هذا ال OutPut لدى

quad_strip.JPG

المشكلة انه هذا الشكل خماسي وقد قمت بتحديد اربع نقاط فما السبب لظهور الشكل الخماسي .

الاستفسار الثاني :-

عند تطبيق داله GL_QUAD_STRIP بشكل متكرر كما في الصورة التالية

qyad_code2.JPG

المفروض انه يظهر الشكل كالتالى :-

quad_supp.JPG

ولكن يظهر لدى هذا الشكل :-

qyad_strip2.JPG

الغريبة انه النقاط المشار اليها باللون الاحمر وهى

تتصل النقطتين 5 و7 معا و 6 و8 معا فتختفى حدود الشكل 1 .

فما التفسير لذلك

#2

بسم الله الرحمن الرحيم

اول رد .. اتمنى ان يكون مفيدا :)

بالنسبة للمشكلة الاولى

الكود المستخدم في رسم الشكل المربع هو

glBegin(GL_QUADS);

واراك كتبت

glBegin(GL_QUADS_STRIP);

فربما بكتابة الاول تحل المشكلة

المشكلة الثانية

انت تستخدم

glBegin(GL_QUADS_STRIP);

وال QUADS يسستخدم لاستخراج اربع نقاط فقط بينما انت تريد اخراج اكثر من 4 نقاط فتستخدم

glBegin(GL_POLYGON);

في امان الله :)

#3

تستطيع ان ترسم باي طريقة تريد ولكن اتبع الاسهل..

اتبع نصائح المحمد... ورح تنجح.. وساضيف مثال خلال هاليوم ان شاء الله..يوضح المقصود..

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

السلام عليكم ورحمة الله وبركاته ...

اخواني Almohammed و الشـمري أشكرك على المساعده ولكني كنت احتاج تفسيرا لهذه الداله GL_QUAD_STRIP

وبالفعل بعد المحاولة استنجت مبدأ عمل هذه الداله في حال اردت رسم شكل واحد او اكثر .

حيث تستخدم 4 نقاط في حال رسم شكل واحد وهى كالتالى 1,2,4,3 على محور الاحداثيات .

مشكووووورين اخوانى .

وبالتوفيق

#5

:blink:

على العموم انا جهزت كود عن الرسم بشكل عام.. ولم اوضح GL_QUAD_STRIP

لانها لا تفيد كثيرا واستعظت عنها بطرق الرسم الاخرى..

بالنسبة لانواع الرسم الموفرة في opengl كثيرة ولكن لاتضيعوقتك في تعلمها كلها

يكفيك تعلم ارب او خمس طرق من اهمها

GL_POINTS

GL_LINES

GL_LINE_LOOP

GL_LINE_STRIP

GL_TRIANGLES

GL_QUADS

GL_POLYGON

-----

لذا اذا اردت رسم مربع فالاسهل استخدام GL_QUADS

مثلا

       glColor3f(1.0f, 0.0f, 0.0f);   
   
      glVertex3f(-7.0f, 4.0f, 0.0f);
      glVertex3f(-2.0f, 4.0f, 0.0f);
      glVertex3f(-2.0f, 0.0f, 0.0f);
      glVertex3f(-7.0f, 0.0f, 0.0f);

اما رسم عدة مضلعات فحاولت رسمها بطريقتك (GL_QUAD_STRIP) ولكنها صعبة قليلا

وتحتاج الى وقت لذا دائما فضل استخدام الاسهل

 glBegin(GL_QUADS);
       glColor3f(0.0f, 0.0f, 1.0f);  
   glVertex3f(7.0f, 4.0f,-2.0f);
      glVertex3f(2.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 8.0f, -2.0f);
      glVertex3f(7.0f, 8.0f, -2.0f);


       glColor3f(1.0f, 0.0f, 0.0f);  
      glVertex3f(7.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 4.0f, -2.0f);
      glVertex3f(2.0f, 0.0f, 2.0f);
      glVertex3f(7.0f, 0.0f, 2.0f);


      glColor3f(1.0f, 11.0f, 0.0f);  
   glVertex3f(7.0f, 0.0f,2.0f);
      glVertex3f(2.0f, 0.0f, 2.0f);
      glVertex3f(2.0f, -4.0f, 2.0f);
      glVertex3f(7.0f, -4.0f, 2.0f);
   glEnd(); // End drawing rectangles.

جهزت مثال بسيط .. ,وهو كالتالي

http://www.arabteam2000.com/picload/Files/...440.5369989.GIF

وهو في المرفقات .. واعتذر لعدم شرح GL_QUAD_STRIP

opengl.zip

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#6

----

تم تعديل هذه المشاركة بواسطة الشـمري في 15 أبريل 2005 في 01:23

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#7

عفوا الملف غير كامل..

حاولت ارفع الملف لكن فيه مشكلة ... اعتذر

تم تعديل هذه المشاركة بواسطة الشـمري في 15 أبريل 2005 في 01:25

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#8

السلام عليكم ورحمة الله وبركاته ...

أخى الكريم الشـمري أشكر تواصلك معي ... وما قصرت . وبالنسبة ل GL_QUAD_STRIP سأضع شرح بسيط

تبين عملها .

وبالنسبة للمثال الذى ارفقته فأشكرك اخى الكريم على هذا المثال الذى استفدت منه .

لانى لما كنت احاول اعطاء لون لكل مربع وكان عندى 3 مربعات في البرنامج الواحد يكون عندى دمج في الالوان .

أشكرك مرة ثانيه .

بالتوفيق

هذا الموضوع مغلق.

مواضيع مشابهة