opengl 纹理贴图

30 篇文章 10 订阅

由于项目需要做了一个opengl的纹理贴图,想想还是要记下来。

opengl纹理贴图,不仅要指明3维坐标,还要指明纹理坐标,纹理坐标第始终是左下角为0,0右上角为1,1。每一张

在电脑上面显示的图片的每个像素都可以按这个坐标定位。像这样先在3维坐标第中指定顶点,再指明纹理坐标,就可以完

美的把图贴上去。在Qt中用QOpenGLTexture类可以轻松的完成。假如我们要把一到六的数字正方形图片贴到一个正文体的

六个面。正方体的边长为2,顶点坐标如下

static const int coords[6][4][3] = {

 
        { { -1, +1, -1 }, { +1, +1, -1 }, { +1, -1, -1 }, { -1, -1, -1 } },
        { { +1, +1, -1 }, { -1, +1, -1 }, { -1, +1, +1 }, { +1, +1, +1 } },
        { { +1, -1, +1 }, { +1, -1, -1 }, { +1, +1, -1 }, { +1, +1, +1 } },
        { { -1, -1, -1 }, { -1, -1, +1 }, { -1, +1, +1 }, { -1, +1, -1 } },
        { { +1, -1, +1 }, { -1, -1, +1 }, { -1, -1, -1 }, { +1, -1, -1 } },
        { { +1, +1, +1 }, { -1, +1, +1 }, { -1, -1, +1 }, { +1, -1, +1 } }
    };
 
对于第一个面的四个顶点是正方体的后面。 


假设正方体后面的图片为数字1

该图片的纹理坐标为左下角(0,0),左上角(0,1),右上角(1,1),右下角(1,0)。

贴图时由于要贴在正方体后面,要将图片翻转180度,所以第一个面的四个顶点对应的纹理坐标应该是

于的几个面和上面方法一样,这样就可以完成数字贴图。

OK,参考Qt例程,有顶点坐标根据需要有部分修改

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值