检测矩阵是否镜像 OpenGL 中的对象
Detecting whether if the matrix mirrors object in OpenGL
当对象被镜像时(缩放向量的每个轴的乘积<0),需要反转剔除模式以防止视觉伪影。 (只能看到背面)
如果 scaleX > 0,立方体看起来很正常:
但是如果 scaleX < 0 看起来很奇怪:
我们可以反转剔除模式来解决这个问题。
gl.cullFace(gl.FRONT)
但是,我想测试一个矩阵是否应该反转剔除。但是,由于轮换,我不确定该怎么做。
有没有办法检测矩阵是否镜像对象?
您可以只检查您的坐标 determinant of your transfromation matrix is negative. This can also be interpreted as a change in "handedness" 是否为 space。
当对象被镜像时(缩放向量的每个轴的乘积<0),需要反转剔除模式以防止视觉伪影。 (只能看到背面)
如果 scaleX > 0,立方体看起来很正常:
但是如果 scaleX < 0 看起来很奇怪:
我们可以反转剔除模式来解决这个问题。
gl.cullFace(gl.FRONT)
但是,我想测试一个矩阵是否应该反转剔除。但是,由于轮换,我不确定该怎么做。
有没有办法检测矩阵是否镜像对象?
您可以只检查您的坐标 determinant of your transfromation matrix is negative. This can also be interpreted as a change in "handedness" 是否为 space。