Tue, Nov 19, 10:50 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 18 10:25 pm)



Subject: A light meter for lighting experiments


bagginsbill ( ) posted Thu, 05 January 2006 at 1:07 PM · edited Tue, 19 November 2024 at 10:38 AM

file_316869.jpg

While trying to figure out some really subtle stuff with image based lights, I was having big problems trying to see what was going on. So I thought if I could make a way to render an object showing different color bands representing the strength of the light, it would be really useful.

This is the result. The image shows my light meter material. It produces 8 color bands.

Black - no light reaching here at all
Red - very very dark (up to 1/6th of maximum)
Orange - very dark (1/6th to 2/6th)
Yellow - dark (2/6th to 3/6th)
Green - medium (3/6th to 4/6th)
Blue - light (4 to 5 6ths)
Violet - bright (5 to 6 6ths)
White - Overexposed - whiter than white

To use it, just attach to any object, like a sphere. This version is set up to show you the amount of light using the standard diffuse node. You can replace that with any of the lighting nodes and it will show you what is going on really well.

I'll be posting more stuff after this message, including the material file. I'd post the object I use as well but it is too big to post in the forums. If somebody wants to host the object, I'd be happy to send it. However, you can use any object at all - just attach my material to it and you are good to go.

The image here uses a point light in the center of the light meter object. Of course you can use any other lights as well, which is the whole point.

I've learned some very interesting things about IBL and the shader nodes using this device.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:14 PM

file_316870.jpg

This is diffuse overexposed by 10 percent. If you see white on the light meter, there is too much light in your scene and stuff is being washed out.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:16 PM

file_316871.jpg

Default clay. Pretty close to diffuse.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:19 PM

file_316872.jpg

Clay with roughness=1. Notice the weird shape of the bright areas. It seems to be sensitive to both the camera and the light, unlike diffuse which ignores the camera position.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:21 PM

file_316873.jpg

Default Blinn - strong light on backlit edges.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:22 PM

file_316874.jpg

Specular with roughness = .2


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 1:24 PM

file_316875.jpg

Default glossy - notice how hot the highlight is.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Bobasaur ( ) posted Thu, 05 January 2006 at 1:24 PM

A very clever way do check things out. I wonder how I could do something like this In LightWave. Lighting is such a pain...

Before they made me they broke the mold!
http://home.roadrunner.com/~kflach/


bagginsbill ( ) posted Thu, 05 January 2006 at 1:25 PM · edited Thu, 05 January 2006 at 1:26 PM

file_316876.jpg

Here is the material file you can download and put in your runtime/libraries/materials folder. Make sure to remove the ".txt" from the end of the file name first and replace with ".mt5".

Message edited on: 01/05/2006 13:26


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


anxcon ( ) posted Thu, 05 January 2006 at 1:47 PM

I've made and used this system since P5 came out nodes slightly different, but same end effect nice for adjusting lighting


bagginsbill ( ) posted Thu, 05 January 2006 at 2:21 PM

file_316877.jpg

Thanks Bobasaur.

Anxcon - did you share it? If so, I wish I'd known - took me all day to make it!

Here is what the meter looks like in action - V3 underexposed. Meter is mostly orange and yellow - too dark. This is with a tricky combination of custom IBL nodes and a specular-only infinite light.

Experimenting with Vicky and props takes a long time. So turn off Vicky, fine tune the meter, then render again with Vicky and props. Next post will have tuned render based on optimizing the meter.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Thu, 05 January 2006 at 2:21 PM

file_316878.jpg

Here she is correctly exposed. Only took a couple minutes to try 20 different settings of lights with just the meter. First try with Vicky back in produced this.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


philebus ( ) posted Thu, 05 January 2006 at 2:27 PM

Outstanding work. I can't tell you how useful this is going to be! Thank you for posting this.


MachineClaw ( ) posted Thu, 05 January 2006 at 2:54 PM

lightBookmark


Bobasaur ( ) posted Thu, 05 January 2006 at 3:03 PM

Sigh. I'm still a PPP user so I can't use this material. Do either of you (bagginsbill or Anxcon) speak Lightwave? I do all my main rendering in that. However, I don't understand enough of what your material is doing (Blender? Mathfunctions?) to even try to reproduce this in LightWave. Is there a simple explanation of how this material works?

Before they made me they broke the mold!
http://home.roadrunner.com/~kflach/


Singular3D ( ) posted Thu, 05 January 2006 at 3:47 PM

