【问题标题】:OpenGL Shaders - Rotate a vertex using it's normalOpenGL 着色器 - 使用正常旋转顶点
【发布时间】:2015-04-03 13:43:42
【问题描述】:

鉴于 surfaceNormal (gl_NormalMatrix * gl_Normal)gl_Vertex 我如何旋转 gl_Vertex 以使其适应该法线。我想将它用于广告牌和一般旋转。

2 个问题:

  1. 您将如何使用表面法线旋转 gl_Vertex(在 .vert 着色器中)
  2. 应该在 GPU(在着色器中)还是在 CPU 上进行旋转? (请根据这个问题调整问题#1,给出2个Vector3fs,一个用于旋转(正常)另一个用于顶点位置,如果它应该在CPU上完成)

谢谢!

【问题讨论】:

  • 你我们的问题没有意义。 “旋转 gl_Vertex 使其适应正常”应该是什么意思?方向不描述旋转。

标签: java opengl camera rotation lwjgl


【解决方案1】:

在大多数情况下,旋转应该在 CPU 上完成,通过模型矩阵(或直接世界矩阵)的方式。

即使 CPU 比 GPU 慢,请记住,每个顶点都会执行一个顶点着色器,而链接到网格的模型矩阵,所以很多顶点,每帧只计算一次,如果您的网格是动态的,如果您的网格不会移动,则整个程序只有一次。

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多