Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-23Cleanup: use int for view_id's & view countCampbell Barton
`size_t` is useful for memory sizes or offsets, the number of views wont realistically exceed an int.
2015-10-14Support for multi-sample sequencer GL renderCampbell Barton
OpenGL sequencer render now uses a single fbo for all rendering.
2015-10-04Fix T46368: Subtitle Export: Subtitles are not sorted by time.Bastien Montagne
We need a temp list of Text effect strips here, to be able to sort it as we want...
2015-04-15Cleanup: warnings, wsCampbell Barton
2015-04-06Multi-View and Stereo 3DDalai Felinto
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
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-03-20Fix T43986: VSE Mask Modifier don't move with video-Clip.Bastien Montagne
Now mask animation is offset to start of strip, instead of staying at frame 1! Warning: this may break existing files, in case some would be using (hacking around!) current bad behavior...
2015-02-11Fix VSE strip channel skip overlapping stripsCampbell Barton
D1096 by @mangostaniko (with some edits)
2015-02-11cleanup: rename enum type to blender conventionCampbell Barton
2015-01-30Get rid of the file touch hack.Antony Riakiotakis
If user cancels, there's an issue with leftover files. Instead use a hash to record files that have akready been registered for generation and skip them if so. That should guarantee things will go smoothly and when a file exists it is assumed to be valid.
2015-01-29Add some convenience operators to sequencer proxy panel:Antony Riakiotakis
Enable proxies for all selected movie strips (won't do recursive enabling for metastrips yet) Generate proxies operator here, as well as in strip menu
2015-01-04sequencer: don't return big values (fill pointer instead)Campbell Barton
2014-12-05Grease Pencil sketches get included when doing OpenGL previews for scene ↵Joshua Leung
strips in sequencer After double checking the sequencer code, there doesn't seem to be any reason to exclude these from the sequencer previews. This makes it possible to use the sequencer to non-destructively chain together difference Grease Pencil animated shots together without having to render each image sequence first, allowing for a smoother workflow. Just in case the initial assumption isn't entirely correct, I've put in place an extra arg to the relevant functions which can be hooked up to a suitable option on the scene strip later to turn this on/off as needed.
2014-11-24Politically correct terrible consequencer changesAntony Riakiotakis
This patch includes the work done in the terrible consequencer branch that hasn't been merged to master minus a few controversial and WIP stuff, like strip parenting, new sequence data structs and cuddly widgets. What is included: * Strip extensions only when slipping. It can very easily be made an option but with a few strips with overlapping durations it makes view too crowded and difficult to make out. * Threaded waveform loading + code that restores waveforms on undo (not used though, since sound_load recreates everything. There's a patch for review D876) * Toggle to enable backdrop in the strip sequence editor * Toggle to easily turn on/off waveform display * Snapping during transform on sequence boundaries. Snapping to start or end of selection depends on position of mouse when invoking the operator * Snapping of timeline indicator in sequencer to strip boundaries. To use just press and hold ctrl while dragging. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D904
2014-11-06Revert "Metastrips: disallow making a metastrip with only one strip present."Antony Riakiotakis
This reverts commit a1578f08dc442b0c64f05a1ab18ef0fd90a9f6e4. Looks like some workflows benefit from being able to do this
2014-10-21Fix sequencer clipboard with meta's containing ID referencesCampbell Barton
2014-10-21Fix sequencer duplicate with only handle selectedCampbell Barton
2014-09-04Metastrips: disallow making a metastrip with only one strip present.Antony Riakiotakis
2014-05-27Fix T40373: Adding movie creates overlapping audio stripsCampbell Barton
2014-03-31Code cleanup: use boolCampbell Barton
2014-03-20Code cleanup: use true/false in sequencer functionsSergey Sharybin
2014-03-20Fix T39141: Video Sequencer Proxies don't take into account Strip Input ↵Sergey Sharybin
Offset (or strip modifiers) Basically issue was caused by the fact that strip for proxy has been post-processed but proxy files were considered pre-processed. This lead to situation of postprocessing being applied twice.
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-18Send sequencer render context as const pointer rather than as valueSergey Sharybin
No functional changes just creepy to send rather huge structure by value.
2014-01-17Sequencer: don't cache frames during proxy rebuild jobSergey Sharybin
2013-12-26Threaded object update and EvaluationContextSergey Sharybin
Summary: Made objects update happening from multiple threads. It is a task-based scheduling system which uses current dependency graph for spawning new tasks. This means threading happens on object level, but the system is flexible enough for higher granularity. Technical details: - Uses task scheduler which was recently committed to trunk (that one which Brecht ported from Cycles). - Added two utility functions to dependency graph: * DAG_threaded_update_begin, which is called to initialize threaded objects update. It will also schedule root DAG node to the queue, hence starting evaluation process. Initialization will calculate how much parents are to be evaluation before current DAG node can be scheduled. This value is used by task threads for faster detecting which nodes might be scheduled. * DAG_threaded_update_handle_node_updated which is called from task thread function when node was fully handled. This function decreases num_pending_parents of node children and schedules children with zero valency. As it might have become clear, task thread receives DAG nodes and decides which callback to call for it. Currently only BKE_object_handle_update is called for object nodes. In the future it'll call node->callback() from Ali's new DAG. - This required adding some workarounds to the render pipeline. Mainly to stop using get_object_dm() from modifiers' apply callback. Such a call was only a workaround for dependency graph glitch when rendering scene with, say, boolean modifiers before displaying this scene. Such change moves workaround from one place to another, so overall hackentropy remains the same. - Added paradigm of EvaluaitonContext. Currently it's more like just a more reliable replacement for G.is_rendering which fails in some circumstances. Future idea of this context is to also store all the local data needed for objects evaluation such as local time, Copy-on-Write data and so. There're two types of EvaluationContext: * Context used for viewport updated and owned by Main. In the future this context might be easily moved to Window or Screen to allo per-window/per-screen local time. * Context used by render engines to evaluate objects for render purposes. Render engine is an owner of this context. This context is passed to all object update routines. Reviewers: brecht, campbellbarton Reviewed By: brecht CC: lukastoenne Differential Revision: https://developer.blender.org/D94
2013-08-29fix [#36570] Changing the filename of a image strip doesnt refresh sequencerCampbell Barton
was casting a StripElem as a Sequencer struct.
2013-08-20Fix [#36351] Changing the Frame Rate value doesnt adjust audio strip length.Bastien Montagne
Simply recalc sequence len for audio (and meta!) strips when modifying fps value. Note start, startofs and endofs are also updated, to try to keep final pos and length as consistent as possible.
2013-07-27code cleanup: typosCampbell Barton
2013-07-24fix [#36262] Paste strip with video or sound content from another file ↵Campbell Barton
crashes Blender existing code was very stupid. - all ID pointers for clipboard strips are handled uniformly. - clipboard stores a duplicate ID pointer which are restored on paste. - restoring pointers... -- use ID's that are still in the database (copy&paste within the same file). -- fallback to name lookup. -- fallback to loading them from the original filepath (movie-clip and sound only). also fix bug pasting where initialing the sound wasn't done if there was no frame-offset.
2013-07-15fix for bad lengths being passed to string functions.Campbell Barton
2013-05-28code cleanup: comment/remove unused definesCampbell Barton
2013-04-13code cleanup: use `const char` for args and replace wm_keyconfig_list_find() ↵Campbell Barton
-> BLI_findstring()
2013-03-21code cleanup: use bool where values are true/false, for view3d and related ↵Campbell Barton
functions.
2013-03-09use 'bool' for BLI_/BKE_ functions.Campbell Barton
2013-03-08style cleanupCampbell Barton
2013-02-28Fix sequencer crash when pasteing strips after creating new fileSergey Sharybin
Issue happened for scene. movie clip and mask strips, which contains pointers to datablocks which are freeing on loading new file. Also, scene strip would crash when pasted from clipboard after scene was unlinked from file.
2013-02-19Fixes for alpha mode do_versions codeSergey Sharybin
Before this change only old flag "Premultiply" was used to detect alpha mode, which is not enough actually. Now the logic here is: - If "Premultiply" was enabled it is likely float image with straight alpha, which shall be premultiplied before usage. In this case image/sequence Alpha Mode is set to Straight. - Otherwise use default alpha mode for image format based on an extension. This could fail in some cases like TIFF, but this wasn't handled fully correct in older blender anyway. Initial discovered issue was that EXR images saved in older Blender versions were set to Straight alpha mode, which is obviously a straight way to lots of headache.
2012-12-12Sequencer: add textured solid option for opengl previewSergey Sharybin
2012-11-12code cleanup: spelling,Campbell Barton
also initialize bmesh-bevel settings struct to zero to avoid possible uninitialized memory later.
2012-11-05Sequencer: input color space support for image and movie stripsSergey Sharybin
2012-10-12quiet some -Wshadow warningsCampbell Barton
2012-10-07add type checking for more error prone macros.Campbell Barton
2012-10-04Fix #32755: Stripes in Metastrip can not be moved on other channel with ↵Sergey Sharybin
mouse (grab tool) The issue was caused by SEQ_BEGIN macro modifying sequence's depth which ruined transformation routines. Used own DFS instead which doesn't modify sequences. Also corrected some typos in api and comments.
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-09-14Sequencer: clear cache and animation buffers for strips outside of cursor ↵Sergey Sharybin
when rendering This avoids having bunch of cached images when doing animation rendering, keeping all the memory available for rendered itself. This keeps memory usage low when rendering huge edits with mixed scenes and movie strips. This should not affect on sped of video encoding, which was confirmed by some own tests. -- svn merge -r50051:50052 ^/branches/soc-2011-tomato
2012-09-13Sequencer: add missed cache invalidationSergey Sharybin
Invalidation was missed for: - Strip (Un)Muting - Changing speed effect - Strip translating
2012-09-06make freeing sequencer strip without cache an option only exposed within ↵Campbell Barton
sequencer.c
2012-09-06fix for crash in sequencer introduced with recent cache addition,Campbell Barton
- running undo with metastrips would crash immediately. - freeing a strip without a scene would crash (clipboard does this).