Billboard与施密特正交
在游戏开发的过程中,Billboard的一般做法是通过view和up两个向量构建一个旋转矩阵,从而调整sprite facing使其与观察空间某个向量对齐(up / normal),而众所周知构建一个旋转矩阵需要三个正交基,但我们现在就只有view和up两个基,还不正交,所以免不了要用叉乘对原来这两个二维基向量进行“升维”
具体步骤是,先用 up×view 算出 right,构建出一个临时的坐标空间;然后再以这个临时空间为参考系,用 normal×right 算出up’,再在这由两个向量张成的二维平面上再做一次升维。
因为这样得到的三个基向量可以保证相互正交,所以像这样构建旋转矩阵是非常合理的。
这是叉乘的做法。
但我们又知道,旋转矩阵之所以要用三个正交基去构建,是因为他本身就是一个标准正交矩阵,而在 $$\mathbb{R}^3$$ 找一个平面的正交基可以使用施密特正交化,那上面提到的叉乘这种做法又和施密特正交有什么关系呢?
我们不妨由公式做一些简单的推导
假设有 $$view=(v_1,v_2,v_3)$$ , $$up=(u_1,u_2,u_3)$$ ...
从零开始的URP仿原神角色渲染
早期学习卡通渲染的一些记录(图片施工中)
B样条曲线-个人笔记
参考课程:
8.5.1 B样条曲线产生背景及定义
辅助理解:
我好饱啊:简单粗暴:B-样条曲线入门
沈经纬:深入理解B样条曲线(上)
Bezier曲线缺点
Bezier曲线一旦确定了特征多边形的顶点数 $n+1$ ,也就决定了曲线的阶次(n次)。如果阶数过高,则曲线中会有大量极值点,造成曲线波动现象明显
Bezier曲线或曲面的拼接比较复杂
Bezier曲线或曲面不能作局部修改,牵一发而动全身。因为每个Bernstein多项式在整个区间 $[0,1]$ 上都有支撑,所以每个控制点对整条曲线都有影响
B样条曲线采用分段连续多项式,整条曲线用一个完整的表达式表达,但表达式内部分量分段。使用低次曲线克服波动,使用分段多项式克服无法局部修改的局限
要求: $n+1$ 个型值点,共 $n$ 个区间,每个区间构造一个三次多项式,这 $n$ 个三次多项式拼在一起可以表达出特定的曲线,且段与段之间需要满足 $C^2$ 连续
数学表达式: $P(u)=\sum_{i=0}^nP_iB_{i,k}(u),u\in[u_{k-1},u_{n+1}]$
其中 $P_i(i= ...
GAMES202个人笔记(1)-基础引入
图片与公式施工中~可先行前往知乎阅读
GAMES202个人笔记(2)-实时阴影
图片与公式施工中~可先行前往知乎阅读
GAMES202个人笔记(3)-实时环境光照
图片与公式施工中~可先行前往知乎阅读
GAMES202个人笔记(4)-实时全局光照
图片与公式施工中~可先行前往知乎阅读
GAMES101个人笔记(1)-基础引入
GAMES101 P1-4
GAMES101个人笔记(2)-光栅化
GAMES101 P5-7
GAMES101个人笔记(3)-光照、着色、图形管线
GAMES101 P7-10