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:
authorTon Roosendaal <ton@blender.org>2006-01-27 01:18:46 +0300
committerTon Roosendaal <ton@blender.org>2006-01-27 01:18:46 +0300
commit4a52c6ac6ffb203ae55ad603c1f924fffd77da6a (patch)
tree76763c32875e3b34010f2ce926e579a925fe34c2 /source/blender/makesdna
parent1ae7fb0c99fed38d0c8001038646ef6169219578 (diff)
Orange; more render & compo stuff!
-> Rendering in RenderLayers It's important to distinguish a 'render layer' from a 'pass'. The first is control over the main pipeline itself, to indicate what geometry is being is rendered. The 'pass' (not in this commit!) is related to internal shading code, like shadow/spec/AO/normals/etc. Options for RenderLayers now are: - Indicate which 3d 'view layers' have to be included (so you can render front and back separately) - "Solid", all solid faces, includes sky at the moment too - "ZTransp", all transparent faces - "Halo", the halos - "Strand", the particle strands (not coded yet...) Currently only 2 'passes' are exported for render, which is the "Combined" buffer and the "Z. The latter now works, and can be turned on/off. Note that all layers are still fully kept in memory now, saving the tiles and layers to disk (in exr) is also todo. -> New Blur options The existing Blur Node (compositor) now has an optional input image. This has to be a 'value buffer', which can be a Zbuffer, or any mask you can think of. The input values have to be in the 0-1 range, so another new node was added too "Map Value". The value input can also be used to tweak blur size with the (todo) Time Node. Temporal screenies: http://www.blender.org/bf/rt.jpg http://www.blender.org/bf/rt1.jpg http://www.blender.org/bf/rt2.jpg BTW: The compositor is very slow still, it recalulates all nodes on each change still. Persistant memory and dependency checks is coming!
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_node_types.h3
-rw-r--r--source/blender/makesdna/DNA_scene_types.h33
2 files changed, 35 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 5ec487ab3d0..700de9531da 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -30,10 +30,11 @@
#ifndef DNA_NODE_TYPES_H
#define DNA_NODE_TYPES_H
+#include "DNA_ID.h"
#include "DNA_vec_types.h"
#include "DNA_listBase.h"
-struct ID;
+
struct SpaceNode;
struct bNodeLink;
struct bNodeType;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 2f3452c5c75..01776a2e981 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -94,6 +94,34 @@ typedef struct AudioData {
short pad[3];
} AudioData;
+typedef struct SceneRenderLayer {
+ struct SceneRenderLayer *next, *prev;
+
+ char name[32];
+ struct Scene *scene; /* unused still */
+ unsigned int lay; /* scene->lay itself has priority over this */
+ short layflag;
+ short passflag;
+} SceneRenderLayer;
+
+/* srl->layflag */
+#define SCE_LAY_SOLID 1
+#define SCE_LAY_ZTRA 2
+#define SCE_LAY_HALO 4
+#define SCE_LAY_STRAND 8
+
+/* srl->passflag */
+#define SCE_PASS_COMBINED 1
+#define SCE_PASS_Z 2
+#define SCE_PASS_RGBA 4
+#define SCE_PASS_DIFFUSE 8
+#define SCE_PASS_SPEC 16
+#define SCE_PASS_SHADOW 32
+#define SCE_PASS_AO 64
+#define SCE_PASS_MIRROR 128
+#define SCE_PASS_NORMAL 256
+#define SCE_PASS_VECTOR 512
+
typedef struct RenderData {
struct AviCodecData *avicodecdata;
struct QuicktimeCodecData *qtcodecdata;
@@ -209,6 +237,11 @@ typedef struct RenderData {
/* safety and border rect */
rctf safety, border;
+ /* information on different layers to be rendered */
+ ListBase layers;
+ short actlay, pad;
+ int pad2;
+
/**
* The gamma for the normal rendering. Used when doing
* oversampling, to correctly blend subpixels to pixels. */