7

我在互联网上搜索了教程、实现和帮助。没有什么。

我唯一能找到的是将 mat4 的左上角 3x3 矩阵设置为标识的广告牌着色器实现。这确实抛弃了旋转,但实际上也抛弃了缩放。

有没有一种方法可以做不会丢弃(非均匀)缩放的广告牌?

注意:我不是在寻找任何人来为我编程。只是我无法理解具体细节。欢迎任何指向正确方向的指针。

4

1 回答 1

12

左上角的 3x3 矩阵包含旋转和比例。如您所见,对上面的 3x3 核弹都进行核弹。您需要先从 3x3 中提取比例来保留比例。3x3 的每一列,作为一个向量,通过取每个列向量的大小来告诉你每个方向的比例。

如果您的 4x4 矩阵是

RSX   RSY   RSZ   T
0     0     0     1

那么比例因子是

xScale = ||RSX||
yScale = ||RSY||
zScale = ||RSZ||

保存这些,然后形成一个新的 4x4 矩阵,做你已经在做的事情,但也要结合比例。

xScale 0      0      xT
0      yScale 0      yT
0      0      zScale zT
0      0      0      1
于 2013-04-10T22:55:20.307 回答