Pregunta

Estoy tratando de aprender OpenGL en el iPhone usando la " Super Bible " pero estoy tiene problemas para portar desde OpenGL a OpenGL ES. Tengo entendido que el glRectf () < La función / code> no está disponible en este último. ¿Cuál es el enfoque sustituto? Cualquier información conceptual relevante sería apreciada también.

¿Fue útil?

Solución

El enfoque de sustitución es dibujar una franja de triángulo:

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);

Esto dibuja un rectángulo texturizado con el ancho w y la altura h .

Otros consejos

En lugar de hacer un rect, solo haces dos triángulos.

Esto es realmente irrelevante, ya que GL-ES en el iPhone no admite el modo inmediato. Debe definir todos sus vértices en una matriz y usar una de las funciones de representación de matrices de vértices para dibujarlos en lugar de usar las funciones de modo inmediato.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top