Emissive Material Troubles

It turns out that emissive material is quite a tricky fellow. Petzold’s book warns not to use EmissiveMaterial by itself, and always combine it with a diffuse material, which may be black. Otherwise, “the results are not satisfactory”. I found out firsthand what “not satisfactory” results may look like.

It turns out that behavior of “Emissive-only” material is not consistent for different shapes. Furthermore, if you combine diffuse material with emissive material, the diffuse material should come first, or else it negates effect of the emissive material. I suspect some very sloppy code inside WPF 3D, or maybe there is some hidden very important reason why it is what it is.

I wrote a little application that demonstrates the issue on various shapes. Here’s the summary of the results:

Geometry Front Back Result
Cube Diffuse   OK
Cube Emissive   Nothing visible
Cube Emissive Diffuse OK
Cube Emissive+Diffuse   Black cube
Cube Diffuse+Emissive   OK
Triangle Diffuse   OK
Triangle Emissive   Nothing visible
Triangle Emissive Diffuse Nothing visible
Triangle Emissive+Diffuse   Black triangle
Triangle Diffuse+Emissive   OK

Note the inconsistency: a cube with emissive front and diffuse back is visible, while the triangle is not. The right thing to do is to define the material as a group having a diffuse and an emissive component, with the diffuse component always coming first.

I also have reasons to believe that Emissive-only sphere is visible, but is transparent: the objects behind it will show through. However, I am not sure whether this is an artifact of a particular sphere implementation, a particular scene, or a property of complex emissive bodies in general.

Posted in

Leave a Reply

Your email address will not be published. Required fields are marked *