Two questions on albedo/emission

Godot Version

4.3

Question

Hi, I have two questions on standard material albedo and emission params:

  1. I found two ways to have emission effects. a) Set albedo color channel greater than 1 (called non-normalized?); b) Use emission flag and set emission color and energy. The question: is there any actual difference aside from I can have different albedo and emission color by using emission flag? (See pic1 and pic2)


  2. Is there a way to have emission effect without albedo color? I tried transparency:alpha but the emission is not rendered when albedo alpha channel is zero. (See pic3)

Thanks!

This relies on “Glow” being enabled in the world environment; it doesn’t emit light either, highly recommend against using this as a “emission” substitute.

Since emission is set to “Add” you could set albedo to black (0.0), then what emission you “Add” to it will be the final value, thouh you will need a energy multiplier higher than 1.0 to produce a glow effect

In my test, Glow in world environment has to be enabled for emission to work. That’s actually the first thing I realized when I started work in Godot. Anyway, just test again and yup, disable Glow in world environment will stop emission effect even the emission flag (with correct color) is checked.

Hmm, it seems not work either:


What I’d like to have is that material is transparent but emission is kept. The shape in the mockup image I made should not be lighter as it’s submerged in the emission…

So the Glow effect is from post-processing, it happens at the very end of the rendering pipeline. If you think of every pixel as a value from 0.0 to 1.0, glow is achieved by smoothing out values higher than the 1.0 maximum, which bleeds into the nearby pixels. It’s a fairly expensive operation because it’s so late in the pipeline operating on every single pixel, potentially multiple times.

Emission is useful for producing odd-shaped lights, that affect nearby geometry earlier in the rendering pipeline than the glow effect does on pixels.

If you only want the glow, and you aren’t using particularly odd-shapped and sharp glowing objects, maybe you would do better with a billboard PNG of the glow halo?

1 Like

So the conclusion is that even the Glow has to be enabled in world environment, the emission has greater performance than pixels have greater 1.0 (let’s call it bleeding). Just want to get clarified as there’re A LOT of bleedings in my project (as I found it’s easier to config, damn!) so I need to fix them.

Thanks for the advice. I’m looking for a general solution as the shape can be various but I will see what I can do on this way.