本帖最后由 liulover5 于 2015-03-20 20:05 编辑
我发现我设置顶点数组的范围,只有 -1 到1 之间 ,画出图形才能正常显示。
比如我的屏幕是 1920x1080,画一个正方形,顶点数组(-1,-1,1,1) 刚好盖住屏幕
如果顶点数组设置成 (1,1,1920,1080) 就大的跟天一样,完全盖住了屏幕。
求大神指导一下少设置了什么, 哦,在画顶点之前,我设置了 glviewport (0,0,1920,1080),别的没啥了
glCreateShader
...
glCreateProgram
...
glViewport(0, 0, width, height);
...
GLuint vPositionHandle = glGetAttribLocation(programHandle, "vPosition");
GLuint vColorHandle = glGetAttribLocation(programHandle, "vColor");
const GLfloat triangleVertices[] = { -1, -1, 1, -1, 1, 1, -1, 1};
// { 0, 0, 1920, 0, 1920, 1080, 0, 1080} 这样为何不可 ??????
const GLfloat triangleColor[] = { 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1};
glVertexAttribPointer(vPositionHandle, 2, GL_FLOAT, GL_FALSE, 0, triangleVertices);
glEnableVertexAttribArray(vPositionHandle);
glVertexAttribPointer(vColorHandle, 4, GL_FLOAT, GL_FALSE, 0, triangleColor);
glEnableVertexAttribArray(vColorHandle);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);//GL_TRIANGLES
注意:OPENGL ES 2.0 不同于 OPENGL ES 1.0 以及 OPENGL。。。
|