From d5f1b9c2223333e03f2e4994171ad9df8c1c4f21 Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Mon, 6 Apr 2015 10:40:12 -0300 Subject: Multi-View and Stereo 3D Official Documentation: http://www.blender.org/manual/render/workflows/multiview.html Implemented Features ==================== Builtin Stereo Camera * Convergence Mode * Interocular Distance * Convergence Distance * Pivot Mode Viewport * Cameras * Plane * Volume Compositor * View Switch Node * Image Node Multi-View OpenEXR support Sequencer * Image/Movie Strips 'Use Multiview' UV/Image Editor * Option to see Multi-View images in Stereo-3D or its individual images * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images I/O * Save/Open Multi-View (OpenEXR, Stereo3D, individual views) images Scene Render Views * Ability to have an arbitrary number of views in the scene Missing Bits ============ First rule of Multi-View bug report: If something is not working as it should *when Views is off* this is a severe bug, do mention this in the report. Second rule is, if something works *when Views is off* but doesn't (or crashes) when *Views is on*, this is a important bug. Do mention this in the report. Everything else is likely small todos, and may wait until we are sure none of the above is happening. Apart from that there are those known issues: * Compositor Image Node poorly working for Multi-View OpenEXR (this was working prefectly before the 'Use Multi-View' functionality) * Selecting camera from Multi-View when looking from camera is problematic * Animation Playback (ctrl+F11) doesn't support stereo formats * Wrong filepath when trying to play back animated scene * Viewport Rendering doesn't support Multi-View * Overscan Rendering * Fullscreen display modes need to warn the user * Object copy should be aware of views suffix Acknowledgments =============== * Francesco Siddi for the help with the original feature specs and design * Brecht Van Lommel for the original review of the code and design early on * Blender Foundation for the Development Fund to support the project wrap up Final patch reviewers: * Antony Riakiotakis (psy-fi) * Campbell Barton (ideasman42) * Julian Eisel (Severin) * Sergey Sharybin (nazgul) * Thomas Dinged (dingto) Code contributors of the original branch in github: * Alexey Akishin * Gabriel Caraballo --- source/blender/imbuf/intern/anim_movie.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/imbuf/intern/anim_movie.c') diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index ffdecb793aa..0bb9f0fce51 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -288,6 +288,11 @@ struct anim *IMB_open_anim(const char *name, int ib_flags, int streamindex, char return(anim); } +void IMB_suffix_anim(struct anim *anim, const char *suffix) +{ + BLI_strncpy(anim->suffix, suffix, sizeof(anim->suffix)); +} + #ifdef WITH_AVI static int startavi(struct anim *anim) { -- cgit v1.2.3 From 6c44265bc96bf4ed2d40390045f18dc03602442a Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Fri, 12 Jun 2015 11:47:37 +0200 Subject: Merge all changes to blenderplayer from gooseberry branch: * Allows sound playback for movies * Allow play-pause with space button * Allow displaying a position indicator with the I button --- source/blender/imbuf/intern/anim_movie.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/imbuf/intern/anim_movie.c') diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index 0bb9f0fce51..be0b62491a7 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -1427,11 +1427,13 @@ int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc) } bool IMB_anim_get_fps(struct anim *anim, - short *frs_sec, float *frs_sec_base) + short *frs_sec, float *frs_sec_base, bool no_av_base) { if (anim->frs_sec) { *frs_sec = anim->frs_sec; *frs_sec_base = anim->frs_sec_base; + if (no_av_base) + *frs_sec_base /= AV_TIME_BASE; return true; } return false; -- cgit v1.2.3 From 69e96509a6b45977256d95834c9ab95f5f54b4bf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 12 Jun 2015 23:01:23 +1000 Subject: Fix for building without ffmpeg --- source/blender/imbuf/intern/anim_movie.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/imbuf/intern/anim_movie.c') diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index be0b62491a7..185dadc0592 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -1432,8 +1432,13 @@ bool IMB_anim_get_fps(struct anim *anim, if (anim->frs_sec) { *frs_sec = anim->frs_sec; *frs_sec_base = anim->frs_sec_base; - if (no_av_base) +#ifdef WITH_FFMPEG + if (no_av_base) { *frs_sec_base /= AV_TIME_BASE; + } +#else + UNUSED_VARS(no_av_base); +#endif return true; } return false; -- cgit v1.2.3 From 5b833de521f26c6f4af2e852ccf420f3661fb02a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Jun 2015 15:53:35 +1000 Subject: ImBuf: Assert when read/write gets relative paths We _never_ want this, so better not fail silently. --- source/blender/imbuf/intern/anim_movie.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/imbuf/intern/anim_movie.c') diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index 185dadc0592..2c8431d25ea 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -271,6 +271,8 @@ struct anim *IMB_open_anim(const char *name, int ib_flags, int streamindex, char { struct anim *anim; + BLI_assert(!BLI_path_is_rel(name)); + anim = (struct anim *)MEM_callocN(sizeof(struct anim), "anim struct"); if (anim != NULL) { if (colorspace) { -- cgit v1.2.3 From 3ce4a58aa90d93d1d0f1ec5dcc63a482d1b1af78 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 18 Jun 2015 06:11:02 +1000 Subject: Cleanup: duplicate includes --- source/blender/imbuf/intern/anim_movie.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'source/blender/imbuf/intern/anim_movie.c') diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c index 2c8431d25ea..e2d56d29726 100644 --- a/source/blender/imbuf/intern/anim_movie.c +++ b/source/blender/imbuf/intern/anim_movie.c @@ -99,13 +99,8 @@ #endif //WITH_FFMPEG #ifdef WITH_REDCODE -#ifdef _WIN32 /* on windows we use the ones in extern instead */ -#include "libredcode/format.h" -#include "libredcode/codec.h" -#else -#include "libredcode/format.h" -#include "libredcode/codec.h" -#endif +# include "libredcode/format.h" +# include "libredcode/codec.h" #endif #include "IMB_colormanagement.h" -- cgit v1.2.3