美文网首页shader
《Unity Shader入门精要》| 读书笔记(一)

《Unity Shader入门精要》| 读书笔记(一)

作者: 温素年 | 来源:发表于2020-03-26 20:53 被阅读0次

    最近又开始学习Unity Shader编程了,感觉和之前又很大区别。之前看的时候对Unity Shader是什么,能做什么很模糊,只是跟着写一写代码。时隔两年再看虽然大部分都忘了,但是对Shader的认识却清晰了许多。

    这本书现在看了七章,看的速度比较快,希望能尽快把各种效果弄明白。之前一直没有时间整理,今天把这几章的内容整理一下。


    第2章 渲染流水线

    明确一些概念:

    1. 渲染:把三维场景显示成二维图像

    2. 渲染流水线:实现渲染的过程,如下图所示。书里讲了每个步骤的具体操作,这里就不详细说明了。

    渲染流水线
    1. 在渲染流水线中,图中深色的步骤是可编程的,灰色的步骤是可配置的,最浅的步骤是不可编程且不可控制的。我们做的Shader编程就是对顶点着色器和片元着色器这两个步骤的编程控制。

    2. Unity Shader不是渲染流水线中的Shader。渲染流水线中的Shader是渲染的一个步骤;Unity Shder是实现Shader的工具。

    3. OpenGL和DirectX:用来控制整个渲染流水线,同时也提供了一些组件,连接了开发者与GPU接口。

    4. GLSL和HLSL:用来给渲染流水线中的Shader步骤编程。OpenGL对应了GLSL,DirectX对应了HLSL。还有一个NVIDIA公司的CG语言,语法与HLSL类似。

    5. Unity Shader中使用的是CG语言。

    第3章 Unity Shader基础

    1. 在Unity界面中显示写的Shader需要把Shader赋给Material,再把Material赋给Model。在Material上可以调节属性值。

    2. Unity中有很多内置的Shader可以方便我们直接使用,但是我还没有尝试使用过,所以先不介绍了。

    Unity的内置Shader们
    1. Unity Shader主要有Properties、SubShader、Fallback三个部分。有多个SubShader的目的是为了适应不同的平台,CG代码段就在Subshader中。

    第4章 学习Shader所需的数学基础

    这一章内容暂时没看,因为坐标变换是一个老生常谈的问题,打算结合后面的实践再深入理解。

    第5章 开始Unity Shader学习之旅

    1. 在CG代码段中可以定义顶点着色器函数、片元着色器函数和表面着色器函数等。
    2. 逐顶点执行顶点着色器函数,主要用来进行坐标变换;逐片元执行片元着色器函数,主要用来计算像素颜色。
    3. 表面着色器函数是Unity自定义的函数,方便我们写代码,其内部也执行了上面两个函数。

    后面两章的内容有点多,下一篇文章再详细讲吧!

    图片来自 东隆咚

    相关文章

      网友评论

        本文标题:《Unity Shader入门精要》| 读书笔记(一)

        本文链接:https://www.haomeiwen.com/subject/bmecuhtx.html