[Bf-blender-cvs] [c28f3e3] viewport_experiments: Various changes:

Campbell Barton noreply at git.blender.org
Thu Feb 12 17:37:41 CET 2015


Commit: c28f3e3e0a778863f4d5cdedcdce1b4b8f9dae29
Author: Campbell Barton
Date:   Fri Feb 13 03:36:11 2015 +1100
Branches: viewport_experiments
https://developer.blender.org/rBc28f3e3e0a778863f4d5cdedcdce1b4b8f9dae29

Various changes:

- use term 'settings' rather then 'options', (follows rest of rna)
- use const where possible
- minor changes to arg order

===================================================================

M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/blenkernel/BKE_camera.h
M	source/blender/blenkernel/intern/camera.c
M	source/blender/blenkernel/intern/screen.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/blenloader/intern/versioning_270.c
M	source/blender/blenloader/intern/writefile.c
M	source/blender/editors/include/ED_view3d.h
M	source/blender/editors/render/render_opengl.c
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/editors/space_view3d/view3d_draw.c
M	source/blender/gpu/GPU_compositing.h
M	source/blender/gpu/GPU_extensions.h
M	source/blender/gpu/intern/gpu_compositing.c
M	source/blender/gpu/intern/gpu_extensions.c
M	source/blender/makesdna/DNA_camera_types.h
M	source/blender/makesdna/DNA_gpu_types.h
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/makesdna/intern/makesdna.c
M	source/blender/makesrna/intern/rna_camera.c
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/makesrna/intern/rna_space.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index d167a35..3207c7e 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2934,22 +2934,22 @@ class VIEW3D_PT_view3d_shading(Panel):
             if obj and obj.mode == 'EDIT':
                 col.prop(view, "show_occlude_wire")
 
-            fx_options = view.fx_options
+            fx_settings = view.fx_settings
 
-            col.prop(view, "depth_of_field")
-            if view.depth_of_field:
-                if (view.region_3d.view_perspective == 'CAMERA'):
+            col.prop(view, "use_fx_dof")
+            if view.use_fx_dof:
+                if view.region_3d.view_perspective == 'CAMERA':
                     col.label("check dof properties in camera settings", icon='INFO')
 
-            col.prop(view, "ssao")
-            if view.ssao:
-                ssao_options = fx_options.ssao
+            col.prop(view, "use_fx_ssao")
+            if view.use_fx_ssao:
+                ssao_settings = fx_settings.ssao
                 subcol = col.column(align=True)
-                subcol.prop(ssao_options, "darkening")
-                subcol.prop(ssao_options, "distance_max")
-                subcol.prop(ssao_options, "attenuation")
-                subcol.prop(ssao_options, "num_samples")
-                subcol.prop(ssao_options, "color")
+                subcol.prop(ssao_settings, "darkening")
+                subcol.prop(ssao_settings, "distance_max")
+                subcol.prop(ssao_settings, "attenuation")
+                subcol.prop(ssao_settings, "samples")
+                subcol.prop(ssao_settings, "color")
 
 
 class VIEW3D_PT_view3d_motion_tracking(Panel):
diff --git a/source/blender/blenkernel/BKE_camera.h b/source/blender/blenkernel/BKE_camera.h
index db4e3bc..7729692 100644
--- a/source/blender/blenkernel/BKE_camera.h
+++ b/source/blender/blenkernel/BKE_camera.h
@@ -46,7 +46,7 @@ struct RenderData;
 struct Scene;
 struct rctf;
 struct View3D;
-struct GPUFXOptions;
+struct GPUFXSettings;
 
 /* Camera Datablock */
 
