读书人

openGLES ES1有关问题

发布时间: 2013-06-26 14:29:32 作者: rapoo

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

两个别搞混啦

读书人网 >Iphone

热点推荐