Extra Buffer nodes

dpont

Member
Hi,

Added win32 Extra Buffer nodes plugin:

Description :

-"Store Extra Buffer" node for Surface node editor,
"Get Extra Buffer" node for Pixel and Image Filter node editor.

-3 Color and 3 Scalar buffers, which can be filled through different
node surfaces of different objects to build partial or whole
image buffer.

-Part of the rendered image like Ambient Occlusion scalar or Normal color
can be buffered with their nodal setup connected to the "Store Extra Buffer"
node in surface node editor but not rendered in the current image,
then using the output of the "Get Extra Buffer" node these buffers can be :
redirected/connected to an LW buffer in the PixelFilter node editor,
or mixed with the rendered image or another buffer, in the ImageFilter node editor.

ExtraBuffer.gif

Usage :

-Store Extra Buffer node need to be connected by its Access output to any unused channel, which accepts a constant value of 1, this is required to access the Nodal System.

-"Enable AntiAliasing Buffer x" so AA can be disabled for PixelFilter node editor.

-"Force AntiAliasing Buffer x" for averaging evaluated spot samples in the buffer of the ImageFilter node editor, do not check this in PixelFilter node editor.

-For saving Buffers, you need to use one of LW or 3rd party ImageFilter Buffer Export plugin.

http://perso.orange.fr/dpont/plugins/nodes/ExtraBufferNode_x32.zip

The last updated Pixel & Image Filter node editors (win32 win64) are here:
http://perso.orange.fr/dpont/plugins/nodes/nodes/Node_Editors.html#NodeImgFilt


Denis.
 

dpont

Member
...Just some experiments with a (rough) Ambient Oclusion node
in Pixel Filter node editor, World Spot & Smoothed Normal have
been stored directly in 2 Color Buffers in Surface node editor
(include negative values)
and we can get and input them in the AO node (18 samples),
AntiAliasing x5:

PixelFilterAO.jpg

Note:
-This doesn't work in ImageFilter node editor (no raytrace functions).

Denis.
 

dpont

Member
New updates today for Extra Buffer and Render Buffer nodes,
they come now in one unique version for both editors,
since Get Extra Buffer and Render Buffer copies have some problem
to identify the node editor they belong to.
Render Buffer X-Y pixel tweak, "Norm Depth and "Pre-Effect"
output export nothing in Pixel node editor.

Denis.
 

dpont

Member
...May be an useless experiment, but
beside the fact you could store directly soft shadows
generated by Shadows node in a Color Extra Buffer,
soft shadows can also be generated in Pixel Filter NE,
with only output World Spot in Store Extra buffer node.
(you can't see separate shadows pass in preview, this
is only available in Image Filter NE, but Pixel Filter NE
has AA which is better for smoothed shadows)

SoftShadowsPFNE.jpg

Denis.
 

gerardstrada

New member
WOW! This is very ingenious solution, Denis!

This new tool can be one of the most useful nodes for Render management and LCS workflows. I've made simple test with the Cage_Freak_Final_01.lwo from Aristomenis Tsirbas (LW Content folder):



In the above setup I've stored the AO and SSS in Extra Buffer nodes (yes, a buffer for SSS that can work with ANY SSS shader! - Chanlum, SimpleSkin, Sigma, etc). There, we can compose and color correct our buffers for preview purposes or for storing these buffers in our favorite buffer saver and finish it in a compositing package.

Thank you very much, Denis!



Gerardo
 

omichon

Member
wow ! thanks Gerardstrada for this nodes sample. I guess it will help me with my recurrent render passes issues. I was expecting this kind of use from Denis's Extra Buffer Node, thanks for having illustrated it like that :)
 

dpont

Member
Just to add that storing an Extra Buffer in a Surface
with Material output is only possible if the Store Extra Buffer node
is connected in the Material chain, i.e in the integer input of
a useless Switch Material node (connect the Material in false).
other connections in the root of the node editor could
not work, since they are overwritten by Material.

Denis.

Denis.
 

omichon

Member
Thanks a bunch, Denis, for this workflow improvement when we need to export thoses extra buffers !:thumbsup:

I have the feeling of spending my time to thank you, BTW ;)
 

eyelandarts

New member
Denis, ive been testing these nodes out today and i have to say that its one of the best things to como to lightwave's workflow in a long time. Finally we can do custom buffers and they import with the object!

Im sure you are aware but the only problems ive run into are the buffers getting corrupted when using adaptive sampling and using a material on the surface overides export of buffers.

In any case Thanks a lot Dennis! This is sure to cut my setup times for split scenes by a whole lot!
 

dpont

Member
With Material connected in Surface editor, yes, other
inputs in root are unefficient to access Nodal data,
but you can bypass the material in a Switch Material node,
and use the integer input to connect the Store Extra Buffer
node.

Buffer Export with AntiAliasing, works only in ImageFilter NE,
with "Force AA" checked in Store Extra Buffer,
actually it works with Max Samples per image and not
per pixel, so "Adaptive Sampling" can't be used here.

Denis.
 

dpont

Member
Have made an Extra Buffer x32 version for testing,
which seems to save image buffers with AntiAliasing
and Adaptive Sampling,
but I suspect it could fail with Multithreading,
I'm not multithreaded here so I need help to test it with MT.

View attachment 48780

-Add an object in Layout.
-Go to Surface node editor, connect something in Store Extra Buffer node,
connect Access output anywhere.
-Go to Image Filter node editor, add a Get Extra Buffer node
and open panel, check the buffer, file format, file name.
-Go to Camera panel, add some AntiAliasing, check
Adaptive Sampling.
-Press F9.


Please report any weird result in the saved image here, thanks.

Denis.
 
Last edited:

dpont

Member
Edit: Forgot to say you need to check "Force AA" in the
Store Extra Buffer node for your buffer.

Denis.
 

eyelandarts

New member
Thanks Dennis, your work never ceases to amaze me. I couldnt get it working either with one or two threads and adaptive sampling. I did notice two things. One, I couldnt set the save path for buffer 4 but all others where ok. The other I was getting strange render errors as long as I had the extra buffer node connected to the unused color highlights input in the surface panel (with Adaptive sampling on).
Thanks again for this great node, I have already started using it in all my scenes.
Why oh why wont you take paypal for donations :thumbsup: :thumbsup:
Next time im in France you must let me make it up to you :)
 
Top Bottom