Merged changes in the trunk up to revision 26856.
[blender-staging.git] / source / blender / makesdna / DNA_scene_types.h
index 4caae9e1dfccab803a22c59e3047816a20a0190d..df7035146e334ff5a64316a94fd632d4f0438b79 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
@@ -40,6 +40,7 @@ extern "C" {
 #include "DNA_vec_types.h"
 #include "DNA_listBase.h"
 #include "DNA_ID.h"
+#include "DNA_freestyle_types.h"
 
 struct Object;
 struct World;
@@ -152,6 +153,9 @@ typedef struct SceneRenderLayer {
        
        int passflag;                   /* pass_xor has to be after passflag */
        int pass_xor;
+       
+       struct FreestyleConfig freestyleConfig;
+       
 } SceneRenderLayer;
 
 /* srl->layflag */
@@ -161,6 +165,7 @@ typedef struct SceneRenderLayer {
 #define SCE_LAY_EDGE   8
 #define SCE_LAY_SKY            16
 #define SCE_LAY_STRAND 32
+#define SCE_LAY_FRS            64
        /* flags between 32 and 0x8000 are set to 1 already, for future options */
 
 #define SCE_LAY_ALL_Z          0x8000
@@ -170,23 +175,25 @@ typedef struct SceneRenderLayer {
 #define SCE_LAY_NEG_ZMASK      0x80000
 
 /* 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_REFLECT       128
-#define SCE_PASS_NORMAL                256
-#define SCE_PASS_VECTOR                512
-#define SCE_PASS_REFRACT       1024
-#define SCE_PASS_INDEXOB       2048
-#define SCE_PASS_UV                    4096
-#define SCE_PASS_RADIO         8192 /* Radio removed, can use for new GI? */
-#define SCE_PASS_MIST          16384
-
-#define SCE_PASS_RAYHITS       32768
+#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_REFLECT               128
+#define SCE_PASS_NORMAL                        256
+#define SCE_PASS_VECTOR                        512
+#define SCE_PASS_REFRACT               1024
+#define SCE_PASS_INDEXOB               2048
+#define SCE_PASS_UV                            4096
+#define SCE_PASS_RADIO                 8192 /* Radio removed, can use for new GI? */
+#define SCE_PASS_MIST                  16384
+#define SCE_PASS_RAYHITS               32768
+#define SCE_PASS_EMIT                  65536
+#define SCE_PASS_ENVIRONMENT   131072
+#define SCE_PASS_INDIRECT              262144
 
 /* note, srl->passflag is treestore element 'nr' in outliner, short still... */
 
@@ -300,7 +307,10 @@ typedef struct RenderData {
        
        /* information on different layers to be rendered */
        ListBase layers;
-       short actlay, pad;
+       short actlay;
+       
+       /* number of mblur samples */
+       short mblur_samples;
        
        /**
         * Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
@@ -357,8 +367,9 @@ typedef struct RenderData {
        float bg_stamp[4];
 
        /* render simplify */
-       int simplify_subsurf;
-       int simplify_shadowsamples;
+       int simplify_flag;
+       short simplify_subsurf;
+       short simplify_shadowsamples;
        float simplify_particles;
        float simplify_aosss;
 
@@ -752,7 +763,10 @@ typedef struct Scene {
        ListBase markers;
        ListBase transform_spaces;
        
-       ListBase sound_handles;
+       void *sound_scene;
+       void *sound_scene_handle;
+       
+       void *fps_info;                                 /* (runtime) info/cache used for presenting playback framerate info to the user */
        
        /* none of the dependancy graph  vars is mean to be saved */
        struct  DagForest *theDag;
@@ -778,6 +792,11 @@ typedef struct Scene {
 
        /* Physics simulation settings */
        struct PhysicsSettings physics_settings;
+       
+       /* Freestyle */
+       short freestyle_current_layer_number;
+       short pad[3];
+       
 } Scene;
 
 
@@ -825,6 +844,7 @@ typedef struct Scene {
 #define R_NO_OVERWRITE 0x400000 /* skip existing files */
 #define R_TOUCH                        0x800000 /* touch files before rendering */
 #define R_SIMPLIFY             0x1000000
+#define R_EDGE_FRS             0x2000000 /* R_EDGE for Freestyle */
 
 /* displaymode */
 
@@ -964,6 +984,9 @@ typedef struct Scene {
 #define R_BAKE_SPACE_OBJECT     2
 #define R_BAKE_SPACE_TANGENT 3
 
+/* simplify_flag */
+#define R_SIMPLE_NO_TRIANGULATE                1
+
 /* **************** SCENE ********************* */
 
 /* for general use */
@@ -1069,7 +1092,7 @@ typedef struct Scene {
 #define AUDIO_SYNC             2
 #define AUDIO_SCRUB            4
 
-#define FFMPEG_MULTIPLEX_AUDIO  1
+#define FFMPEG_MULTIPLEX_AUDIO  1 /* deprecated, you can choose none as audiocodec now */
 #define FFMPEG_AUTOSPLIT_OUTPUT 2
 
 /* Paint.flags */