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:
authorRichard Antalik <richardantalik@gmail.com>2021-01-26 19:40:35 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-01-26 19:50:44 +0300
commit41979fc03b93ba8d55002311569536bf8c9ee983 (patch)
treeae441191f2e23084c168b24c4f1414529183ac1b /source/blender/draw/engines/workbench/workbench_private.h
parent981380cf6d086517cc1b5dfc60e9bde6253e5bd7 (diff)
Fix T84160: Wrong DOF when camera is overriden
Workbench engine used active camera to setup DOF effect even when camera was overridden. Store camera override in `WORKBENCH_PrivateData` and use it in `workbench_dof_engine_init()` Reviewed By: brecht Differential Revision: https://developer.blender.org/D9952
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_private.h')
-rw-r--r--source/blender/draw/engines/workbench/workbench_private.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h
index f3ff0616668..d157c260fbd 100644
--- a/source/blender/draw/engines/workbench/workbench_private.h
+++ b/source/blender/draw/engines/workbench/workbench_private.h
@@ -70,6 +70,7 @@ extern struct DrawEngineType draw_engine_workbench;
#define OBJECT_ID_PASS_ENABLED(wpd) (OBJECT_OUTLINE_ENABLED(wpd) || CURVATURE_ENABLED(wpd))
#define NORMAL_ENCODING_ENABLED() (true)
+struct Object;
struct RenderEngine;
struct RenderLayer;
struct rcti;
@@ -351,6 +352,9 @@ typedef struct WORKBENCH_PrivateData {
float dof_rotation;
float dof_ratio;
+ /* Camera override for rendering. */
+ struct Object *cam_original_ob;
+
/** True if any volume needs to be rendered. */
bool volumes_do;
/** Convenience boolean. */
@@ -504,6 +508,7 @@ DRWShadingGroup *workbench_image_setup_ex(WORKBENCH_PrivateData *wpd,
workbench_image_setup_ex(wpd, ob, mat_nr, ima, iuser, interp, WORKBENCH_DATATYPE_HAIR)
/* workbench_data.c */
+void workbench_private_data_alloc(WORKBENCH_StorageList *stl);
void workbench_private_data_init(WORKBENCH_PrivateData *wpd);
void workbench_update_world_ubo(WORKBENCH_PrivateData *wpd);
void workbench_update_material_ubos(WORKBENCH_PrivateData *wpd);