光线追踪:视图变换、相机实现与阴影处理
视图变换
在构建场景时,视图变换是一个重要的步骤。我们可以通过左向量、真实上向量和前向向量来构造一个表示方向变换的矩阵:
orientation =
leftx
lefty
leftz
0
true upx
true upy
true upz
0
−forwardx
−forwardy
−forwardz
0
0
0
0
1
接下来,需要将平移变换附加到该方向变换上,以便在调整场景方向之前将其移动到合适的位置。可以通过将 orientation 矩阵与 translation(-from.x, -from.y, -from.z) 相乘来实现。以下是用伪代码表示的 view_transform() 函数:
function view_transform(from, to, up)
forward ← normalize(to - from)
upn ← normalize(up)
left ← cross(forward, upn)
true_up ← cross(left, forward)
orientation ← matrix( left.x,
left.y,
left.z,
超级会员免费看
订阅专栏 解锁全文
270

被折叠的 条评论
为什么被折叠?



