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

glVertexPointer

بدأه hggif في 19 ديسمبر 2012 · 0 رد · 769 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

انا معي مصفوفة نقاط فيها 10 عناصر اي فيها 5 نقاط لرسم شكل معين و رسمت مثلث باستخدام الثلاث نقاط الاولى لكن حينما اوسع المصفوفة و اضع قيم عشوائية في العناصر الجديدة يظهر لي شكل غريب و كأنه ممتد الى مالانهاية بالرغم من اني استخدمت الثلاث النقاط الاولى فقط للرسم اي الست العناصر الاولى للمصفوفة , ما السبب ؟؟

الكود

ميثود لانشاء المصفوفة

 void datasource(float add)
{

	GLfloat vertex1[10];

	for(int i=0; i<10; i++)
	{
	if(i==0)
		vertex1=0.01;
	if(i+1<=9)
		vertex1[i+1]=vertex1+0.1;
              if(i==5)
vertex1=vertex1 *-1;
	printf("%f ,",vertex1);
	}

	glEnableClientState(GL_VERTEX_ARRAY);
	glVertexPointer(2,GL_FLOAT,0,vertex1);

}

فلو غيرت حجم المصفوفة الى 12 او اكثر يظهر الشكل الغريب اما لو 11 او اقل يظهر الشكل المفترض (مثلث )

ميثود للرسم

 void display()
{
	frame++;

	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);


		glDrawArrays(GL_TRIANGLE_STRIP,0,3);



	glutSwapBuffers();
	glutPostRedisplay();

}

اتمنى ان تساعدوني

تم تعديل هذه المشاركة بواسطة hggif في 19 ديسمبر 2012 في 14:50