Commit Graph

152 Commits

Author SHA1 Message Date
166cdf8b5a Bug fix - own collection.
- Scopes in Sequencer were not drawing OK (drawing code assumed alpha)
- Histogram in Sequencer now uses same formula to quantify R G B as the
  other histogram in Blender (per channel).

I seriously thought of dropping this, and add the same sidebar here as we
have for Image window. However, what stops me is that current code is
very optimized, and has OMP hints.

Will check instead on cleaner drawing here now.
2013-03-26 17:49:57 +00:00
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
3d7867d7f0 Added RGBA|RGB channels toggle to sequencer preview
Main purpose of this is to be more compatible with older
versions of blender (before alpha cleanup) where sequencer
used to display premultiplied image on an straight opengl
viewport.

Now sequencer preview would behave closer to image editor
However adding Alpha and R|G|B displays is not so simple
because sequencer is using 2D textures. Would be nice to
implement this options as well, but this is not so much
important IMO.

This hall fix
- #34453: VSE: Subtract function does not work properly

TODO: Make RGBA display default for our startup.blend
2013-02-27 10:26:58 +00:00
f6f33515ac Fix #33822: Compositor gets stuck if a sequencer window is also visible
Issue was caused by a fix for rendered sequencer preview mode, which
will likely conflict with compositor job. Made it so compositor job
will be killed when sequencer uses rendered preview.
2013-01-10 16:11:12 +00:00
0c1d1e6c30 Alpha-over images on a black background when in RGB display mode
This is actually a bit arbitrary decision and mainly it preserves
compatibility with how images were displaying in previous releases.

In fact, we actually would need to think about configurable backdrop
color and blending mode to be used for display in RGB mode.
2013-01-08 15:34:33 +00:00
1f70a30bd7 Fix #33735: sequencer crash when using rendered preview
Issue was caused by preview job starting just moment before
sequencer starts rendering. This lead to threading conflicts
since renderer itself is not thread-safe.

Now all preview jobs would be killed before sequencer starts
rendering stack when final render for preview is enabled.
2013-01-07 14:25:29 +00:00
fe006c0426 don't draw the sequencer grease pencil panel when in the channel view or scopes.
also don't draw grease pencil over scopes.
2012-12-17 04:44:39 +00:00
f9ec10688a fix [#33501] Grease pencil in OpenGL render
With the view3d 'Render Only' option, grease pencil wouldn't draw, but for OpenGL render it did.

Since grease pencil can be very useful in opengl renders, enable grease pencil drawing with 'Render Only' option in the viewport,
and add a checkbox in the grease pencil header not to draw (unchecking each layer is annoying and applies to all spaces).
2012-12-17 02:34:53 +00:00
b91cf60962 Fix #33330: Proxies are not built in Sequencer if preview is visible
Was own regression when was solving conflict between sequencer preview
and compositor jobs. Made it so now only compositor jobs are being
killed from sequencer preview.
2012-11-28 09:36:23 +00:00
e1d1cc0680 Fix #33253: VSE preview doesn't display compositor
There were two issues in scene strip rendering:

- It will skip rendering if scene doesn't have camera but uses compositor
- G.is_break will cancel preview rendering

Also removed Use Sequencer from scene's strip settings, it's not supported.
2012-11-21 09:36:36 +00:00
cf503f5c77 Sequencer: disabled sequencer recursion and corrected rendered preview mode
Sequencer recursion was never actually supported and only gives lots of
issues. Disabled it now, so users are not getting confused by semi-working
stuff.

Also made a correction to rendered sequencer preview, so now using scene
strip in it's own sequencer will work properly (it produced black frames
before).

This required killing compositor jobs since they could be using the same
render result as renderer called from sequencer uses.

Small improvements could be:
- Add slight delay before compositor job starts handling nodes so killing
  this job would be fast
- Tag compositor to be updated after preview was fully rendered.
2012-11-09 16:49:17 +00:00
34fecdd60e code cleanup: use min/max functions rather then macros. 2012-11-07 12:31:05 +00:00
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
fec81d9b56 use min_ max_ functions in more places.
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-23 16:21:55 +00:00
f70d2c65d8 rename api functions...
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23 13:28:22 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
63840fd505 Fix #32755: Stripes in Metastrip can not be moved on other channel with 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-10-04 18:30:28 +00:00
9e3e12fa4e Proper fix for #32626: TIFF renders are limited to 8 bit even when we choose 16.
Color management would be applied on both of float and byte buffers on image
save in cases if file format doesn't require linear float buffer and if image
is saving as render result.

This solves both initial report issue and TODO marked in previous fix.

Also de-duplicated image buffer color managing code and gave some more
meaningful names for few functions. Also wrote documentation around this
function, so current assumptions about spaces should be clear enough.

Made regression tests by saving EXR/PNG images to all supported format and
rendering OpenGL/Normal animation, in all cases seems everything is fine,
but more tests for sure would be welcome.
2012-09-24 11:56:07 +00:00
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
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-15 10:05:07 +00:00
c5310521f8 fix for drawing non 1:1 aspect masks, transform and selection still need support. 2012-09-13 02:28:48 +00:00
3bb17bd64a fix for crash in sequencer introduced with recent cache addition,
- running undo with metastrips would crash immediately.
- freeing a strip without a scene would crash (clipboard does this).
2012-09-06 04:45:25 +00:00
c9d5f32270 Sequencer: display color sample information when mouse is holded down
Behaves in exactly the same way as image editor's color sampling.

