0
过去两周我一直在教自己编程openGL ES 2.0,但是我正在努力绘制某些对象。我正在使用Mosync来编写代码,因为我可以为所有平台编程。到目前为止,我已经写了一个程序来绘制一个三角形,另一个绘制一个正方形。我正在寻找一种绘制圆的方法,我知道我已经确定了中心,半径,角度和分辨率,但是我不知道如何去实现它的工作。如何在OpenGL ES 2.0跨平台上画圈?
我可以直接从draw()绘制圆吗?还是必须定义正方形的顶点并使用片段着色器仅将像素着色为圆形?
谢谢,我试着用第二种方法使用纹理坐标。我从Brad Larsons的答案中复制了顶点和片段着色器: http://stackoverflow.com/questions/11452729/how-do-i-draw-a-filled-circle-with-opengl-es-on- iphone?answertab = votes#tab-top 但是,这个圆只是绘制在我的四边形的任意一个三角形上,有什么想法? –
您的顶点或纹理坐标可能存在错误。如果使用三角形风扇构建四边形,它应该如下所示:GLfloat Positions [] = {-1.0f,-1.0f,1.0f,-1.0f,1.0f,1.0f,-1.0f,1.0f, }; GLFloat TexCoords [] = {0.0f,1.0f,1.0f,1.0f,1.0f,0.0f,0.0f,0.0f}; glDrawArrays(GL_TRIANGLE_FAN,0,4); – ClayMontgomery
谢谢,这是我的纹理坐标问题,现在工作正常。 –