gpt4 book ai didi

c++ - 使用矩阵反转顶点缠绕顺序

转载 作者:行者123 更新时间:2023-11-28 06:50:11 27 4
gpt4 key购买 nike

我目前正在实现反射(使用渲染到纹理的方法),到目前为止它是有效的,唯一的问题是反射版本中的所有对象都是由内而外渲染的。

我想避免更改内部 OpenGL 顶点缠绕顺序,以确保我不会过多地干扰其他渲染操作。

相反,我想转换我的反射矩阵来进行反转。 (这应该只是另一种反射(reflect)?)

这是我的反射矩阵(转换相机的 View 矩阵):

glm::mat4 matReflection(
1.f -2.f *n.x *n.x,-2.f *n.x *n.y,-2.f *n.x *n.z,-2.f *n.x *d,
-2.f *n.x *n.y,1.f -2.f *n.y *n.y,-2.f *n.y *n.z,-2.f *n.y *d,
-2.f *n.x *n.z,-2.f *n.y *n.z,1.f -2.f *n.z *n.z,-2.f *n.z *d,
0.f,0.f,0.f,1.f
);

n = 反射平面的法线; d = 平面的距离

甚至可以通过矩阵变换来反转顶点顺序吗?如果是这样,具体如何?

最佳答案

如果在所有其他变换(包括投影)之后应用矩阵将 y 轴缩放 -1,您最终会得到一个上下颠倒的图像(您可以通过包含类似 uv.y = 1 的内容来使用它-uv.y 在你的管道中的某个地方)。

关于c++ - 使用矩阵反转顶点缠绕顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095804/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com