Would be nice to display color managed color too, but that's for tomato branch.
2012-08-23 16:14:52 +00:00
77f47799dd code cleanup: use BLI_RCT_SIZE macro 2012-08-20 23:06:17 +00:00
c0539d267d draw ugly red bands on a sequence strip when its data cant be found (mask, clip, scene, sound) 2012-08-13 17:36:29 +00:00
51fafdee0c Sequencer: overlay display type options
Before this overlay would happen only for defined rectangle area,
now it's possible to show current / reference frames only, which
makes it possible to do more real slit view involving even displaying
frames on different monitors.

Still some work need to be done to clean interface up and support
displaying color information for reference shot.
2012-08-12 13:24:29 +00:00
f0951f58ca code cleanup: rename G.afbreek --> is_break, G.rendering --> is_rendering 2012-08-08 18:37:06 +00:00
1bf893e9c8 Code cleanup: BKE_ prefix for public sequencer functions 2012-08-08 11:15:40 +00:00
e00c7558bd - disable mask drawing in the sequencer, this isn't usable yet and likely wont be working in release.
- use define for max mask mblur samples, increase to 64 max.
2012-08-01 12:59:38 +00:00
7217927414 add inline functions for max/min ints, good to use when the arguments are function calls (we had a few of these). 2012-07-29 18:14:20 +00:00
ff078d309e change clip utility function arguments to take space data and region rather then the context.
this allows a fix to be applied that corrects the helper line in the image view when transforming a mask.
2012-07-26 22:41:40 +00:00
8509e94d3a initial commit for supporting masks in the image view, currently active seq strip is used as the mask source.
also unify mask drawing code for clip/sequencer/image
2012-07-24 19:29:24 +00:00
7949f0057f generalize mask poll functions and sequencer mask code. 2012-07-24 09:53:29 +00:00
468ef74ed7 More spell and typo fixes (mostly visualise->visualize, grey->gray, normalise->normalize). 2012-07-03 19:09:07 +00:00
81468b5b09 fix for error with sequencer stip text drawing - was using unclamped handle sizes for the text bounds, this could be very wrong with long strips. 2012-06-20 17:10:40 +00:00
ea122cf59b move the frame length to the end for sequence drawing (mango request, since often the name is clipped out entirely so only then length is seen) 2012-06-20 16:34:15 +00:00
c711665ce2 Code cleanup - Removing/commenting out various bits of legacy cruft related to
old Grease Pencil stuff
2012-06-11 00:46:22 +00:00
0df68aacb1 Grease Pencil - Support for Grease Pencil in the Sequence Editor preview/image
space works again

This commit restores the support for using Grease Pencil in the Sequence Editor
image preview region, making it possible to scribble on footage for review
purposes again. Due to internal changes in how the Sequencer handles the image
drawing for this stuff (i.e. it is now fully based on View2D instead of trying
to implement its own little crazy offset+zoom stuff), a lot of the old code for
handling those offsets is no longer needed. Instead, one of the "standard" cases
is now used, and works quite well.

Bugfixes:
* View-space Grease Pencil drawing was done in wrong place (before view2d
restore)
* Grease Pencil entry in RNA had wrong/missing type

Credits:
* DingTo - initial patch/attempt at restoring support
* Aligorith - solved the "offset problems"
2012-06-11 00:21:50 +00:00
36db2a2cff initial support for editing masks in the sequencer, currently only draw the mask. 2012-06-07 19:24:49 +00:00
bdf9e02346 new sequence strip type for masks. 2012-06-07 18:24:36 +00:00
105b1031dd code cleanup: rename sequencer types to SEQ_TYPE_*** and use enums rather then defines. 2012-06-07 15:49:02 +00:00
16117143d8 Massive Code cleanup:
* Remove all code for Texture and Sequencer plugin system, this never worked in 2.5x / 2.6x and is therefore not needed anymore.

* DNA structures are kept, all read/writefile code is gone.
2012-05-29 10:21:07 +00:00
2d2d36fe3b code cleanup:
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
6ce6dfba16 - dont create scene.sequence_editor on read, means data-browser or autocomplete will allocate a sequencer.
... instead add scene.sequencer_editor_create / clear, these match id.animation_data_* functions.

- refactor for names, for scene level functions call them BKE_sequencer_*
2012-05-11 10:04:55 +00:00
343edf2722 style cleanup: function calls & whitespace. 2012-04-29 17:11:40 +00:00
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
2722320ca6 style cleanup: minor change and remove redundant casts 2012-03-29 22:35:12 +00:00
863f7edad6 style cleanup: sequencer 2012-03-29 22:26:11 +00:00
ab4a2aaf4a style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:38:07 +00:00
2f348d8b5d style cleanup: mainly for mesh code, also some WM function use. 2012-03-24 02:51:46 +00:00