@@ -123,7 +123,7 @@ bool BKE_camera_view_frame_fit_to_scene(struct Scene *scene, struct View3D *v3d,
 bool BKE_camera_view_frame_fit_to_coords(struct Scene *scene, float (*cos)[3], int num_cos,
                                          struct Object *camera_ob, float r_co[3], float *r_scale);
 
-void BKE_GPU_dof_from_camera(struct Object *camera, struct GPUFXOptions *options);
+void BKE_camera_to_gpu_dof(struct Object *camera, struct GPUFXSettings *r_fx_settings);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index 118468f..438a0cd 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -691,21 +691,18 @@ bool BKE_camera_view_frame_fit_to_coords(
 	return camera_frame_fit_calc_from_data(&params, &data_cb, r_co, r_scale);
 }
 
-void BKE_GPU_dof_from_camera(struct Object *camera, struct GPUFXOptions *options)
+void BKE_camera_to_gpu_dof(struct Object *camera, struct GPUFXSettings *r_fx_settings)
 {
 	if (camera->type == OB_CAMERA) {
 		Camera *cam = camera->data;
-		options->dof = &cam->gpu_dof;
-		options->dof->focal_length = cam->lens;
-		/* should probably use more magic here to get proper fit */
-		options->dof->sensor = cam->sensor_x;
+		r_fx_settings->dof = &cam->gpu_dof;
+		r_fx_settings->dof->focal_length = cam->lens;
+		r_fx_settings->dof->sensor = BKE_camera_sensor_size(cam->sensor_fit, cam->sensor_x, cam->sensor_y);
 		if (cam->dof_ob) {
-			float vec[3];
-			sub_v3_v3v3(vec, cam->dof_ob->obmat[3], camera->obmat[3]);
-			options->dof->focus_distance = len_v3(vec);
+			r_fx_settings->dof->focus_distance = len_v3v3(cam->dof_ob->obmat[3], camera->obmat[3]);
 		}
 		else {
-			options->dof->focus_distance = cam->YF_dofdist;
+			r_fx_settings->dof->focus_distance = cam->YF_dofdist;
 		}
 	}
 }
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 16e5528..e6e5735 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -601,12 +601,12 @@ float BKE_screen_view3d_zoom_from_fac(float zoomfac)
 
 void BKE_screen_view3d_ensure_FX(View3D *v3d)
 {
-	if (!v3d->fx_options.ssao) {
-		v3d->fx_options.ssao = MEM_callocN(sizeof(GPUSSAOOptions), "view3d ssao options");
+	if (!v3d->fx_settings.ssao) {
+		v3d->fx_settings.ssao = MEM_callocN(sizeof(GPUSSAOSettings), "view3d ssao options");
 
-		v3d->fx_options.ssao->darkening = 1.0f;
-		v3d->fx_options.ssao->distance_max = 0.2f;
-		v3d->fx_options.ssao->attenuation = 1.0f;
-		v3d->fx_options.ssao->num_samples = 4;
+		v3d->fx_settings.ssao->darkening = 1.0f;
+		v3d->fx_settings.ssao->distance_max = 0.2f;
+		v3d->fx_settings.ssao->attenuation = 1.0f;
+		v3d->fx_settings.ssao->samples = 4;
 	}
 }
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index c7f74c0..204a7af 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -6577,10 +6577,10 @@ static bool direct_link_screen(FileData *fd, bScreen *sc)
 				if (v3d->drawtype == OB_RENDER)
 					v3d->drawtype = OB_SOLID;
 
-				if (v3d->fx_options.dof)
-					v3d->fx_options.dof = newdataadr(fd, v3d->fx_options.dof);
-				if (v3d->fx_options.ssao)
-					v3d->fx_options.ssao = newdataadr(fd, v3d->fx_options.ssao);
+				if (v3d->fx_settings.dof)
+					v3d->fx_settings.dof = newdataadr(fd, v3d->fx_settings.dof);
+				if (v3d->fx_settings.ssao)
+					v3d->fx_settings.ssao = newdataadr(fd, v3d->fx_settings.ssao);
 				
 				blo_do_versions_view3d_split_250(v3d, &sl->regionbase);
 			}
diff --git a/source/blender/blenloader/intern/versioning_270.c b/source/blender/blenloader/intern/versioning_270.c
index 321ee54..23bf291 100644
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@ -564,7 +564,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main)
 			FOREACH_NODETREE_END
 		}
 
