[Bf-blender-cvs] [df0b484] multiview: Sequencer: OpenGL preview and OpenGL render working correctly
Dalai Felinto
noreply at git.blender.org
Thu Oct 16 22:23:44 CEST 2014
Commit: df0b4840ed7917f5c9e4bddb1d83e6c99893413f
Author: Dalai Felinto
Date: Tue Oct 14 20:17:08 2014 -0300
Branches: multiview
https://developer.blender.org/rBdf0b4840ed7917f5c9e4bddb1d83e6c99893413f
Sequencer: OpenGL preview and OpenGL render working correctly
===================================================================
M source/blender/blenkernel/BKE_camera.h
M source/blender/blenkernel/intern/camera.c
M source/blender/editors/render/render_opengl.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/render/intern/source/initrender.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_camera.h b/source/blender/blenkernel/BKE_camera.h
index 75df0e2..c14f3de 100644
--- a/source/blender/blenkernel/BKE_camera.h
+++ b/source/blender/blenkernel/BKE_camera.h
@@ -125,6 +125,7 @@ void BKE_camera_view_matrix(struct RenderData *rd, struct Object *camera, const
void BKE_camera_model_matrix(struct RenderData *rd, struct Object *camera, const char *viewname, float r_modelmat[4][4]);
struct Object *BKE_camera_render(struct Scene *scene, struct Object *camera, const char *viewname);
float BKE_camera_shift_x(struct RenderData *rd, struct Object *camera, const char *viewname);
+void BKE_camera_params_stereo3d(struct RenderData *rd, struct CameraParams *params, struct Object *camera, const char *viewname);
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index 3da05c9..0549133 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -841,3 +841,7 @@ float BKE_camera_shift_x(RenderData *rd, Object *camera, const char *viewname)
}
}
+void BKE_camera_params_stereo3d(RenderData *rd, CameraParams *params, Object *camera, const char *viewname)
+{
+ params->shiftx = BKE_camera_shift_x(rd, camera, viewname);
+}
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index a0c2165..f2edb27 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -251,7 +251,6 @@ static void screen_opengl_render_doit(OGLRender *oglrender, RenderResult *rr)
bool draw_bgpic = true;
bool draw_sky = (scene->r.alphamode == R_ADDSKY);
unsigned char *rect = NULL;
- const bool is_multiview = screen_opengl_is_multiview(oglrender);
const char *viewname = RE_GetActiveRenderView(oglrender->re);
if (oglrender->is_sequencer) {
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 9ecfcd5..b5bf84a 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2946,12 +2946,14 @@ ImBuf *ED_view3d_draw_offscreen_imbuf(Scene *scene, View3D *v3d, ARegion *ar, in
/* render 3d view */
if (rv3d->persp == RV3D_CAMOB && v3d->camera) {
CameraParams params;
+ Object *camera = BKE_camera_render(scene, v3d->camera, viewname);
BKE_camera_params_init(¶ms);
/* fallback for non camera objects */
params.clipsta = v3d->near;
params.clipend = v3d->far;
- BKE_camera_params_from_object(¶ms, v3d->camera);
+ BKE_camera_params_from_object(¶ms, camera);
+ BKE_camera_params_stereo3d(&scene->r, ¶ms, camera, viewname);
BKE_camera_params_compute_viewplane(¶ms, sizex, sizey, scene->r.xasp, scene->r.yasp);
BKE_camera_params_compute_matrix(¶ms);
@@ -3011,9 +3013,11 @@ ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Scene *scene, Object *camera, int w
{
CameraParams params;
+ Object *camera = BKE_camera_render(scene, v3d.camera, viewname);
BKE_camera_params_init(¶ms);
- BKE_camera_params_from_object(¶ms, v3d.camera);
+ BKE_camera_params_from_object(¶ms, camera);
+ BKE_camera_params_stereo3d(&scene->r, ¶ms, camera, viewname);
BKE_camera_params_compute_viewplane(¶ms, width, height, scene->r.xasp, scene->r.yasp);
BKE_camera_params_compute_matrix(¶ms);
diff --git a/source/blender/render/intern/source/initrender.c b/source/blender/render/intern/source/initrender.c
index 252befc..814612c 100644
--- a/source/blender/render/intern/source/initrender.c
+++ b/source/blender/render/intern/source/initrender.c
@@ -484,7 +484,7 @@ void RE_SetOverrideCamera(Render *re, Object *camera)
static void re_camera_params_stereo3d(Render *re, CameraParams *params, Object *cam_ob)
{
- params->shiftx = BKE_camera_shift_x(&re->r, cam_ob, re->viewname);
+ BKE_camera_params_stereo3d(&re->r, params, cam_ob, re->viewname);
}
/* call this after InitState() */
More information about the Bf-blender-cvs
mailing list