[Bf-blender-cvs] [f43f4f0] viewport_experiments: Add initialization functions for GPU compositing
Antony Riakiotakis
noreply at git.blender.org
Thu Feb 12 18:26:12 CET 2015
Commit: f43f4f0e894c0107ccfb55cea03f63eb47a936de
Author: Antony Riakiotakis
Date: Thu Feb 12 18:25:58 2015 +0100
Branches: viewport_experiments
https://developer.blender.org/rBf43f4f0e894c0107ccfb55cea03f63eb47a936de
Add initialization functions for GPU compositing
===================================================================
M source/blender/blenkernel/intern/camera.c
M source/blender/blenkernel/intern/screen.c
M source/blender/blenloader/intern/writefile.c
M source/blender/gpu/GPU_compositing.h
M source/blender/gpu/intern/gpu_compositing.c
===================================================================
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index 438a0cd..635185d 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -49,6 +49,8 @@
#include "BKE_main.h"
#include "BKE_screen.h"
+#include "GPU_compositing.h"
+
/****************************** Camera Datablock *****************************/
void *BKE_camera_add(Main *bmain, const char *name)
@@ -66,11 +68,8 @@ void *BKE_camera_add(Main *bmain, const char *name)
cam->ortho_scale = 6.0;
cam->flag |= CAM_SHOWPASSEPARTOUT;
cam->passepartalpha = 0.5f;
-
- cam->gpu_dof.fstop = 128.0f;
- cam->gpu_dof.focal_length = 1.0f;
- cam->gpu_dof.focus_distance = 1.0f;
- cam->gpu_dof.sensor = 1.0f;
+
+ GPU_default_dof_settings(&cam->gpu_dof);
return cam;
}
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 7218625..a1b0c6b 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -39,6 +39,8 @@
#include "MEM_guardedalloc.h"
+#include "GPU_compositing.h"
+
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
@@ -618,9 +620,6 @@ void BKE_screen_gpu_fx_validate(GPUFXSettings *fx_settings)
GPUSSAOSettings *fx_ssao;
fx_ssao = fx_settings->ssao = MEM_callocN(sizeof(GPUSSAOSettings), __func__);
- fx_ssao->darkening = 1.0f;
- fx_ssao->distance_max = 0.2f;
- fx_ssao->attenuation = 1.0f;
- fx_ssao->samples = 4;
+ GPU_default_ssao_settings(fx_ssao);
}
}
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 6699d97..308ab44 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -2686,7 +2686,7 @@ static void write_screens(WriteData *wd, ListBase *scrbase)
if (v3d->fx_settings.ssao)
writestruct(wd, DATA, "GPUSSAOSettings", 1, v3d->fx_settings.ssao);
if (v3d->fx_settings.dof)
- writestruct(wd, DATA, "GPUDOFSettings", 1, v3d->fx_settings.ssao);
+ writestruct(wd, DATA, "GPUDOFSettings", 1, v3d->fx_settings.dof);
}
else if (sl->spacetype==SPACE_IPO) {
SpaceIpo *sipo= (SpaceIpo *)sl;
diff --git a/source/blender/gpu/GPU_compositing.h b/source/blender/gpu/GPU_compositing.h
index e56b65c..79569e8 100644
--- a/source/blender/gpu/GPU_compositing.h
+++ b/source/blender/gpu/GPU_compositing.h
@@ -38,7 +38,8 @@ extern "C" {
/* opaque handle for framebuffer compositing effects (defined in gpu_compositing.c )*/
typedef struct GPUFX GPUFX;
-
+struct GPUDOFSettings;
+struct GPUSSAOSettings;
struct GPUOffScreen;
struct GPUFXSettings;
struct RegionView3D;
@@ -78,6 +79,8 @@ bool GPU_fx_compositor_initialize_passes(
/* do compositing on the fx passes that have been initialized */
bool GPU_fx_do_composite_pass(GPUFX *fx, float projmat[4][4], bool is_persp, struct Scene *scene, struct GPUOffScreen *ofs);
+void GPU_default_dof_settings(struct GPUDOFSettings *dof);
+void GPU_default_ssao_settings(struct GPUSSAOSettings *ssao);
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/gpu/intern/gpu_compositing.c b/source/blender/gpu/intern/gpu_compositing.c
index 821dc5a..ac1319a 100644
--- a/source/blender/gpu/intern/gpu_compositing.c
+++ b/source/blender/gpu/intern/gpu_compositing.c
@@ -844,3 +844,19 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, float projmat[4][4], bool is_persp, str
return true;
}
+
+void GPU_default_dof_settings(GPUDOFSettings *dof)
+{
+ dof->fstop = 128.0f;
+ dof->focal_length = 1.0f;
+ dof->focus_distance = 1.0f;
+ dof->sensor = 1.0f;
+}
+
+void GPU_default_ssao_settings(GPUSSAOSettings *ssao)
+{
+ ssao->darkening = 1.0f;
+ ssao->distance_max = 0.2f;
+ ssao->attenuation = 1.0f;
+ ssao->samples = 4;
+}
More information about the Bf-blender-cvs
mailing list