diff options
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 131 |
1 files changed, 124 insertions, 7 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 0eae50a2562..397751d85e9 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -47,6 +47,7 @@ extern "C" { #include "DNA_ID.h" #include "DNA_freestyle_types.h" #include "DNA_gpu_types.h" +#include "DNA_userdef_types.h" struct CurveMapping; struct Object; @@ -249,6 +250,73 @@ typedef enum ScenePassType { /* note, srl->passflag is treestore element 'nr' in outliner, short still... */ +/* View - MultiView */ +typedef struct SceneRenderView { + struct SceneRenderView *next, *prev; + + char name[64]; /* MAX_NAME */ + char suffix[64]; /* MAX_NAME */ + + int viewflag; + int pad[2]; + char pad2[4]; + +} SceneRenderView; + +/* srv->viewflag */ +#define SCE_VIEW_DISABLE (1<<0) + +/* scene.render.views_format */ +enum { + SCE_VIEWS_FORMAT_STEREO_3D = 0, + SCE_VIEWS_FORMAT_MULTIVIEW = 1, +}; + +/* ImageFormatData.views_output */ +enum { + R_IMF_VIEWS_INDIVIDUAL = 0, + R_IMF_VIEWS_STEREO_3D = 1, + R_IMF_VIEWS_MULTIVIEW = 2, +}; + +typedef struct Stereo3dFormat { + short flag; + char display_mode; /* encoding mode */ + char anaglyph_type; /* anaglyph scheme for the user display */ + char interlace_type; /* interlace type for the user display */ + char pad[3]; +} Stereo3dFormat; + +/* Stereo3dFormat.display_mode */ +typedef enum eStereoDisplayMode { + S3D_DISPLAY_ANAGLYPH = 0, + S3D_DISPLAY_INTERLACE = 1, + S3D_DISPLAY_PAGEFLIP = 2, + S3D_DISPLAY_SIDEBYSIDE = 3, + S3D_DISPLAY_TOPBOTTOM = 4, +} eStereoDisplayMode; + +/* Stereo3dFormat.flag */ +typedef enum eStereo3dFlag { + S3D_INTERLACE_SWAP = (1 << 0), + S3D_SIDEBYSIDE_CROSSEYED = (1 << 1), + S3D_SQUEEZED_FRAME = (1 << 2), +} eStereo3dFlag; + +/* Stereo3dFormat.anaglyph_type */ +typedef enum eStereo3dAnaglyphType { + S3D_ANAGLYPH_REDCYAN = 0, + S3D_ANAGLYPH_GREENMAGENTA = 1, + S3D_ANAGLYPH_YELLOWBLUE = 2, +} eStereo3dAnaglyphType; + +/* Stereo3dFormat.interlace_type */ +typedef enum eStereo3dInterlaceType { + S3D_INTERLACE_ROW = 0, + S3D_INTERLACE_COLUMN = 1, + S3D_INTERLACE_CHECKERBOARD = 2, +} eStereo3dInterlaceType; + /* *************************************************************** */ /* Generic image format settings, @@ -286,7 +354,11 @@ typedef struct ImageFormatData { char jp2_flag; char jp2_codec; - char pad[6]; + char pad[5]; + + /* Multiview */ + char views_format; + Stereo3dFormat stereo3d_format; /* color management */ ColorManagedViewSettings view_settings; @@ -585,8 +657,10 @@ typedef struct RenderData { /* render simplify */ int simplify_flag; short simplify_subsurf; - short simplify_shadowsamples; + short simplify_subsurf_render; + short simplify_shadowsamples, pad9; float simplify_particles; + float simplify_particles_render; float simplify_aosss; /* cineon */ @@ -615,7 +689,19 @@ typedef struct RenderData { struct BakeData bake; int preview_start_resolution; - int pad; + + /* Type of the debug pass to use. + * Only used when built with debug passes support. + */ + short debug_pass_type; + + short pad; + + /* MultiView */ + ListBase views; + short actview; + short views_format; + short pad8[2]; } RenderData; /* *************************************************************** */ @@ -718,7 +804,12 @@ typedef struct GameData { short obstacleSimulation; short raster_storage; float levelHeight; - float deactivationtime, lineardeactthreshold, angulardeactthreshold, pad2; + float deactivationtime, lineardeactthreshold, angulardeactthreshold; + + /* Scene LoD */ + short lodflag, pad2; + int scehysteresis, pad5; + } GameData; #define STEREO_NOSTEREO 1 @@ -791,6 +882,9 @@ enum { #pragma GCC poison GAME_MAT_TEXFACE #endif +/* GameData.lodflag */ +#define SCE_LOD_USE_HYST (1 << 0) + /* UV Paint */ #define UV_SCULPT_LOCK_BORDERS 1 #define UV_SCULPT_ALL_ISLANDS 2 @@ -802,6 +896,19 @@ enum { #define UV_SCULPT_TOOL_RELAX_LAPLACIAN 1 #define UV_SCULPT_TOOL_RELAX_HC 2 +/* Stereo Flags */ +#define STEREO_RIGHT_NAME "right" +#define STEREO_LEFT_NAME "left" +#define STEREO_RIGHT_SUFFIX "_R" +#define STEREO_LEFT_SUFFIX "_L" + +typedef enum StereoViews { + STEREO_LEFT_ID = 0, + STEREO_RIGHT_ID = 1, + STEREO_3D_ID = 2, + STEREO_MONO_ID = 3, +} StereoViews; + /* Markers */ typedef struct TimeMarker { @@ -920,6 +1027,8 @@ typedef struct Sculpt { /* scale for constant detail size */ float constant_detail; + float detail_percent; + float pad; struct Object *gravity_object; void *pad2; @@ -1170,7 +1279,11 @@ typedef struct ToolSettings { short snap_flag, snap_target; short proportional, prop_mode; char proportional_objects; /* proportional edit, object mode */ - char proportional_mask; /* proportional edit, object mode */ + char proportional_mask; /* proportional edit, mask editing */ + char proportional_action; /* proportional edit, action editor */ + char proportional_fcurve; /* proportional edit, graph editor */ + char lock_markers; /* lock marker editing */ + char pad4[5]; char auto_normalize; /*auto normalizing mode in wpaint*/ char multipaint; /* paint multiple bones in wpaint */ @@ -1287,13 +1400,15 @@ typedef struct Scene { ListBase transform_spaces; void *sound_scene; - void *sound_scene_handle; + void *playback_handle; void *sound_scrub_handle; void *speaker_handles; void *fps_info; /* (runtime) info/cache used for presenting playback framerate info to the user */ /* none of the dependency graph vars is mean to be saved */ + struct Depsgraph *depsgraph; + void *pad1; struct DagForest *theDag; short dagflags; short recalc; /* recalc = counterpart of ob->recalc */ @@ -1432,6 +1547,7 @@ typedef struct Scene { #define R_TEXNODE_PREVIEW 0x40000 #define R_VIEWPORT_PREVIEW 0x80000 #define R_EXR_CACHE_FILE 0x100000 +#define R_MULTIVIEW 0x200000 /* r->stamp */ #define R_STAMP_TIME 0x0001 @@ -1745,7 +1861,8 @@ typedef enum SculptFlags { SCULPT_DYNTOPO_COLLAPSE = (1 << 11), /* If set, dynamic-topology detail size will be constant in object space */ - SCULPT_DYNTOPO_DETAIL_CONSTANT = (1 << 13) + SCULPT_DYNTOPO_DETAIL_CONSTANT = (1 << 13), + SCULPT_DYNTOPO_DETAIL_BRUSH = (1 << 14), } SculptFlags; typedef enum ImagePaintMode { |