سؤال

وأنا أحاول أن تعلم OpenGL على اي فون باستخدام "سوبر الكتاب المقدس" لكن أواجه مشكلة ترقية من OpenGLto برنامج OpenGL ES. ما أفهمه هو أن وظيفة glRectf() غير متوفرة في هذا الأخير. ما هو نهج البديل؟ سيكون موضع تقدير أي معلومات المفاهيمية ذات الصلة أيضا.

هل كانت مفيدة؟

المحلول

والنهج البديل هو رسم الشريط المثلث:

GLfloat texture[] =
{
    0, 0,
    0, 1,
    1, 0,
    1, 1
};

GLfloat model[] =
{
    0, 0, // lower left
    0, h, // upper left
    w, 0, // lower right
    w, h  // upper right
};

glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glVertexPointer(2, GL_FLOAT, 0, model);
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

وهذا يرسم مستطيل محكم مع عرض w وارتفاع h.

نصائح أخرى

وبدلا من القيام المستطيل، عليك أن تفعل مثلثين.

وهذا لا يهم حقا على الرغم منذ GL-ES على اي فون لا يدعم وضع على الفور. تحتاج إلى تعريف كل القمم الخاصة بك في مجموعة واستخدام واحدة من مجموعة قنة تقديم وظائف ليوجه لهم بدلا من استخدام وظائف الوضع مباشرة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top