【发布时间】:2014-04-09 22:37:08
【问题描述】:
我并不专注于特定的着色器语言。但我正在尝试找到一种方法,让矢量始终来自我的视野顶部。
这里有一些截图来说明我需要什么。
编辑:我想要一个面具。这是一个仅遮罩底面的示例代码。
float mask = 1 - saturate(dot(float3(0.0, 1.0, 0.0), -worldNormal));
但是float3(0.0, 1.0, 0.0) 不在相机空间中,我想像上面的屏幕截图一样拥有它。
这可能是一个矩阵技巧。
【问题讨论】:
-
相机的向上向量是视图矩阵的第二行(或列,取决于您的 API)。如果没有纯视图矩阵,可以将向量作为着色器变量传递。
-
非常感谢@NicoSchertler 这正是我想要的。
标签: opengl directx glsl shader hlsl