1.数学
齐次坐标:点p=a+b+c+o(原点),向量p=a+b+c,所以向量的其次坐标(a,b,c,0),点(a,b,c,n)
其次坐标变换,n>1放大,n<1缩小
对称变换 ,| -1 0 0 0 |
| 0 1 1 0 |
| 0 0 1 0 |
| 0 0 0 1 |
[x,y,z] = [x,y,z,n] * Mat变换矩阵 T1 = { x11,x12,x13,x21,x22,x23,x31,x32,x33}比例、旋转、对称、交错变换 T2 = {x41,x42,x43}平移变换 T3 = {x14,x24,x34}投影变换 T4 = {x44}整体比例缩放
参考:https://blog.csdn.net/zx3517288/article/details/79154036
四元数:(x,y,z,w),(x,y,z)表示向量,w表示旋转角度,
四元数q1*q2叉乘: (w1*w2 - x1*x2 - y1*y2 - z1*z2) + (w1*x2 + x1*w2 + y1*z2 - z1*y2) i + (w1*y2 - x1*z2 + y1*w2 + z1*x2) j + (w1*z2 + x1*y2 - y1*x2 + z1*w2) k
参考:https://www.cnblogs.com/mengdd/p/3238223.html
2.glsl
顶点shader和片段shader
attribute顶点相关,uniform顶点无关数据,varying顶点和片段之间传递数据
变量前加highp、mediump、lowp精度声明
vec4:rgba、顶点坐标(齐次坐标)、
vec3:法线坐标(顶点所在面的法线)、
vec2:纹理坐标
sampler2D:访问二维纹理
法线坐标参考:https://blog.csdn.net/zhw_giser/article/details/11950307
3.hlsl
4.shader toy(webgl使用glsl规范)
学习的网站:https://www.shadertoy.com
5.shader editor(goole插件或者网页)
6.geeks3d
http://www.geeks3d.com/shader-library/
7.glsl参考