开发者社区 问答 正文

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

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

展开
收起
爵霸 2016-06-14 11:11:13 2957 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等