Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ebb <matt@mke3.net>2007-05-31 10:55:02 +0400
committerMatt Ebb <matt@mke3.net>2007-05-31 10:55:02 +0400
commit17a219e3c0af09d682179f3e087472dbd27b6540 (patch)
tree93799f39a6a85cc89005ddf986ef09b55d1a315a /source/blender/render/extern/include/RE_shader_ext.h
parent6057ab05f0b4d4ab7a84a142bcdeee65fffe97d9 (diff)
== Shader nodes ==
* Geometry node: Front/back output This is used as a mask for determining whether you're looking at the front side or back side of a mesh, useful for blending materials, my practical need was giving different materials to the pages of a magazine: http://mke3.net/blender/etc/frontback-h264.mov Give 1.0 if it's the front side, and 0.0 if it's the back side. * Extended material node This is the same as the material node, but gives more available inputs and outputs, (basically just connecting up more of ShadeInput and ShadeResult to the node). I didn't want to add it to the normal simple Material node since you don't always need all that stuff, and it would make the node huge, but when you do need it, it's nice to have it. == Comp nodes == * Invert node Inverting is something that happens all the time in a node setup, and this makes it easier. It's been possible to invert previously by adding a mix node and subtracting the input from 1.0, but it's not the best way of doing it. This node: - makes it a lot faster to set up, rather than all the clicking required with the mix node - is a lot more usable amidst a complex comp setup, when you're looking at a node tree, it's very helpful to be able to see at a glance what's going on. Using subtract for inverting is easily mixed up with other nodes in which you are actually subtracting, not inverting, and looks very similar to all the other mix nodes that usually litter a comp tree. - has options to invert the RGB channels, the Alpha channel, or both. This saves adding lots of extra nodes (separate RGBA, subtract, set alpha) when you want to do something simple like invert an alpha channel. I'd like to add this option to other nodes too. There's also a shader node version too. * Also a few fixes that I committed ages ago, but seems to have been overwritten in Bob's node refactor: - adding new compbufs to the set alpha and alphaover nodes when you have only one noodle connected to the lower input - making the fac value on RGB curves still work when there's nothing connected to it
Diffstat (limited to 'source/blender/render/extern/include/RE_shader_ext.h')
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index c1b20da53b7..364535736ae 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -151,6 +151,10 @@ typedef struct ShadeInput
int samplenr; /* sample counter, to detect if we should do shadow again */
int depth; /* 1 or larger on raytrace shading */
+ /* stored copy of original face normal (facenor)
+ * before flipping. Used in Front/back output on geometry node */
+ float orignor[3];
+
/* from initialize, part or renderlayer */
short do_preview; /* for nodes, in previewrender */
short thread, sample; /* sample: ShadeSample array index */
@@ -158,6 +162,7 @@ typedef struct ShadeInput
int layflag, passflag, combinedflag;
struct Group *light_override;
struct Material *mat_override;
+
} ShadeInput;