How to properly simulate RGB LEDs ?

General questions about Indigo, the scene format, rendering etc...
User avatar
fused
Developer
Posts: 3648
Joined: Fri Sep 22, 2006 7:19 am
Location: Berlin, Germany
3D Software: Cinema 4D

Re: How to properly simulate RGB LEDs ?

Post by fused » Sat Jun 13, 2015 8:56 am

In Indigo, you can set emission scaling in the model properties.

Use the object picker on the emitter.
Attachments
emission scaling.PNG

User avatar
Headroom
Indigo 100
Posts: 1061
Joined: Wed Aug 08, 2007 1:07 pm
Location: Spartanburg, SC, USA
Contact:

Re: How to properly simulate RGB LEDs ?

Post by Headroom » Sat Jun 13, 2015 10:59 pm

Thanks fused!

How would I do that through the Blender/Blendigo interface with an external material ?

FakeShamus
Posts: 512
Joined: Wed May 02, 2007 11:34 am

Re: How to properly simulate RGB LEDs ?

Post by FakeShamus » Sun Jun 14, 2015 1:03 am

I don't think there's a way to do that. It does seem like it would make more sense if the emission scale were just built into the material definition. I'm sure there's a reason for the way it works now, but it does limit the use of external material lights.

User avatar
fused
Developer
Posts: 3648
Joined: Fri Sep 22, 2006 7:19 am
Location: Berlin, Germany
3D Software: Cinema 4D

Re: How to properly simulate RGB LEDs ?

Post by fused » Sun Jun 14, 2015 1:40 am

FakeShamus wrote:I don't think there's a way to do that. It does seem like it would make more sense if the emission scale were just built into the material definition. I'm sure there's a reason for the way it works now, but it does limit the use of external material lights.
It only seems that way :P

You might use the same material on different meshes and there are some emission scalings that depend on the mesh area, I think.

(Imho) It's more flexible this way. And it can easily be represented as a material property in the exporter (Cindigo does that).

I could swear it's a material property in In Blendigo as well.
And it is:
blendigo_emission_scale.PNG

FakeShamus
Posts: 512
Joined: Wed May 02, 2007 11:34 am

Re: How to properly simulate RGB LEDs ?

Post by FakeShamus » Sun Jun 14, 2015 2:08 am

yeah, it's in the material properties if you make a normal emitting material in Blender, but specifically talking about using an external emitting material, you lose the option of specifying the emission scale. the issue is the difference between how Blendigo defines emission scale (through the material properties) and Indigo (through the object properties). I think that creates a stumbling block in a situation like what Headroom is trying to do.

User avatar
Headroom
Indigo 100
Posts: 1061
Joined: Wed Aug 08, 2007 1:07 pm
Location: Spartanburg, SC, USA
Contact:

Re: How to properly simulate RGB LEDs ?

Post by Headroom » Sun Jun 14, 2015 2:30 am

Yea, I know that and that works fine if I define a Light source with a Material Type: Diffuse for example I can then make a check mark by Material Emission and also a check mark in Emission scale.
Then using RGB or blackbody or Uniform.
RGB is how I've always defined the LEDs in the render linked to in the first page.

However, if I use a tabulated spectrum I can only do that with an external material such as the "blue LED". In that case Blendigo does not present me with an option to define the emission scale.

Now if there is a way to do this by editing the .igm I'd be all ears ;-)

Edit: I see that FakeShamus explained the same. Thanks for the support mate!
Attachments
Screen Shot 2015-06-13 at 10.18.34 AM.png

User avatar
Headroom
Indigo 100
Posts: 1061
Joined: Wed Aug 08, 2007 1:07 pm
Location: Spartanburg, SC, USA
Contact:

Re: How to properly simulate RGB LEDs ?

Post by Headroom » Mon Jun 15, 2015 1:10 am

I think I have figured part of it out.
The first observation: This cannot be achieved through the Blender exporter. The .igm file has to be edited using a text editor and then loaded as an external material into Blender eliminating the ability to change the emission scale in Blender. At least now it can be changed using a text editor.

basically there are two "slots" that are available to define an emitter:

Code: Select all

[base_emission]
[/base_emission}
and

Code: Select all

[emission]
[/emission]
The emission scale will have to go into the [base_emission] and the tabbed values go into the [emission]

Code: Select all

<scenedata>
	<material>
		<name>blue LED escale</name>
		<phong>
			<diffuse_albedo>
				<constant>
					<rgb>
						<rgb>
							0.8 0.8 0.8
						</rgb>
						<gamma>2.2</gamma>
					</rgb>
				</constant>
			</diffuse_albedo>
			<exponent>
					<constant>1000</constant>
			</exponent>
			<base_emission>
				<constant>
					<uniform>
						<value>1500</value>
					</uniform>
				</constant>
			</base_emission>
			<emission>
				<constant>
					<regular_tabulated>
						<start_wavelength>4e-007</start_wavelength>
						<end_wavelength>7e-007</end_wavelength>
						<num_values>301</num_values>
						<values>
						0.00000000000000000
						0.00000000000000000
						0.00000000000000000
						0.00000000000000000
						0.00000000000000000
						0.02903256550680600
						0.09578499952499200
						0.18581110818272600
						0.27062033485108800
						.
                                                .
                                                .
                                                .
                                                .
						0.00000000000000000
						0.00000000000000000
						0.00000000000000000
						</values>
					</regular_tabulated>
				</constant>
			</emission>
			<layer>0</layer>
		</phong>
	</material>
</scenedata>
That material can easily be loaded into Indigo and the emission value scaled in the uniform tab. It's a little misleading that the slider only allows values of up to 10 indicating this as a maximum but manually values of up to 1,000,000.0 can be inserted into the field.
I'll experiment with this and post my findings.

I still would like to know what physical unit these numbers represent. Indigo after all is a physically based render engine ;-)

Edit: It seems that Blendigo's emission scale does not export properly so I posted a bug report http://www.indigorenderer.com/forum/vie ... =5&t=13561.

User avatar
Headroom
Indigo 100
Posts: 1061
Joined: Wed Aug 08, 2007 1:07 pm
Location: Spartanburg, SC, USA
Contact:

Re: How to properly simulate RGB LEDs ?

Post by Headroom » Mon Jun 15, 2015 11:39 am

I have to correct my statement!
Indigo does export emission scale properly. Unfortunately it is an object property and not a material property. A fact that the Blendigo interface hides from the user. While I understand the design decision behind it, in this case it has the disadvantage that I now not only have to manually create an .IGM file for the tabulated spectrum, but I also have to manually edit the emission scale parameters in the exported objects.igs file.

As opposed to the scene.igs file the objects .igs file does not use end of line characters, which makes manual editing a major PITA and of course this edit is lost after the next export.

What is even more disturbing - from a manual editing standpoint - is that the exporter does not use the object or mesh names assigned Blender but assigns a unique "random" character ID such as this:
<mesh_name>690c262e14c326a5f05436fb18ad ... mesh_name>
Finding that ID in the unformatted objects.is file is yet another PITA.

IMHO the Blendigo exporter needs an overhaul. It's been updated to keep up wit the latest Indigo development and for the most part works nicely. But it has not kept up with the UI improvements in Blender, e.g. the Node editor.
It s a real shame that some things that would be possible in Indigo are not accessible simply due to limitations in the Exporter.

Post Reply
23 posts

Who is online

Users browsing this forum: Majestic-12 [Bot] and 20 guests