个人学习笔记 ——【技术美术百人计划】图形 1.3 纹理的秘密

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


图形 1.3 纹理的秘密

B站:
【技术美术百人计划】图形 1.3 纹理的秘密

PPT:
纹理介绍


一、纹理三大问

1.是什么?

• 什么是纹理:可以供shader读写的结构化存储形式(理解为一个容器)
eg:二维的纹理:ijk,ij对应的就是像素点,k对应的就是像素点的RGBA值

• 纹理除了包含存储的信息以外,还会包含纹理采样的设置。

2.为什么?

a.降低建模工作量 = 牺牲几何细节
b.降低存储空间
c.提高读取速度

3.如何?

在下面的纹理管线里继续

二、纹理管线

在这里插入图片描述

1.Projector function投影函数

• 获取要渲染的,将模型空间投影到纹理坐标空间中,转化为纹理坐标
//此处的投影和摄像机中的投影不是一个概念
• 投影函数一般在模型建模的过程中使用(展UV时),投影的结果存在顶点数据中(我们一般直接使用顶点数据)
//作为了解:
①有些特殊渲染方式读取特定投影函数(eg:环境贴图)
②建模中常用的函数:球形、圆柱形、平面投影

2.Corresponder function通讯函数

• uv坐标可以通过通讯函数进行灵活的扩展
• eg:实现平移、缩放、旋转 / 控制图像应用方式
• 经过灵活扩展之后,得到的纹理空间的坐标,就可以拿这个坐标获取纹理值(这个过程就是纹理采样)
• 着色器中的纹理通常会以sample variable (采样变量) 的形式存在
• 是一种Uniform类型的变量(理解为全局变量),在处理不同的片元时,这个变量是一直不变的
• 一个Sample是和一个texture对应的
• 采样过程中的一个概念:依赖纹理读取
• 当我们使用texture2D或者类似的方式访问纹理时,只要像素着色器不是直接用顶点shader传过来的数据,而是用需要计算的数据,就会产生这个叫作依赖纹理读取的东西(哪怕是简单的交换uv坐标)
• 它会影响到性能
• 这就是uv偏移计算放在顶点shader的原因

3.shader三种变量类型

3.1 Uniform变量

• uniform变量是外部application程序传递给(vertex和fragment)shader的变量。因此它是application通过函数glUniform**&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值