《Unity Shader入门精要》笔记(三) 基础纹理及透明效果

本文是《Unity Shader入门精要》笔记的第三部分,主要讲解基础纹理的使用,包括纹理坐标、WrapMode、Filter Mode、mipmap、高度纹理、法线纹理和切线空间等概念。此外,还探讨了透明效果,如透明度测试、透明度混合、渲染队列以及开启深度写入的半透明实现策略。
摘要由CSDN通过智能技术生成

第七章 基础纹理

  1. 如何理解纹理?纹理和单纯的颜色有什么区别吗?

    保存大量颜色的文件,通过给定坐标获取颜色,而不再是前面那种单纯的颜色,组合起来就能得到图片一样的效果。

  2. 纹理坐标怎么使用,怎么获取纹理颜色值?顶点着色器里面可以使用吗?

    每个定义的纹理,可以定义一个对应的_ST变量,会自动接收纹理坐标
    在顶点着色器中计算uv:

    o.uv = v.texcoord.xy * _MainTex_ST.xy + _Main_ST.zw;

    在片元着色器中使用uv

    fixed4 texColor = tex2D(_MainTex, o.uv);

    如果使用顶点计算颜色,可以在顶点着色器按之前的方式计算颜色值,最后在片元着色器中处理 return fixed4(o.color * texColor, 1.0);

  3. Unity中纹理的属性设置,WrapMode怎么理解。

    决定纹理坐标超过[0,1]范围之后,如何获取纹理。例如Repeat方式,超过1的部分又从头开始计算。
    Filter Mode属性,设置插值方式

  4. 什么是mipmap?如何使用?

    多级渐远纹理技术,就是生成多个不同大小的小纹理,在离视线比较远的地方,使用较小的纹理来采样。为什么要搞这个玩意呢?因为当物体比较远的时候,占用的像素数量变少了,uv变化就比较大,那么从源图像采样出来的像素值就非常不连贯了,而提前压缩成小图之后,效果就好很多。另一方面传递给gpu也只需要很小的一个图像了。

  5. 什么是高度纹理?法线纹理是什么?怎么使用?效果是什么样的?

    这些不同的纹理怎么理解呢?数据还是一样的数据,只是把颜色值当成是别的数据来对待,高度纹理存储的就是高度数据,法线纹理则是法线向量的数据。高度图一般跟法线图一起使用。
    由于color数值范围是[0,1],而法线方向的各分量取值却是[-1,1],所以在存储前需要转换: pixel=(no

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值