2D纹理贴图

        本文简单介绍一下2D纹理贴图的概念,仅适合初学OpenGL ES的新手观看,如果大神们在浏览时发现了错误,请留言联系本人修改,谢谢。

        之前介绍过如何绘制平面图形,平面图形绘制完成以后可以对图形进行涂色。但是很多复杂的样式如果通过涂色来实现的话,就算是把编码的程序员累死,也做不到高清的效果,毕竟像素点太多了。此时就需要2D纹理贴图出马了。

        所谓的2D纹理贴图,就是把纹理素材图上的图案贴到我们绘制的每个三角形的平面上。就像小时候给四驱车贴外壳贴纸一样,把素材从贴纸板上撕下来,贴到车壳上。车壳就相当于我们绘制的三角形平面。

        绘制三角形时,是通过点的坐标决定的三角形的位置,2D纹理贴图也是如此。纹理素材图是一张平面图,我们根据这张图建立一个坐标系,以图的左上角作为坐标原点。右方向作为s轴正方向,下方向作为t轴正方向,贴图的最右边的S轴坐标为1,最下边的T轴坐标为1,具体样式如下图。

        2D纹理贴图实际就是给每一个顶点坐标都在素材图上面对应一个纹理坐标,然后用组成三角形的3个顶点对应的3个纹理坐标在纹理素材图上组成一个三角形纹理图像区域,最后把纹理三角形贴到由顶点三角形平面上。过程就这么简单。

        绘制复杂的图形或者绘制空间立体图形时也是一样,虽然顶点是三维坐标,但是每个三角形都是一个平面,使用2D纹理进行贴图时不需要考虑那么多,只要把素材图贴到三角平面就成功了。

 

使用案例:

       素材图如下,是一个四色正方形。

        我这里只绘制了一个三角形举例子,三角形三个顶点坐标顺序为:(-1,0,0),(1,0,-1),(0,1,-1)。对应纹理坐标顺序为(0,0.7),(1,0.7),(0.5,0.2)。

        实际结果如下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值