模型空间 => 齐次裁剪空间 =>顶点色
| |
物体顶点坐标 =>长宽高为1的世界坐标空间内=>顶点色(平面2维坐标系)
模型空间 => 齐次裁剪空间 =>顶点色
| |
物体顶点坐标 =>长宽高为1的世界坐标空间内=>顶点色(平面2维坐标系)
减少Draw Call 的方法
1静态合批
2动态合批
3GPU instaning
1,Occlusion Culling遮挡剔除,基于摄像机(CPU处理)
2,shader信息(CPU处理)
3.可读可写的渲染数据会同时占用内存和显存?
语义 |
描述 |
SV_POSITION |
裁剪空间中的顶点坐标,结构体中必须包含一个用该语义修饰的变量。等同于DX9中的POSITION。 |
COLOR0 |
通常用于输出第一组顶点颜色,不是必须 |
COLOR1 |
通常用于输出第二组顶点颜色,不是必须 |
TEXCOORD0-TEXCOORD7 |
通常用于输出纹理坐标,不是必须 |
1 纹理类型设置成normal map unity会自动转换像素 0-1 到 -1到1
2 UnpackNoraml 解压 法线贴图 直接使用
_Int("int",Int)
摄像机:
近平面:超出近平面范围将被舍弃
远平面:超出远平面范围将被舍弃
FOV:视椎体角度
uniform vec2 _res;
uniform vec3 _move;
out vec4 fragColor;
void main()
{
vec3 uv = vec3(gl_FragCoord.xy/_res,1);//映射坐标为0~1
mat3 M = mat3(1,0,_move.x, //x=-0.5
0,1,_move.y,
0,0,1);//平移矩阵
uv = uv * M;//相乘 OpenGL为列向量
vec4 color = texture(sTD2DInputs[0], uv.xy);
fragColor = TDOutputSwizzle(color);
}
模型空间→世界空间→相机空间→屏幕空间
世界空间顶点=模型空间顶点*世界矩阵
相机空间顶点=模型空间顶点*世界矩阵*相机矩阵
uniform vec2 _shear;
uniform vec2 _res;
out vec4 fragColor;
void main()
{
vec2 uv = gl_FragCoord.xy/_res;//将坐标系改为0~1
mat2 shaer = mat2(1,_shear.x,
_shear.y,1); //二维切变矩阵 此时_shear.x=-0.2 _shear.y=0
uv *= shaer; //坐标与矩阵相乘
vec4 outcol = texture(sTD2DInputs[0], uv);
vec4 color = outcol;
fragColor = TDOutputSwizzle(color);
}
正常
XY:
2D缩放矩阵[kx,0
0,ky]
3D缩放矩阵[kx,0,0
0,ky,0
0,0,kz]
和差公式
sin(a+b) = sin(a)*cos(b)+cos(a)*sin(b)
sin(a-b) = sin(a)*cos(b)-cos(a)*sin(b)
cos(a+b) = cos(a)*cos(b)-sin(a)*sin(b)
cos(a-b) = cos(a)*cos(b)+sin(a)*sin(b)
旋转矩阵
点P.X=角度*cos*P的模长
点P.Y=角度*sin*P的模长
P角度=a
P1和P的夹角=b
即
P.X=r*cos(a)
P.Y=r*sin(a)
r=1
则P1的X点 = r*Cos(a+b)
根据和差公式得 = r*Cos(a)*Cos(b)-r*Sin(a)*Sin(b)
化简后得 = P.X*Cos(b)-P.Y*Sin(b)
P1的Y点 = r*Sin(a+b)
根据和差公式得 = r*Sin(a)*Cos(b)+r*Cos(a)*Sin(b)
化简后得 = P.Y*Cos(b)+P.X*Sin(b)
整理得
P1.X = P.X*Cos(b)-P.Y*Sin(b)
P1.Y = P.X*Sin(b)+P.Y*Cos(b)
矩阵写法
[x1,y1]=[cos(b),-sin(b),sin(b),cos(b)]*[x,y]
RotX = [cos(a),sin(a),0
-sin(a),cos(a),0
0, 0, 1]
RotY = [cos(a),0,-sin(a)
0,1,0
sin(a), 0, cos(a)]
RotZ = [1,0,0
0,cos(a),sin(a)
0,-sin(a),cos(a)]
听的时候思绪飘了 后面不懂再听一遍吧
5*-7=-45!!! 我的天!
422 自发光和环境光
标准的光照模型:只考虑直接光照
光源-->物体-->摄像机
直接光照的四个部分:
自发光:不需要其他物体的反射直接发光给摄像机,不对其他物体产生影响
高光反射 :只考虑入射光线与物体表面的法线的角度
漫反射
环境光:间接光照,其他物体反射的光照,也叫全局光照
422 自发光和环境光
标准的光照模型:只考虑直接光照
光源-->物体-->摄像机
直接光照的四个部分:自发光(不需要其他物体的反射直接发光给摄像机 ) 高光反射 漫反射 环境光(间接光照,其他物体反射的光照,也叫全局光照)
121 光照(平行光)
高光反射:反射,入射角等于出射角
漫反射:折射后由表面折射折射出去的
BRDF:光照模型,次时代渲染,真实的光照模型
125:Blinn-Phong高光反射