- Adding execution code for Node trees. Was a bit a puzzle, since I want
it to be multithreading by design. This now is solved by defining a
stack per tree for all data that's being written into. This stack, which
resides now in the NodeTree itself, then can be allocated per thread.
- For testing pleasure, I've added a 'mix node' and a 'show node', so
you can already see it do something. :)
- reshuffled structure, to put things nice together, and have easier node
adding. Current state is still WIP though, structure might change.
For the record; new file node_shaders.c will contain all shader node
definitions, apart from the drawing callbacks.
Next: I'm going to check on Andrea's work on icons now, since this is very
much needed for true shader/composit work.
Now back to release work...
- delete/duplicate with connection links
- type awareness for sockets
- make connections checks for max amount of possible connections
- added dependency sorting of node list
- cyclic connections are drawn red now, press Ckey to see the other bad
cycles.
- added UI toolkit support in nodes (try shift+a)
So, almost ready for execution code. :)
turns out that oops->id->lib isnt initialized? anyhow
if (oops->id && oops->id->lib) // works
where
if (oops->id->lib) // crashes
so made the needed change in a few places.
Vpaint/weight/texture/UV modes were disabling zbuffer draw after drawing
the active object, causing objects to be drawn after (only selected ones)
to have no zbuffer on.
More bump issues... Env made very nice examples, but all of it quite nasty
to solve.
Three improvements I found nevertheless:
- bug in mipmap code for bump gave errors in one derivate, causing aliasing
- when Image texture option "Clip" was used, the imagetexture function
returned wrong value, causing the caller to create own normal based on
color (zero!).
- Mipmapped bump now also interpolates the samples (never did this...)
Shift+ctrl+A "Apply deformation" didn't work anymore, since we got the
Modifier stack. I've inserted a notice there for now, to point users to
the proper buttons.
Uninitialized 'alpha' flag in Image texture could cause render errors.
Didn't show in OSX though... (stupid system here inits stack to zero).
But, Ken Hughes found this, so all credits are for him!
Using the MMB constraint chooser in Transform, accidentally printed the
setting from the orientation menu (Local, View, Normal).
Martin: not sure if this a solid fix... the print now looks fine, but the
code isn't nicer this way. :) (just a one liner change though!).
- Sunday merger with bf-blender
- Foundations for new Node editor in Blender, generic framework that can
be used for Material/Texture, Compositing, Logic or maybe even Sequencer.
Note: this doesn't do anything yet, nor save! Is just to get this nice
in CVS now. :)