bookmark - lighting ;-) Very helpful!


bagginsbill ( ) posted Thu, 05 January 2006 at 3:51 PM

Sure I can explain it. I have no idea what the equivalent of any of these is in LW, but if you know how LW works you may be able to translate the steps.

The best way to explain this is bottom up.

But first, notice that I turned off all of the built-in diffuse and specular on the main PoserSurface. That's because I don't want the object to respond to light with any of the default behavior. So I set Diffuse_Value and Specular_Value to 0. No other options are on by default so the PoserSurface is done.

Now look at the bottom right node - Diffuse. This is just the built-in node that calculates, based on the lights in the scene, how much diffuse light will be sent from each spot on the figure. Because I wanted to test diffuse light, that's what I used. To test other kinds of lighting models, just replace this node with the appropriate generator. In any case, what this node should do is make a value from 0 to 1. But sometimes it makes a value GREATER than 1. This is if you have too many or too strong lights in the scene. It also turns out it can make values less than 1, but we don't need to worry about that for this material.

One thing that might turn up with other programs is integer vs. floating point math. Poser converts from integer math, such as colors from a texture image, to floating point numbers. The integers are usually from 0 to 255. So if you are dealing with integers, this may be a pain.

Anyways, the diffuse node (or whatever other node(s) you want to test) is plugged into the "hsv" node. This is not a requirement unless you intend to plug in a test node that generates colors instead of just shades of gray. For example, the Poser "skin" node by default generates skin tones. The math we're going to do will get confused by that, so I use the HSV node with Saturation = 0. What this does is turns the test node into a black-and-white generator, even if it would otherwise produce color.

Next the HSV goes into the Math_Functions:Ceil node (just above the diffuse.) The Ceil function is short for "ceiling", which means to round fractions up to the nearest whole number, i.e. 0.0 stays 0.0, .00001 becomes 1.0, .9 becomes 1.0, 1.0 stays 1.0, 1.001 becomes 2.0, etc. Now this wouldn't be useful here because the input is already at most 1.0 right? But notice the factor on Value_1 is 6.0. That means multiply the value times 6.0 before calculating the ceiling. So now our number is 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, etc. If the input was a 1.0, the output is 6.0 which means we're at maximum. So a properly exposed image only has values JUST UNDER 6.0 at most.

Ok now look above the Ceil node at the ColorRamp with black,red,orange, and yellow. A ColorRamp takes its Input and chooses a color from the 4 you enter. 0 gets black, .3333 gets red, .6666 gets orange, and 1.0 gets yellow. Values between those get interpolated - a blend of two colors is chosen, with appropriate fractions of each color based on the input. However, our input here is whole numbers from 0 through, 7. I want 3 to be yellow. So if I divide the input by 3, then 3 becomes 1, which is yellow. If the input is 2, it becomes .6666 which is orange, etc. Since the ceiling function already rounded the test nodes output to whole numbers, it means this node will produce EXACTLY the colors I typed in, without interpolating. Which is why the ceiling was used. Now a ColorRamp can't divide its input by 3, but it has a multiplying factor, so I multiple by 1/3 which is roughly .3334 (I round up slightly to guarantee I hit the yellow full on.) Of course values 4, 5, 6, and 7 are going to be yellow here too, but we'll take care of that later.

Poser's ColorRamp only comes in 4 color versions, and I need eight colors. So what I'm going to do is start another calculation and peel off the 4, 5, 6, and 7s. To do that look to the left of the Ceil. It is a Subtract math node. It takes its Value_1 and subtracts 4.0 from it. So 4, 5, 6, 7 becomes 0, 1, 2, 3. Now I do the divide by 3 trick again and feed that to the second color ramp, mapping 4, 5, 6, 7, to green, blue, purple, white. With me still?

Finally the tricky part - combining the two ramps. In the upper left is a Blender node. This takes two inputs, and blends them based on the "Blending" value. A Blending=0 chooses 100% of input_1 and none of input_2. A Blending=1
chooses 100% of input_2 and none of input_1. Values in between would proportionally blend between the two colors. But again, I don't want proportional blending, I want all of one ramp or the other, depending on which one is in the right range.

