当前位置: 首页 > 知识库问答 >
问题:

SceneKit Swift-使用文件中的HDR环境光照贴图

苏磊
2023-03-14

我正在尝试在使用SceneKit的Swift项目中使用球形HDR图像作为环境灯,并且在使用标准32bpc HDR成像格式时遇到困难。我可以轻松使用PNG地图,但无法从OpenEXR. exr或Radiance. hdr文件加载图像。

在这个文档页面中,它似乎描述了我所追求的功能。

我找不到任何apple文档来描述它,因此我目前的最佳猜测是编写自己的函数来加载文件,然后使用自定义CGDataProvider创建一个CGImage实例,因为这个容器似乎支持浮点和高动态范围值。然后将该CGImage设置为环境光的内容。

是否有人能够确认这是否是正确的想法,或者这是否确实已经在某处实施。我以前没有做过任何苹果的开发(来自图形背景),也不确定我现在是否有点像在做白鹅。

共有1个答案

谭毅然
2023-03-14

你到底有什么“麻烦”?scene.lightingEnvironment.contents="envmap.exr"应该有效。

 类似资料:
  • 在上一节中,我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观,但是这仍不能对一个物体的视觉输出提供足够多的灵活性。 在上一节中,我们将整个物体的材质定义为一个整体,但现实世界中的物体通常并不只包含有一种材质,而是由多种材质所组成。想想一辆汽车:它的外壳非常有光泽,车窗会部分反射周围的环境,轮胎不会那么有光泽,所以它没

  • 简介 这堂课是视频课程,没有介绍新的OpenGL相关技术/语法。不过,大家会学习如何利用现有知识,生成高质量的阴影。 本课介绍了用Blender创建简单场景的方法;还介绍了如何烘培(bake)光照贴图(lightmap),以便在你的项目中使用。 无需Blender预备知识,我会讲解包括快捷键的所有内容 关于光照贴图 光照图是永久、一次性地烘焙好的。也就是说光照图是完全静态的,你不能在运行时移动光源

  • 在生活中,错综复杂的光线与凹凸不平的物体表面相互反射,使得整个环境都被照亮,仿佛整个场景被一层环境光所笼罩。通过调节环境光,是调节环境整体光照最为直接的方式,也是一种有效表达环境气氛的方式。 Cocos Creator 3D 中的环境光,如下图所示: 环境光面板 以下介绍了面板的所有属性: 属性 解释 groundAlbedo 地面反射光 skyColor 天空颜色 skyIllum 天空亮度 返

  • 环境光是指场景整体的光照效果,是由于场景内若干光源的多次反射形成的亮度一致的效果,通常用来为整个场景指定一个基础亮度。因此,环境光没有明确的光源位置,在各处形成的亮度也是一致的。 在设置环境光时,只需要指定光的颜色: THREE.AmbientLight(hex) 其中,hex是十六进制的RGB颜色信息,如红色表示为0xff0000。 创建环境光并将其添加到场景中的完整做法是: 例8.1.1 v

  • 在三维场景中有时候需要设置模型的阴影,也就是阴影贴图或者说光照贴图·lightMap,一般Threejs加载外部模型的光照贴图·lightMap,三维模型加载器可以自动设置,不需要程序员通过代码去设置,不过为了让大家更好理解光照贴图·lightMap,这里就通过Three.js代码设置场景模型的阴影贴图·lightMap。 //创建一个平面几何体作为投影面 var planeGeometry =

  • 我目前正忙于一个来自图片的视频项目。 问题: 我正在从UE4中提取图片,由于一个错误,在屏幕截图的渲染过程中并没有考虑所有的灯光。输出是HDR图像。我想获得更好的亮度,因为导出的图片非常暗,就像第一次曝光一样。 尝试: 在我的例子中,Tonemap算法的主要问题是,全局亮度根据区域的亮度而变化:在第二幅图像中,窗口添加了大量的灯光,因此该算法降低了所有亮度以调整平均值。在渲染的视频中,光线变化非常