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.