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')
-rw-r--r--source/blender/makesdna/DNA_color_types.h3
-rw-r--r--source/blender/makesdna/DNA_gpu_types.h47
-rw-r--r--source/blender/makesdna/DNA_image_types.h4
-rw-r--r--source/blender/makesdna/DNA_node_types.h1
-rw-r--r--source/blender/makesdna/DNA_object_types.h41
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h10
-rw-r--r--source/blender/makesdna/DNA_world_types.h12
7 files changed, 112 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_color_types.h b/source/blender/makesdna/DNA_color_types.h
index c9a5e056e4a..92372d3419f 100644
--- a/source/blender/makesdna/DNA_color_types.h
+++ b/source/blender/makesdna/DNA_color_types.h
@@ -163,7 +163,7 @@ typedef struct Scopes {
#define SCOPES_WAVEFRM_YCC_JPEG 4
typedef struct ColorManagedViewSettings {
- int flag, pad;
+ int flag, lut_is_outdated;
char look[64]; /* look which is being applied when displaying buffer on the screen (prior to view transform) */
char view_transform[64]; /* view transform which is being applied when displaying buffer on the screen */
float exposure; /* fstop exposure */
@@ -174,6 +174,7 @@ typedef struct ColorManagedViewSettings {
typedef struct ColorManagedDisplaySettings {
char display_device[64];
+ int lut_is_outdated, pad;
} ColorManagedDisplaySettings;
typedef struct ColorManagedColorspaceSettings {
diff --git a/source/blender/makesdna/DNA_gpu_types.h b/source/blender/makesdna/DNA_gpu_types.h
index 967cb7284dc..1e82fdcd10d 100644
--- a/source/blender/makesdna/DNA_gpu_types.h
+++ b/source/blender/makesdna/DNA_gpu_types.h
@@ -32,6 +32,8 @@
#ifndef __DNA_GPU_TYPES_H__
#define __DNA_GPU_TYPES_H__
+/* ********** GPU POST FX *********** */
+
/* properties for dof effect */
typedef struct GPUDOFSettings {
float focus_distance; /* focal distance for depth of field */
@@ -49,20 +51,57 @@ typedef struct GPUSSAOSettings {
float distance_max;
float attenuation;
int samples; /* ray samples, we use presets here for easy control instead of */
- int pad;
+ int steps;
} GPUSSAOSettings;
typedef struct GPUFXSettings {
GPUDOFSettings *dof;
GPUSSAOSettings *ssao;
char fx_flag; /* eGPUFXFlags */
- char pad[7];
+ char fx_flag2; /* eGPUFXFlags */
+ char pad[6];
} GPUFXSettings;
/* shaderfx enables */
typedef enum eGPUFXFlags {
- GPU_FX_FLAG_DOF = (1 << 0),
- GPU_FX_FLAG_SSAO = (1 << 1),
+ GPU_FX_FLAG_DOF = (1 << 0),
+ GPU_FX_FLAG_SSAO = (1 << 1),
+ GPU_FX_FLAG_COLORMANAGEMENT = (1 << 2),
} eGPUFXFlags;
+/* ********** GPU PBR *********** */
+
+/* Screen space reflection settings */
+typedef struct GPUSSRSettings {
+ float attenuation;
+ float thickness;
+ int steps;
+ int pad;
+} GPUSSRSettings;
+
+/* Material surfaces and sampling settings */
+typedef struct GPUBRDFSettings {
+ float lodbias;
+ float pad;
+ int samples;
+ int pad2;
+} GPUBRDFSettings;
+
+typedef struct GPUPBRSettings {
+ GPUBRDFSettings *brdf;
+ GPUSSRSettings *ssr;
+ GPUSSAOSettings *ssao;
+ char pbr_flag; /* eGPUPBRFlags */
+ char pad[7];
+} GPUPBRSettings;
+
+/* pbrshader enables */
+typedef enum eGPUPBRFlags {
+ GPU_PBR_FLAG_ENABLE = (1 << 0),
+ GPU_PBR_FLAG_SSR = (1 << 1),
+ GPU_PBR_FLAG_SSAO = (1 << 2),
+ GPU_PBR_FLAG_BACKFACE = (1 << 3),
+ GPU_PBR_FLAG_LAYER_OVERRIDE = (1 << 4),
+} eGPUPBRFlags;
+
#endif /* __DNA_GPU_TYPES_H__ */
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index b4bc26f45cd..47a41212996 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -156,6 +156,10 @@ typedef struct Image {
struct Stereo3dFormat *stereo3d_format;
RenderSlot render_slots[8]; /* 8 = IMA_MAX_RENDER_SLOT */
+
+ short last_projection;
+ short is_envmap;
+ float SH_Coefs[9][3];
} Image;
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 46b30f41f5b..3a76c7f1063 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -752,6 +752,7 @@ typedef struct NodeTexEnvironment {
ImageUser iuser;
int color_space;
int projection;
+ struct GPUNodeLink *normal_transform_link;
int interpolation;
int pad;
} NodeTexEnvironment;
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index d53c8360bb5..7c2308860da 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -286,9 +286,10 @@ typedef struct Object {
unsigned int init_state; /* bit masks of initial state as recorded by the users */
ListBase gpulamp; /* runtime, for glsl lamp display only */
+ ListBase gpuprobe; /* runtime, for glsl reflections */
ListBase pc_ids;
ListBase *duplilist; /* for temporary dupli list storage, only for use by RNA API */
-
+
struct RigidBodyOb *rigidbody_object; /* settings for Bullet rigid body */
struct RigidBodyCon *rigidbody_constraint; /* settings for Bullet constraint */
@@ -299,6 +300,23 @@ typedef struct Object {
LodLevel *currentlod;
struct PreviewImage *preview;
+
+ /* Probe options */
+ struct Object *probe; /* the probe object used for rendering it's materials */
+ struct Object *parallaxcorrect; /* the parallax bounding object used for rendering */
+ struct Object *reflectionplane;
+
+ char probeparallax;
+ char probeflags;
+ short probetype;
+
+ float probeclipsta;
+ float probeclipend;
+ unsigned int probesize;
+ unsigned int probeshres;
+
+ float probeclipbias;
+ int pad3[2];
} Object;
/* Warning, this is not used anymore because hooks are now modifiers */
@@ -489,6 +507,27 @@ enum {
OB_LOD_USE_HYST = 1 << 2,
};
+/* (short) probe type */
+enum {
+ OB_PROBE_OBJECT = 1,
+ OB_PROBE_CUBEMAP = 2,
+ OB_PROBE_PLANAR = 3,
+};
+
+/* (short) probe parallax */
+enum {
+ OB_PROBE_PARRALAX_ELLIPSOID = 1,
+ OB_PROBE_PARRALAX_BOX = 2,
+};
+
+/* (short) probeflags */
+enum {
+ OB_PROBE_AUTO_UPDATE = 1 << 0,
+ OB_PROBE_DOUBLE_UPDATE = 1 << 1,
+ OB_PROBE_COMPUTE_SH = 1 << 2,
+ OB_PROBE_USE_LAYERS = 1 << 3,
+};
+
/* **************** BASE ********************* */
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 5b533d1ec48..f42a4587120 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -45,6 +45,7 @@ struct SmoothView3DStore;
struct wmTimer;
struct Material;
struct GPUFX;
+struct GPUSSR;
/* This is needed to not let VC choke on near and far... old
* proprietary MS extensions... */
@@ -238,6 +239,11 @@ typedef struct View3D {
float stereo3d_volume_alpha;
float stereo3d_convergence_alpha;
+ /* Pbr */
+ struct Object *probe_source; /* runtime : the probe that is being updated when V3D_PROBE_CAPTURE */
+ struct GPUPBRSettings pbr_settings;
+ struct GPUPBR *pbr; /* holds all pbr specific textures */
+
/* Previous viewport draw type.
* Runtime-only, set in the rendered viewport otggle operator.
*/
@@ -319,6 +325,10 @@ typedef struct View3D {
/* View3d->flag3 (short) */
#define V3D_SHOW_WORLD (1 << 0)
+#define V3D_SHOW_WORLD_DIFFUSE (1 << 1)
+/*#define V3D_REALISTIC_MAT (1 << 2)*/ /* UNUSED */
+#define V3D_PROBE_CAPTURE (1 << 3) /* runtime flag */
+#define V3D_FLIP_NORMALS (1 << 4) /* invert culling during reflection pass */
/* View3D->around */
enum {
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h
index 5fd4c9fd407..ecfe53cae12 100644
--- a/source/blender/makesdna/DNA_world_types.h
+++ b/source/blender/makesdna/DNA_world_types.h
@@ -129,6 +129,12 @@ typedef struct World {
struct bNodeTree *nodetree;
ListBase gpumaterial; /* runtime */
+ ListBase gpuprobe; /* runtime */
+
+ char probeflags, pad2[3];
+
+ unsigned int probesize, probeshres;
+ float pad3;
} World;
/* **************** WORLD ********************* */
@@ -200,5 +206,11 @@ enum {
*/
#define WO_DS_SHOW_TEXS (1<<2)
+/* (short) probeflags */
+enum {
+ WO_PROBE_AUTO_UPDATE = 1 << 0,
+ WO_PROBE_COMPUTE_SH = 1 << 1,
+};
+
#endif