【问题标题】:glsl effect on low poly surfaceglsl 对低多边形表面的影响
【发布时间】:2012-08-10 09:46:37
【问题描述】:

我有一个顶点/片段着色器、点光源和衰减,如果我使用高多边形网格,我需要将这样的着色器应用于立方体面,并且我需要看到颜色渐变的变化 一切都很好,效果很好我的目标是在这个低多边形网格上产生渐变。

我尝试这样做 gl_FragColor = vec4(n,1) n = normal 但我得到每个表面的纯色 这可能是我看不到渐变的原因吗?

干杯

【问题讨论】:

  • 欢迎来到 SO!低多边形网格有什么问题?效果有何不同? 您尝试了什么?请阅读 SO 教程并尝试改进您的问题,因为它不太可能以当前形式得到回答。
  • 嗨 Bartek,你能告诉我常见问题解答在哪里吗?我的使用经验并不糟糕,所以我很抱歉 :) 我尝试为照明、phong、blinn 编写一些着色器,添加衰减,但是当我需要获得渐变时,我的立方体面上会出现纯色。我无法轻松调试一个 glsl 着色器,这没有帮助。
  • 页面顶部有一个链接。此外,您应该编辑您的答案并将您的附加信息放在那里。
  • 很可能,您的法线很糟糕。 95% 肯定。

标签: glsl


【解决方案1】:

您所观察到的行为是正确的。立方体是完全平坦的,因此每个面顶点的法线是相同的。

但是请注意,在计算 Phong 光照时,您还应该使用片段的位置,该位置在给定(子)面的 3 个(或 4 个,当使用四边形时)顶点之间进行插值。它可以用来计算给定片段位置的光位置和眼睛矢量之间的角度。

我最近遇到了类似的问题,我发现如果你想看到非平面的东西,你的立方体真的需要发光;我的意思是字面意思。将光泽度设置为相当高的值(250-500)。您应该在脸上看到一个聚焦的、移动的光点,直接反射到您身上。如果不是,您的闪电着色器可能是错误的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多