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:
Diffstat (limited to 'source/blender/makesdna/DNA_scene_types.h')
-rw-r--r--source/blender/makesdna/DNA_scene_types.h259
1 files changed, 220 insertions, 39 deletions
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 250c600fcaf..869f1cb426d 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -120,7 +120,11 @@ typedef struct SceneRenderLayer {
struct Group *light_override;
unsigned int lay; /* scene->lay itself has priority over this */
+ unsigned int lay_zmask; /* has to be after lay, this is for Z-masking */
int layflag;
+
+ int pad;
+
int passflag; /* pass_xor has to be after passflag */
int pass_xor;
} SceneRenderLayer;
@@ -134,9 +138,11 @@ typedef struct SceneRenderLayer {
#define SCE_LAY_STRAND 32
/* flags between 32 and 0x8000 are set to 1 already, for future options */
-#define SCE_LAY_ALL_Z 0x8000
-#define SCE_LAY_XOR 0x10000
-#define SCE_LAY_DISABLE 0x20000
+#define SCE_LAY_ALL_Z 0x8000
+#define SCE_LAY_XOR 0x10000
+#define SCE_LAY_DISABLE 0x20000
+#define SCE_LAY_ZMASK 0x40000
+#define SCE_LAY_NEG_ZMASK 0x80000
/* srl->passflag */
#define SCE_PASS_COMBINED 1
@@ -153,6 +159,8 @@ typedef struct SceneRenderLayer {
#define SCE_PASS_INDEXOB 2048
#define SCE_PASS_UV 4096
#define SCE_PASS_RADIO 8192
+#define SCE_PASS_MIST 16384
+
/* note, srl->passflag is treestore element 'nr' in outliner, short still... */
@@ -240,9 +248,9 @@ typedef struct RenderData {
* The number of samples to use per pixel.
*/
short osa;
-
- short frs_sec, edgeint;
+ short frs_sec, edgeint;
+
/* safety, border and display rect */
rctf safety, border;
rcti disprect;
@@ -250,7 +258,8 @@ typedef struct RenderData {
/* information on different layers to be rendered */
ListBase layers;
short actlay, pad;
- int pad2;
+
+ float frs_sec_base;
/**
* Value used to define filter size for all filter options */
@@ -264,6 +273,8 @@ typedef struct RenderData {
/* Bake Render options */
short bake_osa, bake_filter, bake_mode, bake_flag;
+ short bake_normal_space, bpad;
+ float bake_maxdist, bake_biasdist, bake_pad;
/* yafray: global panel params. TODO: move elsewhere */
short GIquality, GIcache, GImethod, GIphotons, GIdirect;
@@ -271,15 +282,48 @@ typedef struct RenderData {
int GIdepth, GIcausdepth, GIpixelspersample;
int GIphotoncount, GImixphotons;
float GIphotonradius;
- int YF_numprocs, YF_raydepth, YF_AApasses, YF_AAsamples;
+ int YF_raydepth, YF_AApasses, YF_AAsamples, yfpad2;
float GIshadowquality, GIrefinement, GIpower, GIindirpower;
float YF_gamma, YF_exposure, YF_raybias, YF_AApixelsize, YF_AAthreshold;
/* paths to backbufffer, output, ftype */
- char backbuf[160], pic[160], ftype[160];
+ char backbuf[160], pic[160];
+
+ /* stamps flags. */
+ int stamp;
+ short stamp_font_id, pad3; /* select one of blenders bitmap fonts */
+
+ /* stamp info user data. */
+ char stamp_udata[160];
+ /* foreground/background color. */
+ float fg_stamp[4];
+ float bg_stamp[4];
+
+ /* render simplify */
+ int simplify_subsurf;
+ int simplify_shadowsamples;
+ float simplify_particles;
+ float simplify_aosss;
+
+ /* cineon */
+ short cineonwhite, cineonblack;
+ float cineongamma;
} RenderData;
+/* control render convert and shading engine */
+typedef struct RenderProfile {
+ struct RenderProfile *next, *prev;
+ char name[32];
+
+ short particle_perc;
+ short subsurf_max;
+ short shadbufsample_max;
+ short pad1;
+
+ float ao_error, pad2;
+
+} RenderProfile;
typedef struct GameFraming {
float col[3];
@@ -297,11 +341,34 @@ typedef struct TimeMarker {
unsigned int flag;
} TimeMarker;
-struct ImagePaintSettings {
+typedef struct ImagePaintSettings {
struct Brush *brush;
short flag, tool;
int pad3;
-};
+} ImagePaintSettings;
+
+typedef struct ParticleBrushData {
+ short size, strength; /* common settings */
+ short step, invert; /* for specific brushes only */
+} ParticleBrushData;
+
+typedef struct ParticleEditSettings {
+ short flag;
+ short totrekey;
+ short totaddkey;
+ short brushtype;
+
+ ParticleBrushData brush[7]; /* 7 = PE_TOT_BRUSH */
+
+ float emitterdist;
+ int draw_timed;
+} ParticleEditSettings;
+
+typedef struct TransformOrientation {
+ struct TransformOrientation *next, *prev;
+ char name[36];
+ float mat[3][3];
+} TransformOrientation;
typedef struct ToolSettings {
/* Subdivide Settings */
@@ -333,10 +400,14 @@ typedef struct ToolSettings {
short uvcalc_mapalign;
short uvcalc_flag;
- short pad2;
-
- /* Image Paint (8 byte aligned please!) */
+ /* Auto-IK */
+ short autoik_chainlen;
+
+ /* Image Paint (8 byttse aligned please!) */
struct ImagePaintSettings imapaint;
+
+ /* Particle Editing */
+ struct ParticleEditSettings particle;
/* Select Group Threshold */
float select_thresh;
@@ -352,7 +423,21 @@ typedef struct ToolSettings {
/* Multires */
char multires_subdiv_type;
- char pad4[2];
+ /* Skeleton generation */
+ short skgen_resolution;
+ float skgen_threshold_internal;
+ float skgen_threshold_external;
+ float skgen_length_ratio;
+ float skgen_length_limit;
+ float skgen_angle_limit;
+ float skgen_correlation_limit;
+ float skgen_symmetry_limit;
+ short skgen_options;
+ char skgen_postpro;
+ char skgen_postpro_passes;
+ char skgen_subdivisions[3];
+
+ char pad3[5];
} ToolSettings;
/* Used by all brushes to store their properties, which can be directly set
@@ -362,20 +447,25 @@ typedef struct BrushData
{
short size;
char strength, dir; /* Not used for smooth brush */
- char airbrush;
char view;
+ char flag;
char pad[2];
} BrushData;
struct SculptSession;
typedef struct SculptData
{
+ /* Note! all pointers in this struct must be duplicated header_info.c's copy_scene function */
+
/* Data stored only from entering sculptmode until exiting sculptmode */
struct SculptSession *session;
/* Pointers to all of sculptmodes's textures */
struct MTex *mtex[10];
+ /* Editable brush shape */
+ struct CurveMapping *cumap;
+
/* Settings for each brush */
BrushData drawbrush, smoothbrush, pinchbrush, inflatebrush, grabbrush, layerbrush, flattenbrush;
short brush_type;
@@ -388,8 +478,7 @@ typedef struct SculptData
char texsep;
char averaging;
-
- char draw_flag;
+ char flags;
/* Control tablet input */
char tablet_size, tablet_strength;
@@ -397,6 +486,10 @@ typedef struct SculptData
/* Symmetry is separate from the other BrushData because the same
settings are always used for all brush types */
char symm;
+
+ /* Added to store if the 'Rake' setting has been set */
+ char rake;
+ char pad[7];
} SculptData;
typedef struct Scene {
@@ -417,15 +510,16 @@ typedef struct Scene {
/* editmode stuff */
float editbutsize; /* size of normals */
- short selectmode;
+ short selectmode; /* for mesh only! */
short proportional, prop_mode;
+ short automerge, pad5, pad6, pad7;
short use_nodes;
+
struct bNodeTree *nodetree;
- void *ed;
+ void *ed; /* sequence editor data is allocated here */
struct Radio *radio;
- void *sumohandle;
struct GameFraming framing;
@@ -439,9 +533,10 @@ typedef struct Scene {
ScriptLink scriptlink;
ListBase markers;
+ ListBase transform_spaces;
- short jumpframe;
- short pad1, pad2, pad3;
+ short jumpframe, pad1;
+ short snap_flag, snap_target;
/* none of the dependancy graph vars is mean to be saved */
struct DagForest *theDag;
@@ -483,10 +578,17 @@ typedef struct Scene {
#define R_GAUSS 0x20000
/* fbuf obsolete... */
#define R_FBUF 0x40000
- /* threads obsolete... is there for old files */
+ /* threads obsolete... is there for old files, now use for autodetect threads */
#define R_THREADS 0x80000
+ /* Use the same flag for autothreads */
+#define R_FIXED_THREADS 0x80000
+
#define R_SPEED 0x100000
#define R_SSS 0x200000
+#define R_NO_OVERWRITE 0x400000 /* skip existing files */
+#define R_TOUCH 0x800000 /* touch files before rendering */
+#define R_SIMPLIFY 0x1000000
+
/* filtertype */
#define R_FILTER_BOX 0
@@ -496,6 +598,7 @@ typedef struct Scene {
#define R_FILTER_CATROM 4
#define R_FILTER_GAUSS 5
#define R_FILTER_MITCH 6
+#define R_FILTER_FAST_GAUSS 7 /* note, this is only used for nodes at the moment */
/* yafray: renderer flag (not only exclusive to yafray) */
#define R_INTERN 0
@@ -516,8 +619,21 @@ typedef struct Scene {
#define R_EXR_TILE_FILE 0x0400
#define R_COMP_FREE 0x0800
#define R_NO_IMAGE_LOAD 0x1000
-#define R_NO_TEX 0x2000
-
+#define R_NO_TEX 0x2000
+#define R_STAMP_INFO 0x4000
+#define R_FULL_SAMPLE 0x8000
+
+/* r->stamp */
+#define R_STAMP_TIME 0x0001
+#define R_STAMP_FRAME 0x0002
+#define R_STAMP_DATE 0x0004
+#define R_STAMP_CAMERA 0x0008
+#define R_STAMP_SCENE 0x0010
+#define R_STAMP_NOTE 0x0020
+#define R_STAMP_DRAW 0x0040 /* draw in the image */
+#define R_STAMP_MARKER 0x0080
+#define R_STAMP_FILENAME 0x0100
+#define R_STAMP_SEQSTRIP 0x0200
/* alphamode */
#define R_ADDSKY 0
@@ -533,7 +649,7 @@ typedef struct Scene {
#define R_TARGA 0
#define R_IRIS 1
#define R_HAMX 2
-#define R_FTYPE 3
+#define R_FTYPE 3 /* ftype is nomore */
#define R_JPEG90 4
#define R_MOVIE 5
#define R_IRIZ 7
@@ -552,16 +668,27 @@ typedef struct Scene {
#define R_CINEON 26
#define R_DPX 27
#define R_MULTILAYER 28
+#define R_DDS 29
/* subimtype, flag options for imtype */
#define R_OPENEXR_HALF 1
#define R_OPENEXR_ZBUF 2
#define R_PREVIEW_JPG 4
+#define R_CINEON_LOG 8
+#define R_TIFF_16BIT 16
/* bake_mode: same as RE_BAKE_xxx defines */
/* bake_flag: */
-#define R_BAKE_CLEAR 1
-#define R_BAKE_OSA 2
+#define R_BAKE_CLEAR 1
+#define R_BAKE_OSA 2
+#define R_BAKE_TO_ACTIVE 4
+#define R_BAKE_NORMALIZE 8
+
+/* bake_normal_space */
+#define R_BAKE_SPACE_CAMERA 0
+#define R_BAKE_SPACE_WORLD 1
+#define R_BAKE_SPACE_OBJECT 2
+#define R_BAKE_SPACE_TANGENT 3
/* **************** SCENE ********************* */
#define RAD_PHASE_PATCHES 1
@@ -569,14 +696,24 @@ typedef struct Scene {
/* base->flag is in DNA_object_types.h */
-/* sce->flag */
-#define SCE_ADDSCENAME 1
+/* scene->snap_flag */
+#define SCE_SNAP 1
+/* scene->snap_target */
+#define SCE_SNAP_TARGET_CLOSEST 0
+#define SCE_SNAP_TARGET_CENTER 1
+#define SCE_SNAP_TARGET_MEDIAN 2
+#define SCE_SNAP_TARGET_ACTIVE 3
/* sce->selectmode */
-#define SCE_SELECT_VERTEX 1
+#define SCE_SELECT_VERTEX 1 /* for mesh */
#define SCE_SELECT_EDGE 2
#define SCE_SELECT_FACE 4
+/* sce->selectmode for particles */
+#define SCE_SELECT_PATH 1
+#define SCE_SELECT_POINT 2
+#define SCE_SELECT_END 4
+
/* sce->recalc (now in use by previewrender) */
#define SCE_PRV_CHANGED 1
@@ -603,21 +740,25 @@ typedef struct Scene {
#define FFMPEG_MULTIPLEX_AUDIO 1
#define FFMPEG_AUTOSPLIT_OUTPUT 2
+/* Sculpt brush flags */
+#define SCULPT_BRUSH_AIRBRUSH 1
+#define SCULPT_BRUSH_ANCHORED 2
+/* SculptData.flags */
+#define SCULPT_INPUT_SMOOTH 1
+#define SCULPT_DRAW_FAST 2
+#define SCULPT_DRAW_BRUSH 4
/* SculptData.brushtype */
-#define DRAW_BRUSH 1
-#define SMOOTH_BRUSH 2
-#define PINCH_BRUSH 3
+#define DRAW_BRUSH 1
+#define SMOOTH_BRUSH 2
+#define PINCH_BRUSH 3
#define INFLATE_BRUSH 4
-#define GRAB_BRUSH 5
-#define LAYER_BRUSH 6
+#define GRAB_BRUSH 5
+#define LAYER_BRUSH 6
#define FLATTEN_BRUSH 7
/* SculptData.texrept */
#define SCULPTREPT_DRAG 1
#define SCULPTREPT_TILE 2
#define SCULPTREPT_3D 3
-/* SculptData.draw_flag */
-#define SCULPTDRAW_FAST 1
-#define SCULPTDRAW_BRUSH 2
#define SYMM_X 1
#define SYMM_Y 2
@@ -628,6 +769,28 @@ typedef struct Scene {
#define IMAGEPAINT_DRAW_TOOL 2
#define IMAGEPAINT_DRAW_TOOL_DRAWING 4
+/* toolsettings->particle flag */
+#define PE_KEEP_LENGTHS 1
+#define PE_LOCK_FIRST 2
+#define PE_DEFLECT_EMITTER 4
+#define PE_INTERPOLATE_ADDED 8
+#define PE_SHOW_CHILD 16
+#define PE_SHOW_TIME 32
+#define PE_X_MIRROR 64
+
+/* toolsetting->particle brushtype */
+#define PE_BRUSH_NONE -1
+#define PE_BRUSH_COMB 0
+#define PE_BRUSH_CUT 1
+#define PE_BRUSH_LENGTH 2
+#define PE_BRUSH_PUFF 3
+#define PE_BRUSH_ADD 4
+#define PE_BRUSH_WEIGHT 5
+#define PE_BRUSH_SMOOTH 6
+
+/* this must equal ParticleEditSettings.brush array size */
+#define PE_TOT_BRUSH 7
+
/* toolsettings->retopo_mode */
#define RETOPO 1
#define RETOPO_PAINT 2
@@ -637,6 +800,24 @@ typedef struct Scene {
#define RETOPO_LINE 2
#define RETOPO_ELLIPSE 4
+/* toolsettings->skgen_options */
+#define SKGEN_FILTER_INTERNAL 1
+#define SKGEN_FILTER_EXTERNAL 2
+#define SKGEN_SYMMETRY 4
+#define SKGEN_CUT_LENGTH 8
+#define SKGEN_CUT_ANGLE 16
+#define SKGEN_CUT_CORRELATION 32
+
+#define SKGEN_SUB_LENGTH 0
+#define SKGEN_SUB_ANGLE 1
+#define SKGEN_SUB_CORRELATION 2
+#define SKGEN_SUB_TOTAL 3
+
+/* toolsettings->skgen_postpro */
+#define SKGEN_SMOOTH 0
+#define SKGEN_AVERAGE 1
+#define SKGEN_SHARPEN 2
+
#ifdef __cplusplus
}
#endif