【问题标题】:Is it possible to import/process advanced light attributes (IES) in WebGL?是否可以在 WebGL 中导入/处理高级灯光属性 (IES)?
【发布时间】:2013-05-20 14:53:58
【问题描述】:

IES(照明工程学会)是一种文件格式 (.ies),可增强动画工具中的灯光。它添加了准确的衰减、色散、色温、空间发射、亮度等。这是一个显示照明产品真实外观的工业标准。许多动画工具(Maya、Cinema4D、Blender 等)都可以使用这种格式。

然而,我仍在寻找在 WebGL 框架中导入/使用 IES 的方法。使用动画工具(在我的情况下为 Blender)来导入和处理 .ies 文件,最后将项目导出为 webgl 格式对我来说似乎是最有前途的方法。我尝试了几个 WebGL 框架(three.js、x3dom、coppercube)和更多的导出格式/导入/转换器脚本,但都没有产生令人满意的结果。处理后的结果显示没有灯光、默认灯光或最多相同数量的灯光,没有其他属性。

有没有人知道动画工具 -> 导出功能 -> WebGL-framework 或 WebGL-ies-format-import 的有效组合可以解决问题?

是否有人遇到同样的问题并渴望解决?

【问题讨论】:

    标签: animation three.js webgl blender lighting


    【解决方案1】:

    Three.js 现在有一个区域灯示例。这是一个非常粗略的近似(经过一些严重简化后对面积积分的分析评估)。 Insomniac Games 在 GPU Pro 5 中有一篇文章提供了更准确的解决方案。

    这只会帮助您了解灯光的面积和形状;其他属性都靠你自己。

    附:从你的问题很难看出,但如果你的光格式包含光谱,那么最近有一些关于实时光谱照明的好文章:

    http://www.numb3r23.net/2013/03/26/spectral-rendering-on-the-gpu-now-with-bumps/

    【讨论】:

      【解决方案2】:

      您也许可以从 .ies 文件中传输 一些 属性(颜色、强度等),但 Three.js 渲染器根本不支持复杂的灯光属性 .ies(例如light) 是用来描述的。因此,即使您能够导入/导出这些属性,默认的 Three.js 灯光系统也无法正确渲染它们。

      即使您实现了自己的着色器和灯光(您可以在 Three.js 中实现),它可能仍然会非常缓慢和/或不准确,因为您可能需要一些基于光线跟踪/路径跟踪的方法才能获得足够好的结果.一般而言,WebGL 的渲染方法,无论您使用什么库或框架,都不太适合复杂、准确的灯光和阴影模拟。

      话虽如此,我会对任何解决方案都非常感兴趣,即使是粗略的近似支持也会很有用。

      【讨论】:

        猜你喜欢
        • 2019-07-12
        • 1970-01-01
        • 1970-01-01
        • 2011-03-28
        • 1970-01-01
        • 2016-06-18
        • 2014-08-13
        • 2011-02-10
        • 2022-12-05
        相关资源
        最近更新 更多