当前位置: 代码迷 >> Iphone >> openGLES ES1有关问题
  详细解决方案

openGLES ES1有关问题

热度:130   发布时间:2016-04-25 06:01:12.0
openGLES ES1问题
void MySprite::draw(){
    glLineWidth(5);
    glColor4f(1.0, 0.0, 0.0, 1.0);
    glDisable(GL_TEXTURE_2D);
    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    glDisableClientState(GL_COLOR_ARRAY);
    
    GLfloat ver[4] = {100,50,200,50};
 //   glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, ver);
    glVertexPointer(2, GL_FLOAT, 0, ver);
    glDrawArrays(GL_LINES, 0, 3);
    
    glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    glEnable(GL_TEXTURE_2D);
}


我在xcode里面用opengles es1
为什么我用glVertexPointer()这个方法就画不出线了。但是我用glVertexAttribPointer可以画出线,但是线的颜色是灰色不是红色,怎么回事呀。高手求助
opengles? glVertexPointer OpenGL?ES

------解决方案--------------------
话说OpenGL ES1和OpenGL ES2使用是有区别的:
// OpenGL ES 1.1这样写:
glVertexPointer(2, GL_FLOAT, ... );
glColorPointer(4, GL_FLOAT, ... );
 
// OpenGL ES 2.0变成这样
glVertexAttribPointer(positionSlot, 2, GL_FLOAT, ...);
glVertexAttribPointer(colorSlot, 4, GL_FLOAT, ...);

两个别搞混啦