首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

openGLES ES1有关问题

2013-06-26 
openGLES ES1问题void MySprite::draw(){glLineWidth(5)glColor4f(1.0, 0.0, 0.0, 1.0)glDisable(GL_TEX

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

两个别搞混啦

热点排行