Page MenuHome

Cycles: Volume Absorption node emit light with negative Density value.
Closed, ResolvedPublic


System Information
Win 8.1 x64, GT650M

Blender Version
Broken: 2.70 19e627c

Short description of error
Negative values are only clamped when manual input is given.
But it is so awesome. Please do not change it.

Event Timeline

Iván Barták (smt) set Type to Bug.
Iván Barták (smt) created this task.
Iván Barták (smt) raised the priority of this task from to Needs Triage by Developer.
Iván Barták (smt) triaged this task as Confirmed, Low priority.Mar 20 2014, 5:34 PM

Also negative numeric input emit light too.
Only changing the value with mouse is clamped.

Interesting! I'd say that this is technically not a bug...

Generally we do not clamp such negative values by design, for surfaces at least. For volume rendering it's not clear to me that this works in a useful way, probably best to clamp these values.

I agree, it's confusing when the volume emits light, although we don't have an emission closure. +1 for clamp.

The emission node and closure works for both surfaces and volumes, so emission is possible.

I realized it not emits light, but amplifies it.
Volume Scatter node does that too.
With black background the cube not visible, and the light only appears on the other object.

I just wanted to add my opinion here.
I understand that Cycles is supposed to be 'photo realistic'.
Nevertheless, I totally agree with smt that negative values are sometimes extremely interesting for artistic effects.
I have already used negative emission values to give me a 'black light' (increases shadows!).
So, yes, please don't eliminate this possibility.

If voxel textures arrive for cycles, that would be the perfect way to make a ghost for example. Or the smoke simulator for explosion, for fire could use perfectly that technically. (Becouse fire emit, and smoke absorb)Clouds on a nighscene. ect.

I tred recreate this scene with the emit node, and it just not worked out. This method gives a really great contrast!

I just played around a little bit with smoke from Brecht's demo file, and negative values. Here is the result. It uses only one sample.

Lightpath node: if shadow, make it dark
Emit: Absorb only amplifies light if negative.

I clamped the density input now to be >= 0.0.

If you really want to do these strange tricks you can still use a negative color or use OSL, but this should not be so easy to do by accident I think.