[Bf-committers] Shading System Proposals

Nathan Vegdahl cessen at cessen.com
Wed Dec 2 20:02:21 CET 2009

I have a thought.  Based on discussion and reading the wiki, it sounds
like the output node of shader node trees will have inputs for both a
bxdf and a color, similar to this image from Matt's wiki page:

For global illumination, I get the impression that the renderer will
use the bxdf output for both sampling and evaluation, and it would
only use the color output for direct-to-screen shading.  But I wonder
if it wouldn't make sense to instead only use the bxdf for sampling,
and use the color for all evalulation.
And it could still fall back to the bxdf if there is nothing hooked up
to the color.

This would allow more flexibility in designing shaders that work
globally (i.e. not just shading directly to the screen).  For example,
if I wanted to implement a Lommel-Seeliger brdf via math nodes, I
could do so.  Then I could separately construct a sampler for it by
mixing bxdf's similar to the Lommel-Seeliger brdf, and plug it into
the bxdf output.

It's an advanced use-case, and most people could ignore it by just
mixing bxdf's and ignoring the color output.  But it seems valuable
for doing more advanced things than just material mixing.

(It would also, perhaps, be interesting for constructing physically
implausible shaders and having them interact with GI.  Like toon
shaders showing up in glossy reflections/refractions.)

--Nathan V

On Tue, Dec 1, 2009 at 5:06 PM, Brecht Van Lommel <brecht at blender.org> wrote:
> Hi,
> After discussion with Matt and Nathan, I've revised the proposal, I
> think it's much clearer now, and also more ambitious. There's still
> various things to be worked out in more detail and mockups for UI to
> be made. But I think we now have a design that solves the BXDF/node
> interaction and the texture stack questions.
> http://wiki.blender.org/index.php/BlenderDev/ShadingSystem
> Brecht.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list