我正在尝试使用 RenderMonkey 推出的粒子系统示例,它使用“视图逆矩阵”来展示粒子效果的四边形。
我可以从 RenderMonkey 中看到所有值,但我无法弄清楚它们是如何计算“视图逆矩阵”的,它不是视图矩阵的逆矩阵或视图投影的逆矩阵。
这是我所知道的,名称是“变量语义”:
ViewPosition:
25.044189 105.753433 240.177200 1.0
ViewProjection:
1.663676 0.483806 -.351623 -8.377671
-.790789 2.134270 -.804967 -12.567072
-.084668 -.379295 -.922480 262.789917
-.084583 -.378916 -.921558 263.527130
View:
1 0 0 0
0 1 0 0
0 0 1 -200
0 0 0 1
ViewTranspose:
.913838 .148949 -.377775 0
-.257723 .931662 -.256095 0
.313814 .331391 .889776 0
-.000004 -.000081 -200 1
ViewInverse: <-This is what I want to calculate
.941038 -.327556 .084583 25.044195
.273659 .884044 .378917 105.753433
-.198891 -.333427 .921557 240.177200
0 0 0 1
编辑,我认为 RenderMonkey 中存在错误,因为 Viewmatrix 在我移动时永远不会更新,除非我激活另一个效果并返回原始状态。
来自这篇文章:http ://swiftcoder.wordpress.com/2008/11/25/constructing-a-billboard-matrix/
我相信它是:
V.a V.e V.i x
V.b V.f V.j y
V.c V.g V.k z
0 0 0 1
其中 V 表示 View 矩阵的旋转部分的倒数,x,y,z 表示 View 位置。但在我尝试之前我无法确认,因为渲染猴子错误。