[Bf-blender-cvs] [f46c837] experimental-build: See if multiview is building fine
Dalai Felinto
noreply at git.blender.org
Fri Jan 16 23:01:23 CET 2015
Commit: f46c8377eb374014376d0da43d5e0a7fbcc5b700
Author: Dalai Felinto
Date: Fri Jan 16 20:00:58 2015 -0200
Branches: experimental-build
https://developer.blender.org/rBf46c8377eb374014376d0da43d5e0a7fbcc5b700
See if multiview is building fine
===================================================================
M intern/cycles/blender/addon/ui.py
M intern/cycles/blender/blender_camera.cpp
M intern/cycles/blender/blender_session.cpp
M intern/cycles/blender/blender_session.h
M release/scripts/startup/bl_ui/properties_data_camera.py
M release/scripts/startup/bl_ui/properties_render.py
M release/scripts/startup/bl_ui/properties_render_layer.py
M release/scripts/startup/bl_ui/space_image.py
M release/scripts/startup/bl_ui/space_info.py
M release/scripts/startup/bl_ui/space_sequencer.py
M release/scripts/startup/bl_ui/space_view3d.py
M release/scripts/startup/nodeitems_builtins.py
M source/blender/blenkernel/BKE_camera.h
M source/blender/blenkernel/BKE_image.h
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/BKE_scene.h
M source/blender/blenkernel/BKE_sequencer.h
M source/blender/blenkernel/BKE_writeavi.h
M source/blender/blenkernel/BKE_writeffmpeg.h
M source/blender/blenkernel/BKE_writeframeserver.h
M source/blender/blenkernel/intern/bpath.c
M source/blender/blenkernel/intern/camera.c
M source/blender/blenkernel/intern/image.c
M source/blender/blenkernel/intern/node.c
M source/blender/blenkernel/intern/ocean.c
M source/blender/blenkernel/intern/packedFile.c
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/seqcache.c
M source/blender/blenkernel/intern/sequencer.c
M source/blender/blenkernel/intern/writeavi.c
M source/blender/blenkernel/intern/writeffmpeg.c
M source/blender/blenkernel/intern/writeframeserver.c
M source/blender/blenlib/BLI_path_util.h
M source/blender/blenlib/BLI_threads.h
M source/blender/blenlib/intern/path_util.c
M source/blender/blenlib/intern/threads.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/collada/ImageExporter.cpp
M source/blender/compositor/CMakeLists.txt
M source/blender/compositor/COM_compositor.h
M source/blender/compositor/intern/COM_CompositorContext.h
M source/blender/compositor/intern/COM_Converter.cpp
M source/blender/compositor/intern/COM_ExecutionSystem.cpp
M source/blender/compositor/intern/COM_ExecutionSystem.h
M source/blender/compositor/intern/COM_Node.cpp
M source/blender/compositor/intern/COM_compositor.cpp
M source/blender/compositor/nodes/COM_CompositorNode.cpp
M source/blender/compositor/nodes/COM_ImageNode.cpp
M source/blender/compositor/nodes/COM_ImageNode.h
M source/blender/compositor/nodes/COM_OutputFileNode.cpp
M source/blender/compositor/nodes/COM_RenderLayersNode.cpp
M source/blender/compositor/nodes/COM_SplitViewerNode.cpp
A source/blender/compositor/nodes/COM_SwitchViewNode.cpp
A source/blender/compositor/nodes/COM_SwitchViewNode.h
M source/blender/compositor/nodes/COM_ViewerNode.cpp
M source/blender/compositor/operations/COM_CompositorOperation.cpp
M source/blender/compositor/operations/COM_CompositorOperation.h
M source/blender/compositor/operations/COM_ImageOperation.cpp
M source/blender/compositor/operations/COM_ImageOperation.h
M source/blender/compositor/operations/COM_MultilayerImageOperation.cpp
M source/blender/compositor/operations/COM_MultilayerImageOperation.h
A source/blender/compositor/operations/COM_OutputFileMultiViewOperation.cpp
A source/blender/compositor/operations/COM_OutputFileMultiViewOperation.h
M source/blender/compositor/operations/COM_OutputFileOperation.cpp
M source/blender/compositor/operations/COM_OutputFileOperation.h
M source/blender/compositor/operations/COM_RenderLayersProg.cpp
M source/blender/compositor/operations/COM_RenderLayersProg.h
M source/blender/compositor/operations/COM_ViewerOperation.cpp
M source/blender/compositor/operations/COM_ViewerOperation.h
M source/blender/editors/include/ED_view3d.h
M source/blender/editors/include/UI_interface.h
M source/blender/editors/interface/interface_ops.c
M source/blender/editors/object/object_bake_api.c
M source/blender/editors/render/render_intern.h
M source/blender/editors/render/render_internal.c
M source/blender/editors/render/render_opengl.c
M source/blender/editors/render/render_ops.c
M source/blender/editors/render/render_preview.c
M source/blender/editors/render/render_shading.c
M source/blender/editors/screen/area.c
M source/blender/editors/screen/screen_ops.c
M source/blender/editors/screen/screendump.c
M source/blender/editors/sculpt_paint/paint_image.c
M source/blender/editors/sculpt_paint/paint_image_2d.c
M source/blender/editors/sculpt_paint/paint_image_proj.c
M source/blender/editors/space_image/image_buttons.c
M source/blender/editors/space_image/image_draw.c
M source/blender/editors/space_image/image_ops.c
M source/blender/editors/space_image/space_image.c
M source/blender/editors/space_node/drawnode.c
M source/blender/editors/space_node/node_edit.c
M source/blender/editors/space_node/node_intern.h
M source/blender/editors/space_node/node_ops.c
M source/blender/editors/space_sequencer/sequencer_add.c
M source/blender/editors/space_sequencer/sequencer_draw.c
M source/blender/editors/space_sequencer/sequencer_intern.h
M source/blender/editors/space_sequencer/sequencer_view.c
M source/blender/editors/space_view3d/drawobject.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_draw.c
M source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
M source/blender/gpu/GPU_draw.h
M source/blender/gpu/intern/gpu_draw.c
M source/blender/imbuf/CMakeLists.txt
M source/blender/imbuf/IMB_imbuf.h
M source/blender/imbuf/IMB_imbuf_types.h
M source/blender/imbuf/intern/openexr/openexr_api.cpp
M source/blender/imbuf/intern/openexr/openexr_multi.h
M source/blender/imbuf/intern/openexr/openexr_stub.cpp
A source/blender/imbuf/intern/stereoimbuf.c
M source/blender/imbuf/intern/thumbs.c
M source/blender/imbuf/intern/util.c
M source/blender/imbuf/intern/writeimage.c
M source/blender/makesdna/DNA_camera_types.h
M source/blender/makesdna/DNA_image_types.h
M source/blender/makesdna/DNA_node_types.h
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesdna/DNA_sequence_types.h
M source/blender/makesdna/DNA_space_types.h
M source/blender/makesdna/DNA_view3d_types.h
M source/blender/makesdna/DNA_windowmanager_types.h
M source/blender/makesrna/RNA_access.h
M source/blender/makesrna/RNA_enum_types.h
M source/blender/makesrna/intern/rna_camera.c
M source/blender/makesrna/intern/rna_color.c
M source/blender/makesrna/intern/rna_image.c
M source/blender/makesrna/intern/rna_image_api.c
M source/blender/makesrna/intern/rna_main_api.c
M source/blender/makesrna/intern/rna_nodetree.c
M source/blender/makesrna/intern/rna_render.c
M source/blender/makesrna/intern/rna_scene.c
M source/blender/makesrna/intern/rna_scene_api.c
M source/blender/makesrna/intern/rna_sequencer.c
M source/blender/makesrna/intern/rna_sequencer_api.c
M source/blender/makesrna/intern/rna_space.c
M source/blender/makesrna/intern/rna_ui_api.c
M source/blender/makesrna/intern/rna_userdef.c
M source/blender/makesrna/intern/rna_wm.c
M source/blender/nodes/CMakeLists.txt
M source/blender/nodes/NOD_composite.h
M source/blender/nodes/NOD_static_types.h
M source/blender/nodes/composite/node_composite_tree.c
M source/blender/nodes/composite/nodes/node_composite_image.c
M source/blender/nodes/composite/nodes/node_composite_outputFile.c
A source/blender/nodes/composite/nodes/node_composite_switchview.c
M source/blender/quicktime/apple/qtkit_export.m
M source/blender/quicktime/quicktime_export.h
M source/blender/render/extern/include/RE_engine.h
M source/blender/render/extern/include/RE_pipeline.h
M source/blender/render/intern/include/render_result.h
M source/blender/render/intern/include/render_types.h
M source/blender/render/intern/source/convertblender.c
M source/blender/render/intern/source/envmap.c
M source/blender/render/intern/source/external_engine.c
M source/blender/render/intern/source/initrender.c
M source/blender/render/intern/source/pipeline.c
M source/blender/render/intern/source/render_result.c
M source/blender/render/intern/source/rendercore.c
M source/blender/render/intern/source/zbuf.c
M source/blender/windowmanager/CMakeLists.txt
M source/blender/windowmanager/WM_api.h
M source/blender/windowmanager/intern/wm_draw.c
M source/blender/windowmanager/intern/wm_files.c
M source/blender/windowmanager/intern/wm_operators.c
A source/blender/windowmanager/intern/wm_stereo.c
M source/blender/windowmanager/intern/wm_subwindow.c
M source/blender/windowmanager/intern/wm_window.c
M source/blender/windowmanager/wm.h
M source/blender/windowmanager/wm_draw.h
M source/blenderplayer/bad_level_call_stubs/stubs.c
===================================================================
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 8fd09c3..43fd309 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -18,7 +18,7 @@
import bpy
-from bpy.types import Panel, Menu, Operator
+from bpy.types import Panel, Menu, Operator, UIList
class CYCLES_MT_sampling_presets(Menu):
@@ -413,6 +413,53 @@ class CyclesRender_PT_layer_passes(CyclesButtonsPanel, Panel):
col.prop(rl, "use_pass_environment")
+class CyclesRender_PT_views(CyclesButtonsPanel, Panel):
+ bl_label = "Views"
+ bl_context = "render_layer"
+
+ def draw_header(self, context):
+ rd = context.scene.render
+ self.layout.prop(rd, "use_multiview", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ scene = context.scene
+ rd = scene.render
+ rv = rd.views.active
+
+
+ layout.active = rd.use_multiview
+ basic_stereo = (rd.views_format == 'SETUP_BASIC')
+
+ row = layout.row()
+ row.prop(rd, "views_format", expand=True)
+
+ if basic_stereo:
+ row = layout.row()
+ row.template_list("RENDERLAYER_UL_renderviews", "", rd, "stereo_views", rd.views, "active_index", rows=2)
+
+ row = layout.row()
+ row.label(text="File Suffix:")
+ row.prop(rv, "file_suffix", text="")
+
+ else:
+ row = layout.row()
+ row.template_list("RENDERLAYER_UL_renderviews", "name", rd, "views", rd.views, "active_index", rows=2)
+
+ col = row.column(align=True)
+ col.operator("scene.render_view_add", icon='ZOOMIN', text="")
+ col.operator("scene.render_view_remove", icon='ZOOMOUT', text="")
+
+ row = layout.row()
+ if rv and rv.name not in {"left", "right"}:
+ row.prop(rv, "name")
+
+ row = layout.row()
+ row.label(text="Camera Suffix:")
+ row.prop(rv, "camera_suffix", text="")
+
+
class Cycles_PT_post_processing(CyclesButtonsPanel, Panel):
bl_label = "Post Processing"
bl_options = {'DEFAULT_CLOSED'}
@@ -1417,6 +1464,7 @@ def get_panels():
"DATA_PT_vertex_colors",
"DATA_PT_camera",
"DATA_PT_camera_display",
+ "DATA_PT_camera_stereoscopy",
"DATA_PT_lens",
"DATA_PT_speaker",
"DATA_PT_distance",
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index e5214fb..f30b992 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -92,7 +92,7 @@ static void blender_camera_init(BlenderCamera *bcam, BL::RenderSettings b_render
bcam->full_height = render_resolution_y(b_render);
}
-static float blender_camera_focal_distance(BL::Object b_ob, BL::Camera b_camera)
+static float blender_camera_focal_distance(BL::RenderEngine b_engine, BL::Object b_ob, BL::Camera b_camera)
{
BL::Object b_dof_object = b_camera.dof_object();
@@ -100,14 +100,16 @@ static float blender_camera_focal_distance(BL::Object b_ob, BL::Camera b_camera)
return b_camera.dof_distance();
/* for dof object, return distance along camera Z direction */
- Transform obmat = transform_clear_scale(get_transform(b_ob.matrix_world()));
+ BL::Array<float, 16> b_ob_matrix;
+ b_engine.camera_model_matrix(b_ob, b_ob_matrix);
+ Transform obmat = transform_clear_scale(get_transform(b_ob_matrix));
Transform dofmat = get_transform(b_dof_object.matrix_world());
Transform mat = transform_inverse(obmat) * dofmat;
return fabsf(transform_get_column(&mat, 3).z);
}
-static void blender_camera_from_object(BlenderCamera *bcam, BL::Object b_ob, bool skip_panorama = false)
+static void blender_camera_from_object(BlenderCamera *bcam, BL::RenderEngine b_engine, BL::Object b_ob, bool skip_panorama = false)
{
BL::ID b_ob_data = b_ob.data();
@@ -178,10 +180,10 @@ static void blender_camera_from_object(BlenderCamera *bcam, BL::Object b_ob, boo
bcam->apertureblades = RNA_int_get(&ccamera, "aperture_blades");
bcam->aperturerotation = RNA_float_get(&ccamera, "aperture_rotation");
- bcam->focaldistance = blender_camera_focal_distance(b_ob, b_camera);
+ bcam->focaldistance = blender_camera_focal_distance(b_engine, b_ob, b_camera);
bcam->aperture_ratio = RNA_float_get(&ccamera, "aperture_ratio");
- bcam->shift.x = b_camera.shift_x();
+ bcam->shift.x = b_engine.camera_shift_x(b_ob);
bcam->shift.y = b_camera.shift_y();
bcam->sensor_width = b_camera.sensor_width();
@@ -398,8 +400,10 @@ void BlenderSync::sync_camera(BL::RenderSettings b_render, BL::Object b_override
b_ob = b_override;
if(b_ob) {
- blender_camera_from_object(&bcam, b_ob);
- bcam.matrix = get_transform(b_ob.matrix_world());
+ BL::Array<float, 16> b_ob_matrix;
+ blender_camera_from_object(&bcam, b_engine, b_ob);
+ b_engine.camera_model_matrix(b_ob, b_ob_matrix);
+ bcam.matrix = get_transform(b_ob_matrix);
}
/* sync */
@@ -410,8 +414,9 @@ void BlenderSync::sync_camera(BL::RenderSettings b_render, BL::Object b_override
void BlenderSync::sync_camera_motion(BL::Object b_ob, float motion_time)
{
Camera *cam = scene->camera;
-
- Transform tfm = get_transform(b_ob.matrix_world());
+ BL::Array<float, 16> b_ob_matrix;
+ b_engine.camera_model_matrix(b_ob, b_ob_matrix);
+ Transform tfm = get_transform(b_ob_matrix);
tfm = blender_camera_matrix(tfm, cam->type);
if(tfm != cam->matrix) {
@@ -429,10 +434,10 @@ void BlenderSync::sync_camera_motion(BL::Object b_ob, float motion_time)
/* Sync 3D View Camera */
-static void blender_camera_view_subset(BL::RenderSettings b_render, BL::Scene b_scene, BL::Object b_ob, BL::SpaceView3D b_v3d,
+static void blender_camera_view_subset(BL::RenderEngine b_engine, BL::RenderSettings b_render, BL::Scene b_scene, BL::Object b_ob, BL::SpaceView3D b_v3d,
BL::RegionView3D b_rv3d, int width, int height, BoundBox2D *view_box, BoundBox2D *cam_box);
-static void blender_camera_from_view(BlenderCamera *bcam, BL::Scene b_scene, BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height, bool skip_panorama = false)
+static void blender_camera_from_view(BlenderCamera *bcam, BL::RenderEngine b_engine, BL::Scene b_scene, BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height, bool skip_panorama = false)
{
/* 3d view parameters */
bcam->nearclip = b_v3d.clip_start();
@@ -445,13 +450,13 @@ static void blender_camera_from_view(BlenderCamera *bcam, BL::Scene b_scene, BL:
BL::Object b_ob = (b_v3d.lock_camera_and_layers())? b_scene.camera(): b_v3d.camera();
if(b_ob) {
- blender_camera_from_object(bcam, b_ob, skip_panorama);
+ blender_camera_from_object(bcam, b_engine, b_ob, skip_panorama);
if(!skip_panorama && bcam->type == CAMERA_PANORAMA) {
/* in panorama camera view, we map viewplane to camera border */
BoundBox2D view_box, cam_box;
- blender_camera_view_subset(b_scene.render(), b_scene, b_ob, b_v3d, b_rv3d, width, height,
+ blender_camera_view_subset(b_engine, b_scene.render(), b_scene, b_ob, b_v3d, b_rv3d, width, height,
&view_box, &cam_box);
bcam->pano_viewplane = view_box.make_relative_to(cam_box);
@@ -489,7 +494,7 @@ static void blender_camera_from_view(BlenderCamera *bcam, BL::Scene b_scene, BL:
bcam->matrix = transform_inverse(get_transform(b_rv3d.view_matrix()));
}
-static void blender_camera_view_subset(BL::RenderSettings b_render, BL::Scene b_scene, BL::Object b_ob, BL::SpaceView3D b_v3d,
+static void blender_camera_view_subset(BL::RenderEngine b_engine, BL::RenderSettings b_render, BL::Scene b_scene, BL::Object b_ob, BL::SpaceView3D b_v3d,
BL::RegionView3D b_rv3d, int width, int height, BoundBox2D *view_box, BoundBox2D *cam_box)
{
BoundBox2D cam, view;
@@ -498,7 +503,7 @@ static void blender_camera_view_subset(BL::RenderSettings b_render, BL::Scene b_
/* get viewport viewplane */
BlenderCamera view_bcam;
blender_camera_init(&view_bcam, b_render, b_scene);
- blender_camera_from_view(&view_bcam, b_scene, b_v3d, b_rv3d, width, height, true);
+ blender_camera_from_view(&view_bcam, b_engine, b_scene, b_v3d, b_rv3d, width, height, true);
blender_camera_viewplane(&view_bcam, width, height,
&view, &view_aspect, &sensor_size);
@@ -506,7 +511,7 @@ static void blender_camera_view_subset(BL::RenderSettings b_render, BL::Scene b_
/* get camera viewplane */
BlenderCamera cam_bcam;
blender_camera_init(&cam_bcam, b_render, b_scene);
- blender_camera_from_object(&cam_bcam, b_ob, true);
+ blender_camera_from_object(&cam_bcam, b_engine, b_ob, true);
blender_camera_viewplane(&cam_bcam, cam_bcam.full_width, cam_bcam.full_height,
&cam, &cam_aspect, &sensor_size);
@@ -516,7 +521,7 @@ static void blender_camera_view_subset(BL::RenderSettings b_render, BL::Scene b_
*cam_box = cam * (1.0f/cam_aspect);
}
-static void blender_camera_border(BlenderCamera *bcam, BL::RenderSettings b_render, BL::Scene b_scene, BL::SpaceView3D b_v3d,
+static void blender_camera_border(BlenderCamera *bcam, BL::RenderEngine b_engine, BL::RenderSettings b_render, BL::Scene b_scene, BL::SpaceView3D b_v3d,
BL::RegionView3D b_rv3d, int width, int height)
{
bool is_camera_view;
@@ -554,7 +559,7 @@ static void blender_camera_border(BlenderCamera *bcam, BL::RenderSettings b_rend
/* determine camera viewport subset */
BoundBox2D view_box, cam_box;
- blender_camera_view_subset(b_render, b_scene, b_ob, b_v3d, b_rv3d, width, height,
+ blender_camera_view_subset(b_engine, b_render, b_scene, b_ob, b_v3d, b_rv3d, width, height,
&view_box, &cam_box);
/* determine viewport subset matching camera border */
@@ -566,8 +571,8 @@ void BlenderSync::sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int
{
BlenderCamera bcam;
blender_camera_init(&bcam, b_scene.render(), b_scene);
- blender_camera_from_view(&bcam, b_scene, b_v3d, b_rv3d, width, height);
- blender_camera_border(&bcam, b_scene.render(), b_scene, b_v3d, b_rv3d, width, height);
+ blender_camera_from_view(&bcam, b_engine, b_scene, b_v3d, b_rv3d, width, height);
+ blender_camera_border(&bcam, b_engine, b_scene.render(), b_scene, b_v3d, b_rv3d, width, height);
blen
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list