【问题标题】:Shader - Camera Space top Vector着色器-相机空间顶部矢量
【发布时间】: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


【解决方案1】:

感谢 Nico Schertler。获取相机向上向量的最简单方法是捕获视图矩阵的第二行。

这是一篇关于它的有趣文章:Understanding the View Matrix

【讨论】:

    猜你喜欢
    • 2022-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2022-11-29
    • 2012-07-23
    • 1970-01-01
    相关资源
    最近更新 更多