开发者社区> 问答> 正文

android 中opengl画正方体,其顶底坐标还有索引是怎么计算和定义的?

能不能给个具体例子 ,详细说明,顺时针逆时针还是索引法?以及坐标旋转方法。不用给我讲很多例子 ,只用搞懂一种做法就好了?

展开
收起
爵霸 2016-06-14 11:11:13 2894 0
1 条回答
写回答
取消 提交回答
  • 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指定的是真实数据的调用索引,在内存/显存占用上更节省

    2019-07-17 19:37:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载