Problema ao portar do OpenGL 1.1 para o OpenGL-ES 2.0
este é o meu código opengl-es 2.0:
{
for (surfnum=0;surfnum<surftotal;surfnum++){
for (i=0;i<triNum[surfnum];i++){
GLfloat *Vertices[] = { triArray[surfnum][i].normpt1, triArray[surfnum][i].normpt2,triArray[surfnum][i].normpt3};
glGenBuffers(1, &ui32Vbo);
glBindBuffer(GL_ARRAY_BUFFER, ui32Vbo);
unsigned int uiSize = 3 * (sizeof(GLfloat) * 1);
glBufferData(GL_ARRAY_BUFFER, uiSize,*Vertices, GL_STATIC_DRAW);
}
}
}
for(int i = 0; i < 80000; ++i)
{
glClear(GL_COLOR_BUFFER_BIT);
int i32Location = glGetUniformLocation(uiProgramObject, "projmatrix");
glUniformMatrix4fv( i32Location, 1, GL_FALSE, pfIdentity);
glEnableVertexAttribArray(VERTEX_ARRAY);
glVertexAttribPointer(VERTEX_ARRAY, 3, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays(GL_TRIANGLES, 0,i);
eglSwapBuffers(eglDisplay, eglSurface);
}
Este é o meu código opengl-es 2.0. Eu estava trabalhando no opengl 1.1, no qual eu era capaz de mostrar os dados do formulário de superfície is
Este é o meu código Opengl 1.1:
void drawTriangle()
{
int surfnum, i;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0,0.6,0.1);
for (surfnum=0;surfnum<surftotal;surfnum++)
{
for (i=0;i<triNum[surfnum];i++)
{
glBegin(GL_POLYGON);
glNormal3fv(triArray[surfnum][i].normpt1);
glVertex3fv(triArray[surfnum][i].pt1);
glNormal3fv(triArray[surfnum][i].normpt2);
glVertex3fv(triArray[surfnum][i].pt2);
glNormal3fv(triArray[surfnum][i].normpt3);
glVertex3fv(triArray[surfnum][i].pt3);
glEnd();
glFlush();
glutSwapBuffers();
}
}
}
Não estou obtendo o mesmo resultado que estava obtendo no opengl, no opengl-es 2.0 também um
aviso vindo como: libegl: use software fallback;
saída ocorre muito lentamente
onde a saída sai da janela
Se quiser outra informação, pergunte-me.