All LuxCore archives are compressed so they may be about of the same size of the binary archive however it is likely to be slow due to the large amount of data to zip.bartek_zgo wrote: ↑Wed Mar 10, 2021 10:31 am Thanks Dade, I think using Text/XML archive is not a good idea. They will be huge. Am I right?
reading flm files
Re: reading flm files
-
- Posts: 117
- Joined: Mon Oct 26, 2020 11:42 am
Re: reading flm files
I'm trying to save one exr file for each displacement group.
And this works perfectly. I get one image for each channel that is processed by a pipeline.
But than I start render on 2 machines. I get 2 flm files.
I do merge firstFilm.AddFilm(sedondFilm).
firstFilm.SaveOutput(filePath, OUTPUT_RADIANCE_GROUP, Properties_with_id)...
But this way has 2 problems:
- it looks that I can not use pipelines. That is huge problem. There is no OIDN denoiser.
- I don't know which channel is which one. During the render I set an unique file name for each output so I can find it easily. In the film I found only group number.
Am I doing something wrong?
Code: Select all
film.imagepipelines.0.0.type = "NOP"
film.imagepipelines.0.1.type = "TONEMAP_LUXLINEAR"
film.imagepipelines.0.1.sensitivity = "100"
film.imagepipelines.0.1.exposure = 3.2
film.imagepipelines.0.1.fstop = 22
film.imagepipelines.0.2.type = "TONEMAP_LINEAR"
film.imagepipelines.0.2.scale = "0.39"
film.outputs.0.type = "RGB_IMAGEPIPELINE"
film.outputs.0.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000.png"
film.outputs.0.index = 0
film.outputs.1.type = "MATERIAL_ID"
film.outputs.1.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_idmaterial.png"
film.outputs.2.type = "OBJECT_ID"
film.outputs.2.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_idobject.png"
film.outputs.3.type = "ALBEDO"
film.outputs.3.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_albedo.exr"
film.outputs.4.type = "AVG_SHADING_NORMAL"
film.outputs.4.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_avgShadingNormal.exr"
film.imagepipelines.1.0.type = "NOP"
film.imagepipelines.1.1.type = "TONEMAP_LUXLINEAR"
film.imagepipelines.1.1.sensitivity = "100"
film.imagepipelines.1.1.exposure = 3.2
film.imagepipelines.1.1.fstop = 22
film.imagepipelines.1.2.type = "TONEMAP_LINEAR"
film.imagepipelines.1.2.scale = "0.39"
film.imagepipelines.1.radiancescales.1.enabled = 1
film.imagepipelines.1.radiancescales.2.enabled = 0
film.imagepipelines.1.radiancescales.3.enabled = 0
film.outputs.5.type = "RGB_IMAGEPIPELINE"
film.outputs.5.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_multilight_74956_12.exr"
film.outputs.5.index = 1
film.imagepipelines.2.0.type = "NOP"
film.imagepipelines.2.1.type = "TONEMAP_LUXLINEAR"
film.imagepipelines.2.1.sensitivity = "100"
film.imagepipelines.2.1.exposure = 3.2
film.imagepipelines.2.1.fstop = 22
film.imagepipelines.2.2.type = "TONEMAP_LINEAR"
film.imagepipelines.2.2.scale = "0.39"
film.imagepipelines.2.radiancescales.1.enabled = 0
film.imagepipelines.2.radiancescales.2.enabled = 1
film.imagepipelines.2.radiancescales.3.enabled = 0
film.outputs.6.type = "RGB_IMAGEPIPELINE"
film.outputs.6.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_multilight_74956_13.exr"
film.outputs.6.index = 2
film.imagepipelines.3.0.type = "NOP"
film.imagepipelines.3.1.type = "TONEMAP_LUXLINEAR"
film.imagepipelines.3.1.sensitivity = "100"
film.imagepipelines.3.1.exposure = 3.2
film.imagepipelines.3.1.fstop = 22
film.imagepipelines.3.2.type = "TONEMAP_LINEAR"
film.imagepipelines.3.2.scale = "0.39"
film.imagepipelines.3.radiancescales.1.enabled = 0
film.imagepipelines.3.radiancescales.2.enabled = 0
film.imagepipelines.3.radiancescales.3.enabled = 1
film.outputs.7.type = "RGB_IMAGEPIPELINE"
film.outputs.7.filename = "/home/node/matadorNode/tmp/0_FI_68803_271618_0000_multilight_74956_16.exr"
film.outputs.7.index = 3
But than I start render on 2 machines. I get 2 flm files.
I do merge firstFilm.AddFilm(sedondFilm).
firstFilm.SaveOutput(filePath, OUTPUT_RADIANCE_GROUP, Properties_with_id)...
But this way has 2 problems:
- it looks that I can not use pipelines. That is huge problem. There is no OIDN denoiser.
- I don't know which channel is which one. During the render I set an unique file name for each output so I can find it easily. In the film I found only group number.
Am I doing something wrong?
Re: reading flm files
As I wrote in my previous post:
Dade wrote: ↑Tue Mar 09, 2021 2:25 pmYou can save an .exr for each light group and than combine them on client software: the result is just the sum of each .exr scaled according the user light group scale. This probably more efficient than transmitting the .flm (.exr file format is a lot more compact). However you loose the image pipeline post processing (you have to do it on client) so may be not applicable.bartek_zgo wrote: ↑Tue Mar 09, 2021 2:10 pm But we want to give e feature to send flm file to adjust lights. How can I do this?
-
- Posts: 117
- Joined: Mon Oct 26, 2020 11:42 am
Re: reading flm files
So the only possibility to get oidn working, is to use one computer to do the job. In that case I can use image pipelines.
Let say that we will start now with only one machine. I have pipelines like defined in previous post. So I get separate image for each light group.
In pipeline I have OIDN, TONEMAP_LUXLINEAR and TONEMAP_LINEAR. Than I make a sum. Is it correct?
Or I have to output the image without any pipeline, make a sum, and than apply on my own TONEMAP_LUXLINEAR, TONEMAP_LINEAR. As this operations are linear I can execute them in any order I want, right?
Let say that we will start now with only one machine. I have pipelines like defined in previous post. So I get separate image for each light group.
In pipeline I have OIDN, TONEMAP_LUXLINEAR and TONEMAP_LINEAR. Than I make a sum. Is it correct?
Or I have to output the image without any pipeline, make a sum, and than apply on my own TONEMAP_LUXLINEAR, TONEMAP_LINEAR. As this operations are linear I can execute them in any order I want, right?
Re: reading flm files
Yes, you need to combine the RADIANCE_GROUP AOVs than you can apply any tone mapping, gamma correction, etc.bartek_zgo wrote: ↑Fri Mar 12, 2021 2:46 pm Or I have to output the image without any pipeline, make a sum, and than apply on my own TONEMAP_LUXLINEAR, TONEMAP_LINEAR. As this operations are linear I can execute them in any order I want, right?
-
- Posts: 117
- Joined: Mon Oct 26, 2020 11:42 am
Re: reading flm files
What about denoiser? Can I apply it to RADIANCE_GROUP AOVs before combining them, or I have to do it after?
And what is more important. How I can apply denoiser?
And what is more important. How I can apply denoiser?
Re: reading flm files
You should apply the denoiser only after having merging the groups. You need to modify LuxCore to allow the loading of arbitrary data in a stand alone film.bartek_zgo wrote: ↑Mon Mar 15, 2021 7:30 am What about denoiser? Can I apply it to RADIANCE_GROUP AOVs before combining them, or I have to do it after?
And what is more important. How I can apply denoiser?
It may be possible to obtain the same result using the background image plugin and rendering an empty scene but it is a very convolute trick.
-
- Posts: 117
- Joined: Mon Oct 26, 2020 11:42 am
Re: reading flm files
So as I understand at this moment there is no way to do this.
1. I can not use flm files, as they are not OS independent.
2. I can not take RADIANCE_GROUP images from pipelines after all Tonemap modifications, because merge has to be done BEFORE tonemaping. I don't understand why as I use only Linear operations in pipeline, but I trust you. If you could explain why that wold be perfect.
3. I can try to implement all the pipeline by myself, but in that case I will not have OIDN.
1. I can not use flm files, as they are not OS independent.
2. I can not take RADIANCE_GROUP images from pipelines after all Tonemap modifications, because merge has to be done BEFORE tonemaping. I don't understand why as I use only Linear operations in pipeline, but I trust you. If you could explain why that wold be perfect.
3. I can try to implement all the pipeline by myself, but in that case I will not have OIDN.
Re: reading flm files
It isn't possible with any LuxCore API modification or convoluted trick.bartek_zgo wrote: ↑Mon Mar 15, 2021 11:07 am So as I understand at this moment there is no way to do this.
-
- Posts: 117
- Joined: Mon Oct 26, 2020 11:42 am
Re: reading flm files
Could you be so kind and explain why I can not merge images produced by image pipelines?
I've done some simple test. I grab 3 images written by image pipelines 1-3 (from previous post). Merge them manually. And than compare to the image produced by luxcore when all radiance groups are enabled. They look to be identical. So where is the problem? It will not work when I will start to multiply them?
I've done some simple test. I grab 3 images written by image pipelines 1-3 (from previous post). Merge them manually. And than compare to the image produced by luxcore when all radiance groups are enabled. They look to be identical. So where is the problem? It will not work when I will start to multiply them?