IUtility是一个单纯的接口,用于工具类继承,工具类中有具体的实现方法
Architecture中有注册接口,获取接口的方法
IUtility是一个单纯的接口,用于工具类继承,工具类中有具体的实现方法
Architecture中有注册接口,获取接口的方法
Unlit 顶点片元shader
Properties 属性
里边写了外边可以看得到 类似变量
shader 属性名 加下划线_MainTex ("Texture",2D) = "white"{} 名称,类型,颜色。
_Int ("Int",Int) = 2
_Flot("Float",float) = 1.5
_Range("Range",Range(0.0,2.0)) = 1.0
_Color("Color",Color) = (0,0,0,0)
_Vecotor("Vector",Vector) = (1,4,3,8) 矩阵
_Cube("Cube",Cube) = "white"{}
_3D("3D",3D) = "black"{}
unity shader 已经封装了一层 基于Cg语言
shader lab
Unlit shader
Surface shader 顶点片源shader
Unlit 顶点片元shader
image Effect 图片特效shader
shader Variant Collection 库文件
命令缓冲区 drawcall 类似udp
shader 着色器 图形学渲染。
先进行测试,再进行运算,防止性能浪费。
合并混合
就是同一个像素点因为深度,透明度原因,是多个片元叠加显示出来的
类似画画 在一个地方画不同颜色叠加
距离摄像机远近 越近的越优先显示。 相当于记录一下当下距离摄像机最近的点,并不断更新。
将最新值写到缓冲区。
逐片元操作 一个一个片元的绘制操作,绘制时要加测试。
模板测试 对比 没通过 舍弃片元
shader 就是 GPU 编程 控制渲染过程
OpenGL 图形接口程序
DirectX 微软 多媒体编程接口 给软件提供服务
unity 使用的Cg语言
OpenGL GLSL
Direct3D HLSL
最主要用的就是Cg
顶点进行插值 产生片元 纹理坐标 片元盖上了之后
片元,像素点,经过一系列测试,决定最终呈现
片元理解为像素点
就是三角形设置 三角形遍历 根据屏幕位置生成像素点,点包含颜色信息,
几何化 光栅化 主体都是GPU
着色器都是可编程的
着色器 走点线面的过程 不要的裁剪掉, 进行屏幕映射,将三角形显示 绘制 成像
渲染状态 用了什么东西,或者说由什么组成
CPU是甲方 GPU是乙方
静态合批 同样的mesh 同样的材质球 一次处理
动态合批 顶点数小于800 相同的合成一个新的
GPU instance 也是合成一个 降低draw call
渲染流程
光栅化就是根据数据显示图像
应用 相当于在Unity编辑器下
几何 将顶点坐标转换成屏幕空间
光栅 将数据进行图像显示
RAM 主内存
显存 显卡的存储器
draw call 绘制命令 CPU 向GPU 发送的指令 越少越好
准备开始啦,加油
降低draw Call
batches 就是drwaCall 指令 降低批处理 越少越好
Saved by batching 越多越好。
顶点数和三角数越少越好
shadow casters 越少越好
将自己p好的图片效果,放进去进行展示。
反射探针,收集范围内信息,进行反射。
都需要烘焙。
灯光探侦组,反射光照信息,通过增加探针丰富还原光照阴影细节
指定距离内使用的烘焙光,距离外无阴影