opengl 顶点坐标和sampler2D纹理坐标

在利用非固定管线进行纹理渲染的时候,经常要用到纹理和顶点坐标的映射关系,这里从三维角度介绍下二维的纹理坐标映射:

顶点坐标:

首先得明确:

sampler2D纹理坐标

纹理的生成是由图片像素来生成的,而图像的存储是从左上角开始,对应于上图,就是图像左上角像素生成的纹理部分就在纹理左下角处,即 上下颠倒

映射

为了能够让图像正确的显示,就必须将生成纹理的对应点再颠倒一次,负负得正,哈哈。

 

最终,在写顶点坐标 和 纹理映射坐标的时候,就直接将 顶点坐标的矩形 于 上图 右边图 对应位置 对应起来即可。

//    //顶点坐标
    public float pos[] = {
            -1.0f,  1.0f,
            -1.0f, -1.0f,
            1.0f, 1.0f,
            1.0f,  -1.0f,
    };


    public float coor[] = {
            0.0f , 0.0f,
            0.0f , 1.0f,
            1.0f , 0.0f,
            1.0f , 1.0f
    };

为了正确的渲染我们的纹理,因此在映射的时候,将顶点坐标的左上角,对应在纹理坐标的左下角,即 左上对左下,右上对右下,,这样纹理就可以 正确的渲染出来。

当然也可以通过,对其后的纹理进行旋转,如左上对左下,右上对右下 后再将对应好的纹理映射坐标旋转 90 度(下面一节samplerExternalOES的纹理映射会讲解到这种方法),就可以实现纹理的旋转90度了。当然旋转还可以利用矩阵来实现。

 

 

 

 

 

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值