Page 1 of 2

Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 2:37 pm
by pro
Hi!
I'm using .ies file as a point light, and I would like to understand parameters related to .ies files available in Blender more in depth, especially the definition of Efficacy. In my experiements I'm using Irradiance AOV.

As it's poined out in the LuxCore's docs (redirects to Wikipedia), the efficacy is ratio of luminous flux to power. In my experiment I first opened .ies file with another program, which displays parameters of .ies files, as shown on image:
Image
I suppose power and luminous flux are defined in each .ies, and those should be also read by BlendLuxCore (please correct me if I'm wrong?).

In Blender API it's written that if "setting 0 for both power and efficacy bypasses this feature and uses only the lamp gain". I leave gain 1 (as default), so I would expect that power of .ies file would be read from provided .ies file and efficacy would be calculated as efficacy = luminous_flux/power. BlendLuxCore should in that case set Power=61 and Efficacy=6400/61= 104,91.

But something else happens... I am sending the comparison of experiment1 (power=efficacy=0) and experiment2 (power=61,efficacy=104,91).
Image

So my questions are: How exactly is efficacy defined and used in LuxCore? How is it used in Irradiance AOV? Which efficacy value would be correct for me to use instead of 104,91 in the case above?

Thank you very much for your time and help! :)

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 3:33 pm
by Sharlybg
Efficacy is in luxcore like a multiplier of power:
so a lamp with :

40Watts and 17 efficacy = 40 X 17 = 697 lm

and your ies in this image is :

ies-desc.png
ies-desc.png (11.37 KiB) Viewed 5370 times
6400 / 17 = 376 Watts so in luxcore you will enter power = 376 and efficacy = 17

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 7:12 pm
by lighting_freak
Hi,

This seems to be a good chance to be the smartass.

The power in W that is stored in an IES file is the electrical power consumption. It doesn't really say anything about the real brightness.

The luminous flux in lm is the measure that gives the amount of light that is emitted by the luminarie.

So if you want to use it correctly in luxcorerender simply set the power to 1W and the efficacy to 6400 lm/W.

@Developers
Maybe a good way to invoke a simplification, please erase the power and efficacy input and replace it with the pure luminous flux [lm] input.

BR

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 8:00 pm
by Dade
The relevant code is here: https://github.com/LuxCoreRender/LuxCor ... ht.cpp#L39

Code: Select all

emittedFactor = gain * color * (power * efficency / color.Y());
As usually, it is as meaningful as the inputs (aka "garbage in, garbage out").

As far as I remember, IES file doesn't say anything about the real emitted power (as written by Lighting_freak), it is just a profile (i.e. a scale factor between 0 and 1 that will modulate the "emittedFactor" value listed above).

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 8:19 pm
by marcatore
lighting_freak wrote: Tue Feb 26, 2019 7:12 pm @Developers
Maybe a good way to invoke a simplification, please erase the power and efficacy input and replace it with the pure luminous flux [lm] input.
BR
I think it's the best solution, at least when you select to use an IES profile.
I think it's a good suggestion.

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 8:57 pm
by CodeHD
Perhaps drifting a bit off-topic now, but I wanted to add to the last comments:
At least in the Blender-interface (I never used the standalone) - The Sun/Distant light source has no Intensity option other than gain. For the Sun itself, that makes sense as the Sun just has some intensity given by nature, but for "distant" that is not the case.

So my idea:
- Add a setting for these sources-types too, with the default values (1000 W/m^2) inserted. This would have to be in lux though, which might add more confusion than it removes.
- To avoid this confusion, hide the settings by default and have some "advanced settings" button. Same could be done for Watt + efficiacy vs lm. This, again, is a trade between helping anyone and additional programming/code maintenance effort.
- And lastly, judging by the formula Dade has quoted: Is there any reason to have the "gain" factor at all? Other than it currently being the only setting for Sun/Distant, of course...

Any opinions on this?

Re: Understanding .ies parameters, efficacy

Posted: Tue Feb 26, 2019 9:40 pm
by Dade
CodeHD wrote: Tue Feb 26, 2019 8:57 pm - To avoid this confusion, hide the settings by default and have some "advanced settings" button. Same could be done for Watt + efficiacy vs lm. This, again, is a trade between helping anyone and additional programming/code maintenance effort.
It is because if power and/or efficency are zero, it becomes:

Code: Select all

emittedFactor = gain * color;
(if check the linked code, you will see). So the logic is:

- or you use "gain * color" (i.e. artistic way);

- or you use "color * power * efficency" (i.e. simulation way, they are data usually available from the lamp data sheet);

Anyway, this stuff is there to mimic the old Lux behavior (something that has been defined nearly 10 years ago).

Re: Understanding .ies parameters, efficacy

Posted: Wed Feb 27, 2019 9:13 am
by Sharlybg
About that i continue to think we should turn Luxcore default lamp and camera setting to fit artistic workflow. Most of the user work like that and it help avoid mistake and useless long rendertime (This is something i always see in scene of people having trouble to get short rendertime with Luxcore).

For me things should be like this by default (and it is close to what cycles do):

#1 Camera Tonemap = Linear 1 no auto.

#2 light lamp power = 10 and efficacy = 1

#3 Default Env light = Background color

#4 Default clamping = 100


This ways things become much easier and predictable. also you don't need to worry about light techinical stuff. The feeling of slower render engine disappear hugely as luxcore is no longer computing with extrem settings.


Or If you want we can create an artistic preset mod that user can load. Like the idea ;)

Re: Understanding .ies parameters, efficacy

Posted: Wed Feb 27, 2019 10:14 am
by marcatore
I'm in the opposite side...I'm not versus you @Sharlybg, just my POV.

I think it always depends on what kind of job you're doing and what kind of workflow you have.
Mine needs to have some real technical references and have tools that replicate the real technical values, it's a good way to speed up my job.

I write "speed up" because if you don't have any sure step where put your feet, you lost time find the right way to climb the stair.
So, considering that in our virtual world everything is possible, it's very easy to enter in the infinite loop of deciding what you have to tweak.

If you "cut" some variables, you can tweak just the other ones.
So, as in my job I have illumination design for the interiors, I can follow it creating some IES lamps according to the light fixture requested and using some realistic camera settings, at the end, the only tweaking I had to do is related to the materials.

So, my "easy" proposal is to have both of the worlds... some easy and fast artistic settings and some "advanced (or best technical) settings" for more technical needs.

I don't know if it's possible for the few devs we have now.... it's just my opinion and I hope , soon or later, it will be something like this.

EDIT: oh... and I quite agree about some default settings for new users. It will helps surely

Re: Understanding .ies parameters, efficacy

Posted: Wed Feb 27, 2019 10:39 am
by Sharlybg
So, my "easy" proposal is to have both of the worlds... some easy and fast artistic settings and some "advanced (or best technical) settings" for more technical needs.
So we are in the same ground as it is what i suggest. 2 differente preset mod Artistic Mod ___vs___ Technical Mod
Or If you want we can create an artistic preset mod that user can load. Like the idea ;)