[Bf-viewport] GLSL Node

Antony Riakiotakis kalast at gmail.com
Mon Jun 8 23:00:41 CEST 2015


Hi Daniel,

The idea is to make a new system that will be powerful enough allow
the game engine to use it, but I expect the game engine to adapt to it
rather than the opposite. The initial plan was to not have blender
internal compatibility at all.

The node system already has compatibility flags so nodes can set the
engine(s) they are compatible with. I expect many existing nodes will
need little modification to run on new OpenGL. Most of the code that
needs to be changed is the uniform and attribute declarations and this
is handled internally in the gpu_codegen module.

For the script nodes, initial plan was to make a fragment shader node
at first, but of course we should make it possible to hook more shader
stages, perhaps by using many text data blocks on the node itself. If
there are constraints that would be nice to have now would be the time
to express them I guess. The problem of compatibility is again
bypassed by ignoring it. Any shiny new shader nodes go only to new
viewport. Obviously shader stages can only be executed in a system
that supports them. Might be worth defining alternative node trees for
system without some shader stages but this becomes too technical very
quickly and can get out of hand.
Let's focus on high level functionality first.

For the material panel it's more of a UI issue. I agree it would be
nice to expose an interface in a more meaningful way. I think node
groups can give us some tools to optimize this workflow somewhat if we
can expose their input interface in the material panel.


More information about the Bf-viewport mailing list