Hi @Sharlybg,
Can I ask exactly how you have setup your environment to use ACES in LuxCore? I am unable to get it working outside of Blender. Some actual examples rather than hypotheticals would be helpful.
Right now, BlendLuxCore has no colourspaces support, so am I right to assume you are using the File Saver, and then by hand editing the render.cfg and scene.scn? If so, could you please provide an example?
I am using the light ACES 1.2 pack you posted in your first post (but I also tried the full one with the same result). I have extracted it to a directory and set my OCIO environment variable to point there. Everything looks fine in Blender, and I can also render in BlendLuxCore, but obviously the image texture colourspaces are wrong when I use an ACES EXR or material with ACES colour values.
When I try running my exported scene with luxcoreui.exe (latest daily) the window opens, and just before it starts rendering the first pixel, I get this error and then it closes immediately:
Code: Select all
[LuxCore][3.703] [MergeSampleBuffersOCL] Compiling Film_MergeBufferInitialize Kernel
[LuxCore][3.703] [MergeSampleBuffersOCL] Compiling Film_MergeRADIANCE_PER_PIXEL_NORMALIZED Kernel
[LuxCore][3.703] [MergeSampleBuffersOCL] Compiling Film_MergeRADIANCE_PER_SCREEN_NORMALIZED Kernel
[LuxCore][3.703] [MergeSampleBuffersOCL] Compiling Film_MergeBufferFinalize Kernel
[LuxCore][3.703] [MergeSampleBuffersOCL] Kernels compilation time: 15ms
[LuxCore][3.828] [NVIDIA GeForce RTX 2080 Ti CUDAIntersect] Memory used for hardware image pipeline: 31893Kbytes
RUNTIME ERROR: OpenColorIO Error in OpenColorIOToneMap::Apply(): Color space 'cie_xyz_d65_interchange' could not be found.
I couldn't find any reference to
cie_xyz_d65_interchange in the ACES config.ocio file
I'd rather just copy what you have that's already working, but if it helps I'll also try to show what I am using.
Currently I am using some values that I hacked together from digging through Dade's and your various posts, and trying to reconcile those with the equivalent tokens I found in the very large ACES 1.2 config file. However I didn't find a current full example that I can follow.
In the render config: Ideally this would map LuxCore's internal linear FP32 representation to the Rec.709 Display transform to match what I see in Blender. Does that sound right?
Code: Select all
film.imagepipelines.000.0.type = "TONEMAP_OPENCOLORIO"
film.imagepipelines.000.0.mode = "COLORSPACE_CONVERSION"
film.imagepipelines.000.0.config = ""
film.imagepipelines.000.0.src = lin_srgb
film.imagepipelines.000.0.display = rec709_display
film.imagepipelines.000.0.view = sRGB
In the scene: One of the textures is ACES sRGB EXR (it's just mapped on a plane, not as an HDRI environment):
Code: Select all
scene.textures.1828644407304Color.type = "imagemap"
scene.textures.1828644407304Color.file = "imagemap-00001.exr"
scene.textures.1828644407304Color.gain = 1
scene.textures.1828644407304Color.colorspace = "opencolorio"
scene.textures.1828644407304Color.config = ""
scene.textures.1828644407304Color.name = "srgb_texture"
scene.textures.1828644407304Color.storage = "half"
One of the materials is a Glossy node with ACES sRGB colour:
Code: Select all
scene.materials.Material__g1829123584264.type = "glossy2"
scene.materials.Material__g1829123584264.kd = opencolorio "" srgb_texture 0.025715 0.063317 0.012282
It also doesn't make any difference whether I leave the configs empty ("") or specify the full path to the config.ocio file, I still get the same error.