This is the job of the Math_Function:Step node. A Step function examines two values. If the first is LESS than the second, it returns 0. If the first is GREATER or EQUAL to the second, it returns 1. At least that's what the documentation says. But when I tested it, I found what it actually does is if the first is LESS than or EQUAL to the second, it returns 1, and otherwise 0!!! So with a value from 0 to 3, it generates a 1. Plugging that into the Blender, I need the Blender Input_2 value for the black->yellow ramp when the step gives a 1, because that means the value was <= 3. For step inputs >3, it produces 0, so Blender Input_1 is used, which is the green->white ramp.

Finally, this is all plugged into the alternate_diffuse input of the surface. It turns out the alternate_diffuse input just draws the color - it does NOT apply diffuse lighting to the result. So this is really just the same as the Ambient input, but without a value multipler. Which is why I plugged it in there instead of Ambient_Color - I was saving the step of having to set Ambient_Value to 1, LOL!


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


EnglishBob ( ) posted Thu, 05 January 2006 at 4:16 PM

Very clever. Saving this for future use, thanks.


Bobasaur ( ) posted Thu, 05 January 2006 at 4:22 PM

That is pretty amazing. Thank you very much for the explanation. I'm not sure how I'd implement it in LightWave but even if that never happens, sooner or later I'll upgrade my Poser and be able to use it.

Before they made me they broke the mold!
http://home.roadrunner.com/~kflach/


shedofjoy ( ) posted Thu, 05 January 2006 at 5:21 PM

bookmark

Getting old and still making "art" without soiling myself, now that's success.


operaguy ( ) posted Thu, 05 January 2006 at 6:15 PM

Wow! Can this help me get back the 33.6 hours I spent recently trying to light several tricky scenes with AO/IBL and spots that kept cancelling each other out? Thanks bagginsbill, especially for the straight-forward explanation in detail.


bagginsbill ( ) posted Thu, 05 January 2006 at 6:59 PM

Operaguy - I'm pretty sure it won't get those hours back :) Boy you people sure are making me feel good - guess I'll have to post some more discoveries next week.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


PabloS ( ) posted Thu, 05 January 2006 at 7:17 PM

great stuff!


linkdink ( ) posted Thu, 05 January 2006 at 10:30 PM

very clever, Baggins. I eagerly await more applications of this!

Gallery


bwldrd ( ) posted Fri, 06 January 2006 at 12:44 AM

Very cool, thank you much.

--------------------------------------------------------------------------------

Consider me insane if you wish, but is your reality any better?


artnik ( ) posted Fri, 06 January 2006 at 2:40 AM

Bookmark.


Indoda ( ) posted Fri, 06 January 2006 at 9:50 AM

Thank you for sharing this - Bookmarked.

The important thing is not to stop questioning.
- Albert Einstein

Indoda


RobynsVeil ( ) posted Sat, 07 November 2009 at 1:34 AM

Excuse my usual thick way of being, but is there some way I could get a copy of that Light Meter? It just doesn't show up in Firefox... anyone want to share with lil ol me?

Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2

Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand] 

Metaphor of Chooks


Anthanasius ( ) posted Sat, 07 November 2009 at 2:52 AM

It look very usefull but if i want a little light like candle ? May be the scene was underexposed !

Génération mobiles Le Forum / Le Site

 


RobynsVeil ( ) posted Sat, 07 November 2009 at 3:39 AM

I guess this light meter is more about optimal lighting (to prevent over-exposure) - your situation, Anthanasius, isn't likely to suffer from that sort of problem. However, the whole inverse square law principle as outlined by BagginsBill would make your lighting far more realistic because of the way the light decays coming away from the candle...

Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2

Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand] 

Metaphor of Chooks


Anthanasius ( ) posted Sat, 07 November 2009 at 4:07 AM

I'll try thx

Génération mobiles Le Forum / Le Site

 


nruddock ( ) posted Sat, 07 November 2009 at 5:15 AM

Attached Link: http://www.renderosity.com/mod/forumpro/media/folder_7/file_316876.jpg

> Quote - Excuse my usual thick way of being, but is there some way I could get a copy of that Light Meter? It just doesn't show up in Firefox... anyone want to share with lil ol me?

You MUST right click, "Save As", and change the extension to MT5.
(When the conversion to PHP happened, all the attachments got treated as images, which is why some show up as broken)


RobynsVeil ( ) posted Sat, 07 November 2009 at 5:23 AM

You beauty!!! worked a treat... thanks heaps, NRuddock...

Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2

Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand] 

Metaphor of Chooks


Nance ( ) posted Sat, 07 November 2009 at 5:37 PM

Missed this one way back when!  Thanks for the original info, the repost, and the DL fix tip.


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.