【问题标题】:Darkening the brightness of a normal? Flat shading使正常的亮度变暗?平面阴影
【发布时间】:2014-01-28 19:47:53
【问题描述】:

我想知道您将如何将整体亮度调暗至正常值。我正在使用平面着色并计算表面法线。我会减少正常的幅度吗?我曾尝试从 normal.x、normal.y 和 normal.z 中减去,但只有从正确的角度观看时效果才会更暗。

【问题讨论】:

  • 你还在使用着色器吗?
  • 你的意思是像 GLSL? .fs 和 .vs 文件?不。我应该,这有什么帮助?
  • @AlphaCentauriAB 您使用的是哪个版本的 OpenGL?
  • @rhughes 我使用的是 2.1

标签: opengl math vector


【解决方案1】:

如果您想通过仅调整法线来使平面阴影表面变暗,您应该将它们乘以因子:

  • 小于 1 使它们更暗(对光的反应更小)
  • 大于 1 以使它们对光更敏感(仅在点亮时更亮)

然而,这并不是在所有情况下都有效(例如平滑着色),因为在平滑着色计算中,法线会被插值和归一化。

但我强烈建议将法线归一化。

适当的解决方案是调整您的环境光和漫射光亮度和/或您的对象材质环境光和漫射组件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多