Unity入门精要(笔记)

2017-12-09  本文已影响40人  Kim_9527

Draw Call:理解为一个命令,由CPU发起,GPU接收,命令指向一个需要被渲染的图元列表,计算数据后输出为像素

顶点着色器:每个定点都会调用一次,完成坐标的变换(将定点坐标从模型空间转换到其次裁剪空间)和逐定点的光照。

三角形设置:由得到的信息计算每个图元覆盖的像素,计算像素的颜色

三角形遍历:检查每个像素是否被一个三角网格覆盖。被覆盖则生成一个片元(片元并不是真正意义上的像素)

片元着色器(像素着色器):进行逐片元的操作,输入的是对顶点着色器输出的信息插值得到的结果(为了在片元着色器中进行纹理采样,通常在定点着色器阶段输出每个顶点对应的纹理坐标)

逐片元操作:决定片元的可见性,混合颜色信息

HLSL(DirectX):High Level Shading Language

Cg(Nvidia):C for Graphic

GLSL(OpenGL):OpenGL Shading Language

DrawCall数量影响:DrawCall之前CPU向GPU提交数据,DrawCall多时,过多的CPU提交数据造成CPU过载

Unity Shader:用ShaderLab编写,ShaderLab是Unity提供的编写UnityShader的一种说明性语言

通过Shader名称的字符串中添加'/'修改对应Shader出现在菜单中的位置

Properties:用于包含需要显示在Inspector面板中的属性的语义块

\\ Example
Properties{
  Name("display name", PropertyType) = DefaultValue
}

SubShader

常见渲染状态

Pass语义块

Fallback:如果所有的SubShader都用不了的话就使用Fallback提供备选的Shader

表面着色器(Surface Shader)

顶点/片元着色器(Vertex/Fragment Shader)

Unity Shader并非是真正的Shader

Unity中的笛卡尔坐标系

点(Point):维度空间里面的一个位置,主要为二维空间或者三维空间

矢量(vector):包含了模和方向的有向线段,小写粗体表示,通常用于相对于某个点的偏移

单位矢量:模为1的矢量,也称为归一化的矢量,将矢量转化成单位矢量的过程叫做归一化,单位矢量使用小写粗体字符上添加'^'表示

矢量的点积

矢量的叉积

矩阵(Matrix)

方块矩阵

对角矩阵

单位矩阵

逆矩阵

正交矩阵

上一篇 下一篇

猜你喜欢

热点阅读