回顾总结。
回顾总结。
点乘判断两个向量的关系 意义求夹角。
判断敌人在前在后。
两个向量点乘大于0 时,向量夹角为锐角。
两个向量点乘等于0时,向量夹角为直角。
两个向量小于0,向量为钝角。
有向线段 向量(也叫矢量)
AB B点减去A点 x减x y减y
向量只代表长度和方向。 坐标代表位置。
笛卡尔坐标系
OpenGl x向右 y向上
DirectX x向右 y向下
相对坐标系。
unity shader 已经封装了一层了
Surface Shade 和Unlit Shader 类似
有Properties 属性
SubShader 里边有Tags, Render设置,
pass通道
最后是FallBack
pass 通道里 也可以写Tags Render 设置,
外边里边写了,走外边的。
pass 通道名称 必须全大写
use pass通道名称
pass通道里的Tags
"LightMode"="ForwardBase"//定义该Pass通道在Unity渲染流水中的角色
"RequireOptions"="SoftVegetation"//满足某些条件时才渲染该Pass通道
FallBack off上面的SubShader都使用不了的时候使用这个。
subShader 可以有很多 根据平台运行不同的subshader
都不走就走fallback 语句
可选
Tags
Render设置
Cull off
ZTest Always
Zwrite off
LOD 100
必须写的。
Pass 通道 先后顺序 不建议使用多个
通道里有通道名称 Tags Render设置。
Command只能由表现层向底层系统发送
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
顶点进行插值 产生片元 纹理坐标 片元盖上了之后
片元,像素点,经过一系列测试,决定最终呈现
片元理解为像素点
就是三角形设置 三角形遍历 根据屏幕位置生成像素点,点包含颜色信息,