-		if (!DNA_struct_elem_find(fd->filesdna, "Camera", "GPUDOFOptions", "gpu_dof")) {
+		if (!DNA_struct_elem_find(fd->filesdna, "Camera", "GPUDOFSettings", "gpu_dof")) {
 			Camera *ca;
 			for (ca = main->camera.first; ca; ca = ca->id.next) {
 				ca->gpu_dof.fstop = 128.0f;
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 9c88cfc..886770a 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -2683,8 +2683,8 @@ static void write_screens(WriteData *wd, ListBase *scrbase)
 						writestruct(wd, DATA, "BGpic", 1, bgpic);
 					if (v3d->localvd) writestruct(wd, DATA, "View3D", 1, v3d->localvd);
 
-					if (v3d->fx_options.ssao)
-						writestruct(wd, DATA, "GPUSSAOOptions", 1, v3d->fx_options.ssao);
+					if (v3d->fx_settings.ssao)
+						writestruct(wd, DATA, "GPUSSAOSettings", 1, v3d->fx_settings.ssao);
 				}
 				else if (sl->spacetype==SPACE_IPO) {
 					SpaceIpo *sipo= (SpaceIpo *)sl;
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index c14c72e..a3d04c0 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -63,7 +63,7 @@ struct wmOperatorType;
 struct wmWindow;
 struct GPUFX;
 struct GPUOffScreen;
-struct GPUFXOptions;
+struct GPUFXSettings;
 enum eGPUFXFlags;
 
 /* for derivedmesh drawing callbacks, for view3d_select, .... */
@@ -307,8 +307,11 @@ int ED_view3d_scene_layer_set(int lay, const int *values, int *active);
 
 bool ED_view3d_context_activate(struct bContext *C);
 void ED_view3d_draw_offscreen_init(struct Scene *scene, struct View3D *v3d);
-void ED_view3d_draw_offscreen(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, int winx, int winy, float viewmat[4][4],
-                              float winmat[4][4], bool do_bgpic, bool do_sky, struct GPUFX *fx, bool is_persp, struct GPUOffScreen *ofs, struct GPUFXOptions *fxoptions, enum eGPUFXFlags fxflags);
+void ED_view3d_draw_offscreen(
+        struct Scene *scene, struct View3D *v3d, struct ARegion *ar, int winx, int winy, float viewmat[4][4],
+        float winmat[4][4], bool do_bgpic, bool do_sky, bool is_persp,
+        struct GPUOffScreen *ofs,
+        struct GPUFX *fx, struct GPUFXSettings *fx_settings, enum eGPUFXFlags fx_flag);
 
 struct ImBuf *ED_view3d_draw_offscreen_imbuf(struct Scene *scene, struct View3D *v3d, struct ARegion *ar, int sizex, int sizey, unsigned int flag,
                                              bool draw_background, int alpha_mode, char err_out[256]);
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index e2c56fe..bf9025b 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -212,9 +212,7 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
 	else if (view_context) {
 		bool is_persp;
 		/* full copy */
-		GPUFXOptions options = {0};
-
-		options = v3d->fx_options;
+		GPUFXSettings fx_settings = v3d->fx_settings;
 
 		ED_view3d_draw_offscreen_init(scene, v3d);
 
@@ -226,7 +224,7 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
 			camera = v3d->camera;
 			RE_GetCameraWindow(oglrender->re, camera, scene->r.cfra, winmat);
 			is_persp = true;
-			BKE_GPU_dof_from_camera(camera, &options);
+			BKE_camera_to_gpu_dof(camera, &fx_settings);
 		}
 		else {
 			rctf viewplane;
@@ -242,7 +240,10 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
 		rect = MEM_mallocN(sizex * sizey * sizeof(unsigned char) * 4, "offscreen rect");
 
 		if ((scene->r.mode & R_OSA) == 0) {
-			ED_view3d_draw_offscreen(scene, v3d, ar, sizex, sizey, NULL, winmat, draw_bgpic, draw_sky, oglrender->fx, is_persp, oglrender->ofs, &options, v3d->shader_fx);
+			ED_view3d_draw_offscreen(
+			        scene, v3d, ar, sizex, sizey, NULL, winmat,
+			        draw_bgpic, draw_sky, is_persp,
+			        oglrender->ofs, oglrender->fx, &fx_setting

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list