【问题标题】:Some kind of edge lighting?某种边缘照明?
【发布时间】:2014-05-16 18:19:15
【问题描述】:

我正在玩弄点亮一个立方体。我还不确定我想要什么,所以我只是把它扔在那里。这就是我所拥有的......

...但我不喜欢锋利的边缘。移除照明显然意味着你再也看不到边缘了......

...这不好,因为您仍然需要能够识别立方体的面。

我想我正在寻找一种在面之间平滑过渡的照明,看起来不太刺眼,但仍能让您将物体识别为立方体。目前,镶嵌边缘并不是一个真正的选择。有人做过类似的吗?

更新:唉,我对@Jherico 的评论回复太长了,所以在这里添加更新。

目前我还没有真正的着色器,因为我刚刚开始使用它。我在 Photoshop 中玩耍,看看模糊边缘会是什么样子,或者添加一个薄高光以某种方式减弱它。我想我真正在寻找的只是摆脱严酷的边缘外观。

我正在研究电影行业是否有任何技巧,甚至是高质量渲染使用哪些技术来柔化边缘。或者也许考虑使用边缘照明之类的东西来将注意力从锐角上移开。我会图像镶嵌可以帮助很多,但理想情况下,我想要一种更便宜的技术,可以在低规格硬件上使用。

【问题讨论】:

  • 您可以考虑倒角。边缘处的简单 45 度斜角不需要任何特别花哨的镶嵌,并且可能会产生您想要的结果。当然,您将不再拥有立方体。

标签: opengl glsl hlsl lighting voxels


【解决方案1】:

以下三个想法可能符合您的愿望:

  1. 尝试使用延迟着色和模糊正常缓冲区。我确实担心对象与背景之间的边界。

  2. 创建一个伪造柔化边缘的法线贴图。

  3. 在曲面细分中,我相信您可以访问周围的基元。使用它们,您可以将其他面的法线发送到片段着色器。当靠近边缘时,将脸部的法线与最近的法线混合。

选择一个。

【讨论】:

    【解决方案2】:

    这主要取决于您的光照着色器的实现。如果增加环境光因子,同时降低定向光因子,边缘会变得不那么突出。 “无照明”基本上相当于 100% 的环境光。

    但是,如果没有看到着色器的实现,就不可能建议您实际执行此操作的方式。以我使用过的lighting shader 为例……环境光和定向光都作为统一值传入。 My implementation 以 0.2 的灰度值启动环境光。如果您要增加该值,则面和边缘之间的过渡应该具有较小的对比度。

    【讨论】:

    • 我更多地考虑的是某种边缘软化或一些旨在让你的注意力从粗糙边缘上移开的东西。我已经用更多想法更新了我的问题。
    猜你喜欢
    • 2022-11-27
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多