OpenGL ES顶点数据绘制技巧

在OpenGL ES中绘制三维图形,如长方体,关键在于巧妙组织顶点坐标。通过将对立面的坐标相邻存储并确保对立面坐标对应轴的值相反,可以简化数据管理。例如,按逆时针顺序保存前面(AABB')和后面(D'DCC')的坐标,同时考虑对面的对应关系,如前面从A'开始,后面从D'开始。这种布局方式有助于优化渲染效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     

在OpenGL中,绘制一个长方体,需要将每个顶点的坐标放在一个数组中。保存坐标时有一些技巧(由于字母下标不好表示,因此将下标表示为单引号,如A1将在后文中表示为A' ):

(1)将对立面坐标保存在相邻的位置,如坐标的保存顺序为:前面(A'ABB'),后面(D'DCC'),上面(D'A'B'C'),下面(DABC),左面(D'A'AD),右面(C'B'BC)。因为对立面的坐标除了其垂直的那根轴的坐标相反以外,其他坐标值一样:如前面和后面(垂直于z轴),x和y的坐标一模一样,z轴的坐标值刚好相反。

        //前面
        -1.0, 1.0, 1.0,  
        -1.0, -1.0, 1.0,
        1.0, -1.0, 1.0,
        1.0, 1.0, 1.0,
        
        //后面
        -1.0, 1.0, -1.0,  
        -1.0, -1.0, -1.0,
        1.0, -1.0, -1.0,
        1.0, 1.0, -1.0,

(2)对立面按相同的顶点和顺序保存坐标。如前面(A'ABB')和后面(D'DCC'),由于是对立面,所以前面由A‘开始逆时针保存坐标,而对立面后面则从D’开始按逆时针保存坐标。这样就可以按照第(1)条的方式保存坐标数据了。

(3)保存坐标时,没有固定的顺序,如前面,可以从A‘开始保存,也可以从A, B, B'开始保存。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值