问题描述
- android 中opengl画正方体,其顶底坐标还有索引是怎么计算和定义的?
-
能不能给个具体例子 ,详细说明,顺时针逆时针还是索引法?以及坐标旋转方法。不用给我讲很多例子 ,只用搞懂一种做法就好了?
解决方案
解决方案二:
我表示OPENGL 我不懂,同等答案
解决方案三:
opengl es画图形都是通过三角形来画的,当然还可以画直线和点
画图形的时候有两种方法:glDrawArrays( ) 和glDrawElements( )
比如画一个由2个三角形组成的正方形,左上角坐标是l,t,右下角坐标是r,b
使用glDrawArrays绘制时,画2个三角形,需要这样传:
(l,t),(r,t),(l,b)
(r,t),(r,b),(l,b)
也就是说传的顶点数据就是按照顺时针或者逆时针排好顺序的,两个三角形的6个顶点
而用glDrawElements画的话可以这样
float coord[4][2]={{l,t},{r,t},{r,b},{l,b}};
绘制时用索引指定顶点顺序:
0,1,3
1,2,3
也就是说glDrawArrays传输或指定的数据是最终的真实数据,在绘制时效能更好
而glDrawElements指定的是真实数据的调用索引,在内存/显存占用上更节省
时间: 2024-10-21 18:15:05