能不能给个具体例子 ,详细说明,顺时针逆时针还是索引法?以及坐标旋转方法。不用给我讲很多例子 ,只用搞懂一种做法就好了?
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 coord4={{l,t},{r,t},{r,b},{l,b}};
绘制时用索引指定顶点顺序:
0,1,3
1,2,3
也就是说glDrawArrays传输或指定的数据是最终的真实数据,在绘制时效能更好
而glDrawElements指定的是真实数据的调用索引,在内存/显存占用上更节省
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。