9 years agoColor Management: image buffer loading reworked
Sergey Sharybin [Fri, 14 Sep 2012 14:36:47 +0000 (14:36 +0000)]
Color Management: image buffer loading reworked

Before this color space settings in image/movie clip data blocks
defined space in which loaded image buffer is, based on whether
this buffer contains float or byte buffer. This didn't work well
for formats like 16bit PNG, which are in fact non-linear formats
but were represented in Blender as float buffers.

Now image buffer loader is responsible to set up input default
color space for image/movie clip data blocks, which could be
based on format itself only or on particular file properties.

This means image/movie clip data blocks' input colorspace will
be initialized at time first image buffer is loaded.

This also resolves old confusing thing with image buffer's profile
flag, which in could have been non-linear for image buffer which
contained float buffer only -- this happened in mentioned case of
16 bit PNG format, i.e. Now float buffer would always be linear
which should make it easier to get rid of image buffer's profile.

9 years agoMerging r50576 through r50587 from trunk into soc-2011-tomato
Sergey Sharybin [Fri, 14 Sep 2012 14:05:05 +0000 (14:05 +0000)]
Merging r50576 through r50587 from trunk into soc-2011-tomato

9 years agoColor Management: fix crash when strip failed to render
Sergey Sharybin [Thu, 13 Sep 2012 14:52:25 +0000 (14:52 +0000)]
Color Management: fix crash when strip failed to render

In this case sequencer would allocate empty image buffer which used to not to
have assigned color spaces but it was marked as non-linear float.

Assuming black would always be black in sequencer's color space no additional
transformation for display is needed.

Solved by removing NOLINEAR_FLOAT flag from image buffers and using check
image buffer's float_colorspace for NULL when needed to check whether float
buffer is linear or not.

9 years agoMerging r50573 through r50575 from trunk soc-2011-tomato
Sergey Sharybin [Thu, 13 Sep 2012 13:53:58 +0000 (13:53 +0000)]
Merging r50573 through r50575 from trunk soc-2011-tomato

9 years agoColor Management: fix segfault when configuration file is missing
Sergey Sharybin [Thu, 13 Sep 2012 13:08:31 +0000 (13:08 +0000)]
Color Management: fix segfault when configuration file is missing

Also don't try to load configuration file from environment variable if
it contains empty string.

9 years agoMerging r50522 through r50572 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 13 Sep 2012 11:13:13 +0000 (11:13 +0000)]
Merging r50522 through r50572 from trunk into soc-2011-tomato

9 years agoFix typo in blenfont sconscript, broke compile
Jens Verwiebe [Thu, 13 Sep 2012 08:09:12 +0000 (08:09 +0000)]
Fix typo in blenfont sconscript, broke compile

9 years agoColor Management: prevent abort when sequencer's color space is not found in OCIO...
Sergey Sharybin [Tue, 11 Sep 2012 18:41:32 +0000 (18:41 +0000)]
Color Management: prevent abort when sequencer's color space is not found in OCIO configuration

9 years agoColor Management: improve compatibility with old files with disabled color management
Sergey Sharybin [Tue, 11 Sep 2012 16:28:01 +0000 (16:28 +0000)]
Color Management: improve compatibility with old files with disabled color management

Still not perfect compatibility, but making it better is a bit tricky now.

9 years agoSequencer: added option to calculate modifiers in linear space
Sergey Sharybin [Tue, 11 Sep 2012 12:35:25 +0000 (12:35 +0000)]
Sequencer: added option to calculate modifiers in linear space

It was really annoying mistake in original support of logarithmic color space
for sequencer which made adjustment layers be working in linear space. Seems
this was only an issue for modifiers in adjustment effect.

Now all modifiers are applying in sequencer's color space (in fact, this was
fixed in svn rev50275).

To preserve compatibility of Mango grading added this option which probably
wouldn't be used by others.

9 years agoColor Management: fix for wrong default color space and view
Sergey Sharybin [Tue, 11 Sep 2012 10:34:19 +0000 (10:34 +0000)]
Color Management: fix for wrong default color space and view

9 years agoMerging r50502 through r50521 from trunk into soc-2011-tomato
Sergey Sharybin [Tue, 11 Sep 2012 09:13:57 +0000 (09:13 +0000)]
Merging r50502 through r50521 from trunk into soc-2011-tomato

9 years agoColor Management: color space cleanup
Sergey Sharybin [Tue, 11 Sep 2012 09:07:46 +0000 (09:07 +0000)]
Color Management: color space cleanup

Hide all meaningless for Blender input color spaces and made naming
for rest of them to match Blender's interface better.

Not sure if we'll need to support logarithmic color space as input.

Renamed P3DCI to DCI-P3 which seems to be more common naming.

Also added Film view for DCI-P3 display.

9 years agoColor Management: added check for invertibility of color spaces
Sergey Sharybin [Tue, 11 Sep 2012 07:56:47 +0000 (07:56 +0000)]
Color Management: added check for invertibility of color spaces

So now non-invertible color spaces can not be used as input color space
for images and as working color space for sequencer.

Currently have got two hard-coded families which are rrt and display.
If color space belong to one of this families, it would be considered
as non-invertible.

Data color spaces are always considered invertible.

If color space has got to_reference transformation, it'll be considered

9 years agoColor management: get rid of hardcoded color space None
Sergey Sharybin [Mon, 10 Sep 2012 17:38:48 +0000 (17:38 +0000)]
Color management: get rid of hardcoded color space None

9 years agoColor Management: port image stamp to new color management system
Sergey Sharybin [Mon, 10 Sep 2012 17:24:48 +0000 (17:24 +0000)]
Color Management: port image stamp to new color management system

Use the same approach as interface does by using default view which
is supposed to be invertible to convert color from display space to
scene linear.

9 years agoColor Management: resolve TODOs related on HSV widgets
Sergey Sharybin [Mon, 10 Sep 2012 16:30:15 +0000 (16:30 +0000)]
Color Management: resolve TODOs related on HSV widgets

9 years agoColor Management: add View as Render to image datablocks
Sergey Sharybin [Mon, 10 Sep 2012 14:47:47 +0000 (14:47 +0000)]
Color Management: add View as Render to image datablocks

This is need since some images (like normal maps, textures and so) would
want to be viewed without any tone map applied on them. On the same time
it's possible that some images would want to be affected by tone maps,
and renders would always want to be affected by tone maps.

After long discussion with Brecht we decided less painful and most clear
way would be to simply add "View as Render" option to image datablocks.

If this option is enabled for image, both settings from Display and
Render blocks of color management settings would be applied on display.

If this option is disabled, only display transform with default view and
no exposure/gamma/curves would be applied.

Render result and compositor viewers would always have "View as Render"

There's separated setting when image is saving which says whether saved
image should be affected by render part of color management settings.

This option is enabled by default for render result/node viewer and
disabled by default for all the rest images. This option wouldn't have
affect when saving to float formats such as EXR.

9 years agoColor Management: finish pipeline changes
Sergey Sharybin [Mon, 10 Sep 2012 11:46:15 +0000 (11:46 +0000)]
Color Management: finish pipeline changes

This commit hopefully finishes color management pipeline changes, implements
some missed functionality and fixes some bugs.

Mainly changes are related on getting rid of old Color Management flag which
became counter-intuitive in conjunction with OpenColorIO.

Now color management is always assuming to be enabled and non-color managed
pipeline is emulated using display device called None. This display has got
single view which is basically NO-OP (raw) transformation, not applying any
tone curve and displays colors AS-IS. In most cases it behaves the same as
disabling Color Management in shading panel, but there is at least one known
difference in behavior: compositor and sequence editors would output images
in linear space, not in sRGB as it used to be before.

It'll be quite tricky to make this behave in exactly the same way as it
used to, and not sure if we really need to do it.

3D viewport is supposed to be working in sRGB space, no tonemaps would be
applied there. This is another case where compatibility breaks in comparison
with old color management pipeline, but supporting display transformation
would be tricky since it'll also be needed to make GLSL shaders, textures
and so be aware of display transform.

Interface is now aware of display transformation, but it only uses default
display view, no exposure, gamma or curve mapping is supported there.
This is so color widgets could apply display transformation in both
directions. Such behavior is a bit counter-intuitive, but it's currently
the only way to make color picking working smoothly. In theory we'll need
to support color picking color space, but it'll be also a bit tricky since
in Blender display transform is configurable from the interface and could
be used for artistics needs and in such design it's not possible to figure
out invertable color space which could be used for color picking.

In other software it's not so big issue since all color spaces, display
transform and so are strictly defined by pipeline and in this case it is
possible to define color picking space which would be close enough to
display space.

Sequencer's color space now could be configured from the interface --
it's settings are situated in Scene buttons, Color Management panel.
Default space is sRGB. It was made configurable because we used vd16
color space during Mango which was close to Film view used by grading

Sequencer will convert float buffers to this color space before operating
with them hopefully giving better results. Byte buffers wouldn't be
converted to this color space an they'll be handled in their own colors[ace.
Converting them to sequencer's working space would lead to precision loss
without much visible benefits. It shouldn't be an issue since float and
byte images would never be blended together -- byte image would be converted
to float first if it's needed to be blended with float image.

Byte buffers now allowed to be color managed. This was needed to make code
in such areas as baking and rendering don't have hardcoded linear to sRGB
conversions, making things more clear from code point of view.

Input color space is now assigning on image/movie clip load and default
roles are used for this. So for float images default space would be rec709
and for byte images default space would be sRGB.

Added Non-Color color space which is aimed to be used for such things as
normal/heights maps. It's currently the same as raw colorspace, just has
got more clear naming for users. Probably we'll also need to make it not
affected by display transformation.

Think this is all main pipeline-related changes, more details would be there:

Other changes and fixes:

- Lots of internal code clean up in color management module.

- Made OpenColorIO module using guarded memory allocation. This allowed to
  fix couple of memory leaks and would help preventing leaks in the future.

- Made sure color unpremultiply and dither are supported by all OpenColorIO
  defined color transformations.

- Made compositor's preview images be aware of display transformation.
  Legacy compositor still uses old Color Management flags, but likely we'll
  disable compositor for the release and remove legacy code soon, so don't
  think we'll need to spend time on porting that code to new color management

- Made OpenGL rendering be aware of display transform when saving render
  result. Now it behaves in the same way as regular rendering.


- HSV widgets are using linear rgb/sRGB conversions for single channel,
  not sure how this should be ported to new color pipeline.

- Image stamp would use hardcoded linear rgb to sRGB conversion for
  filling rectangles. Probably it should use default display view
  for this instead, would check this with Brecht.

- Get rid of None color space which was only used for compatibility reasons.

- Made it more clear which color spaces could be used as input space.

- There're also some remained TODO's in the code marked as OCIO_TODO,
  but wouldn't consider them as stoppers for at least this commit.

9 years agoMerging r50484 through r50501 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 10 Sep 2012 10:58:59 +0000 (10:58 +0000)]
Merging r50484 through r50501 from trunk into soc-2011-tomato

9 years agoMerging r50478 through r50483 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 9 Sep 2012 08:33:42 +0000 (08:33 +0000)]
Merging r50478 through r50483 from trunk into soc-2011-tomato

9 years agoMerging r50470 through r50477 from trunk into soc-2011-tomato
Sergey Sharybin [Sat, 8 Sep 2012 10:17:42 +0000 (10:17 +0000)]
Merging r50470 through r50477 from trunk into soc-2011-tomato

9 years agoMerging r50457 through r50469 from trunk into soc-2011-tomato
Sergey Sharybin [Fri, 7 Sep 2012 12:53:41 +0000 (12:53 +0000)]
Merging r50457 through r50469 from trunk into soc-2011-tomato

9 years agoTomato: alignment issue fix
Sergey Sharybin [Fri, 7 Sep 2012 09:44:22 +0000 (09:44 +0000)]
Tomato: alignment issue fix

There were alignment issues on 32bit systems caused by 64bit integer
used in Scene.

9 years agoMerging r50455 through r50456 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 6 Sep 2012 16:44:27 +0000 (16:44 +0000)]
Merging r50455 through r50456 from trunk into soc-2011-tomato

9 years agoMerging r50450 through r50454 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 6 Sep 2012 16:06:55 +0000 (16:06 +0000)]
Merging r50450 through r50454 from trunk into soc-2011-tomato

9 years agoMerging r50423 through r50449 from trunk into soc-2011-tomato
Sergey Sharybin [Thu, 6 Sep 2012 09:44:32 +0000 (09:44 +0000)]
Merging r50423 through r50449 from trunk into soc-2011-tomato

9 years agoColor Management: fix for dereferencing NULL pointer
Sergey Sharybin [Wed, 5 Sep 2012 16:29:16 +0000 (16:29 +0000)]
Color Management: fix for dereferencing NULL pointer

9 years agoColor Management: exposure is in fact pre-display transfrom
Sergey Sharybin [Wed, 5 Sep 2012 16:24:33 +0000 (16:24 +0000)]
Color Management: exposure is in fact pre-display transfrom

9 years agoColor Management: RGB curves transform as a part of display transform
Sergey Sharybin [Wed, 5 Sep 2012 16:08:36 +0000 (16:08 +0000)]
Color Management: RGB curves transform as a part of display transform

This replaces per-image editor curve mapping which didn't behave properly
(it was possible to open the same image in two image editors and setup
different curves in this editors, but only last changed curve was applied
on image)

After discussion with Brecht decided to have something which works reliable
and predictable and ended up with adding RGB curves as a part of display
transform, which is applied before OCIO processor (to match old behavior).

Setting white/black values from image editor (Ctrl/Shift + LMB) would
affect on scene settings.

This could break compatibility, but there's no reliable way to convert
old semi-working settings into new one.

9 years agoColor Management: don't show input color space for byte images
Sergey Sharybin [Wed, 5 Sep 2012 14:29:15 +0000 (14:29 +0000)]
Color Management: don't show input color space for byte images

9 years agoMerging r50413 through r50422 from trunk into soc-2011-tomato
Sergey Sharybin [Wed, 5 Sep 2012 14:19:40 +0000 (14:19 +0000)]
Merging r50413 through r50422 from trunk into soc-2011-tomato

9 years agoColor Management: made OpenColorIO transformations aware of color unpremultiply
Sergey Sharybin [Wed, 5 Sep 2012 13:58:01 +0000 (13:58 +0000)]
Color Management: made OpenColorIO transformations aware of color unpremultiply

Mainly behaves in the same way as legacy color transformation, but it'll
give different result on over and under exposured areas.

Not sure if it's indeed issue -- seems this behaves crappy in both of
current stable release and OCIO branch.

9 years agoColor Management: fix for tiled image draw and remove unused code
Sergey Sharybin [Wed, 5 Sep 2012 12:14:09 +0000 (12:14 +0000)]
Color Management: fix for tiled image draw and remove unused code

9 years agoCode cleanup -- remove unneeded changes, synchronize some areas with trunk
Sergey Sharybin [Wed, 5 Sep 2012 12:00:08 +0000 (12:00 +0000)]
Code cleanup -- remove unneeded changes, synchronize some areas with trunk

9 years agoSequencer: multi-threaded histogram calculation
Sergey Sharybin [Wed, 5 Sep 2012 11:43:11 +0000 (11:43 +0000)]
Sequencer: multi-threaded histogram calculation

This gives some percentage of speedup, which compensates slowdown
caused by converting image buffer into display space.

Used OpenMP for this. Still feel skeptic about this, discussed with
Brecht and we decided this approach actually could be used since
seems all the platforms has got OpenMP issues solved.

Waveform and vector scopes are still single-threaded since they're
a bit tricker to be done multi-threaded and probably not so commonly

9 years agoSequencer: cache currently displaying scopes
Sergey Sharybin [Wed, 5 Sep 2012 11:43:05 +0000 (11:43 +0000)]
Sequencer: cache currently displaying scopes

This avoids calculation of scopes on every redraw, so such tools as panning
and zoom wouldn't imply re-calculating scopes.

Implemented as a structure inside of SpaceSeq, juts like it's done for clip
and image spaces.

Also fixed zebra display to work in display space.

9 years agoColor Management: sequencer's scopes now works in display space
Sergey Sharybin [Wed, 5 Sep 2012 11:42:57 +0000 (11:42 +0000)]
Color Management: sequencer's scopes now works in display space

Added utility function to apply display transformation on image buffer's
float array which is currently only used by sequencer's scopes.

This function is multithreaded, but scopes should be improved further
since currently they're being recalculated from scratch on every draw.

9 years agoMerging r50374 through r50412 from trunk into soc-2011-tomato
Sergey Sharybin [Wed, 5 Sep 2012 11:42:20 +0000 (11:42 +0000)]
Merging r50374 through r50412 from trunk into soc-2011-tomato

9 years agoColor Management: fix for color sample information line
Sergey Sharybin [Tue, 4 Sep 2012 12:32:32 +0000 (12:32 +0000)]
Color Management: fix for color sample information line

- Color managed RGB values wouldn't be displayed anymore for
  byte images (which are currently unsupported to be managed).

- Color rectangle would now be color managed

- Sequencer was passing non-linear float to information line,
  now it'll pass linear float.

9 years agoColor Management: OpenCOlorIO configuration file cleanup
Sergey Sharybin [Tue, 4 Sep 2012 12:32:25 +0000 (12:32 +0000)]
Color Management: OpenCOlorIO configuration file cleanup

- Remove unused color space and LUTs/matrices
  There were couple of spaces for specific cameras which are unlikely
  be used by general blender users. Think better to keep this things
  as clean as possible for official builds, it could easily be extended
  for some specific pipeline.

- Move rec709 view to it's own display. Such way makes more sense.
  Probably it'll actually make sense to remove p3dci and rec709
  displays from default configuration. Not sure how often such a
  displays are used by blender users.
  XYZ display could still be useful to help generating DCP.

- Reshuffled views a bit. Added Default view to most of displays which
  is default sRGB transformation for sRGB display, ACES -> CIE XYZ for
  XYZ display.
  Should make things a bit clearer for understanding.

9 years agoColor Management: fix for view/display settings validation
Sergey Sharybin [Tue, 4 Sep 2012 12:32:18 +0000 (12:32 +0000)]
Color Management: fix for view/display settings validation

It was a misusage of LinkData and actual data leading to wrong
string comparsion and possible wrong memory access.

9 years agoColor Management: remove hardcoded ACES ODT tonemap
Sergey Sharybin [Tue, 4 Sep 2012 12:32:12 +0000 (12:32 +0000)]
Color Management: remove hardcoded ACES ODT tonemap

This tonemap was added as a temporary option only and if it'll be
needed again, it'll be better to implement is as either a spline
in OCIO or as a film response curve (as some of such curves were
added as a presets for RGB curves in Mango production SVN).

Also revert changes made to IMB_buffer_byte_from_float since it's
not actually needed anymore and makes it's clearer changes against

9 years agoMerging r50265 through r50373 from trunk into soc-2011-tomato
Sergey Sharybin [Tue, 4 Sep 2012 09:06:37 +0000 (09:06 +0000)]
Merging r50265 through r50373 from trunk into soc-2011-tomato

9 years agoColor Management: fix compilation error when OCIO is disabled
Sergey Sharybin [Mon, 3 Sep 2012 10:08:55 +0000 (10:08 +0000)]
Color Management: fix compilation error when OCIO is disabled

9 years agoCycles / Brick Texture:
Thomas Dinges [Thu, 30 Aug 2012 20:45:01 +0000 (20:45 +0000)]
Cycles / Brick Texture:
* Added GLSL stub for the Brick texture, fixes an error in the console when switching to Material Shading in the 3D View.

9 years agoColor management: new View for xyz display is added
Sergey Sharybin [Thu, 30 Aug 2012 15:02:20 +0000 (15:02 +0000)]
Color management: new View for xyz display is added

This view is currently called DCI and it implements the same conversion
into xyz space as OpenDCP does.

This is aimed to be used for Jpeg2K in xyz space generation used for DCP
creation directly from Blender.

9 years agoColor management: make it behave closer to trunk
Sergey Sharybin [Thu, 30 Aug 2012 13:40:31 +0000 (13:40 +0000)]
Color management: make it behave closer to trunk

Avoid using tricks with ibuf->profile to check whether image buffer is
in sequencer or linear space. Assume the whole sequencer works in non
linear float space and do transformation to linear where it;s needed

This removes confusion from the code, fixes wrong behavior of some

9 years agoColor management: some parts of previous commit were incorrect merged from WIP patch
Sergey Sharybin [Wed, 29 Aug 2012 18:11:51 +0000 (18:11 +0000)]
Color management: some parts of previous commit were incorrect merged from WIP patch

9 years agoColor management: fix for wrong view being used as default in configuration file...
Sergey Sharybin [Wed, 29 Aug 2012 18:08:34 +0000 (18:08 +0000)]
Color management: fix for wrong view being used as default in configuration file check

Also marked Jpeg2K as non-float format.

9 years agoMerging r50248 through r50264 from trunk into soc-2011-tomato
Sergey Sharybin [Wed, 29 Aug 2012 12:49:10 +0000 (12:49 +0000)]
Merging r50248 through r50264 from trunk into soc-2011-tomato

9 years agoFix wrong user counter in world node trees
Sergey Sharybin [Wed, 29 Aug 2012 12:47:42 +0000 (12:47 +0000)]
Fix wrong user counter in world node trees

World is being localized without increasing ID users, so no need
to decrease ID users on localized world free.

9 years agocode cleanup: add utility function BLI_path_is_rel()
Campbell Barton [Wed, 29 Aug 2012 10:32:38 +0000 (10:32 +0000)]
code cleanup: add utility function BLI_path_is_rel()

9 years agocode cleanup: replace term 'alpha' with '64' in makesdna, this was historic that...
Campbell Barton [Wed, 29 Aug 2012 09:51:38 +0000 (09:51 +0000)]
code cleanup: replace term 'alpha' with '64' in makesdna, this was historic that dec-alpha was the first 64bit system blender was ported for, but now its not helpful to call it this way.

9 years agonew image operator now allows color grid (before was only grid on/off)
Campbell Barton [Wed, 29 Aug 2012 08:17:38 +0000 (08:17 +0000)]
new image operator now allows color grid (before was only grid on/off)

9 years agotexture curves were not initialized (causing crash), own regression from moving curve...
Campbell Barton [Wed, 29 Aug 2012 07:58:36 +0000 (07:58 +0000)]
texture curves were not initialized (causing crash), own regression from moving curve initialization outside evaluation.

9 years agocode cleanup: move static mball vars into their own struct, wasnt very clear from...
Campbell Barton [Wed, 29 Aug 2012 07:07:18 +0000 (07:07 +0000)]
code cleanup: move static mball vars into their own struct, wasnt very clear from reading code what was defined in the function.

9 years agomissing linebreak when multithreaded gl meesage is printed to log
Jens Verwiebe [Tue, 28 Aug 2012 13:43:20 +0000 (13:43 +0000)]
missing linebreak when multithreaded gl meesage is printed to log

9 years agofix bug in mathutils.geometry.intersect_point_line() where 4D vectors were treated...
Campbell Barton [Tue, 28 Aug 2012 11:27:46 +0000 (11:27 +0000)]
fix bug in mathutils.geometry.intersect_point_line() where 4D vectors were treated as 2D.

also change behavior to return a 2d vector when all args are 2D.

9 years agocleanup pixel sampler code (pixel interpolations in compositor)
Jeroen Bakker [Tue, 28 Aug 2012 10:41:37 +0000 (10:41 +0000)]
cleanup pixel sampler code (pixel interpolations in compositor)

9 years agofix for own crash caused by curve refactor, now curve tables are initialized once...
Campbell Barton [Tue, 28 Aug 2012 10:02:10 +0000 (10:02 +0000)]
fix for own crash caused by curve refactor, now curve tables are initialized once when the tree is initialized.

thanks to Antony Riakiotakis for providing a fix, though this works a little different.

9 years agocode cleanup: use switch for metaball type checks and minor style cleanup
Campbell Barton [Tue, 28 Aug 2012 01:50:13 +0000 (01:50 +0000)]
code cleanup: use switch for metaball type checks and minor style cleanup

9 years agoAdding despeckle as “blender” word...
Bastien Montagne [Mon, 27 Aug 2012 21:01:21 +0000 (21:01 +0000)]
Adding despeckle as “blender” word...

9 years agoPicky spell-checking...
Bastien Montagne [Mon, 27 Aug 2012 20:58:43 +0000 (20:58 +0000)]
Picky spell-checking...

9 years agoColor management: display color managed RGB values in color sample line
Sergey Sharybin [Mon, 27 Aug 2012 15:23:14 +0000 (15:23 +0000)]
Color management: display color managed RGB values in color sample line

Makes it possible to investigate color managed ranges.

Not ideal but it's the quickest thing which could be done to remove
current grading stoppers for Mango.

9 years agosupport unary positive operators for vectors (same as numpy), so you can do 'vector_a...
Campbell Barton [Mon, 27 Aug 2012 13:40:19 +0000 (13:40 +0000)]
support unary positive operators for vectors (same as numpy), so you can do 'vector_a = +vector_b', this makes a copy.

9 years agoMerging r50245 through r50247 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 27 Aug 2012 12:00:39 +0000 (12:00 +0000)]
Merging r50245 through r50247 from trunk into soc-2011-tomato

9 years agoFile format fixes
Sergey Sharybin [Mon, 27 Aug 2012 11:59:26 +0000 (11:59 +0000)]
File format fixes

- Add check for header field in BMP decoder. This is needed to distinguish
  whether file is indeed BMP image or not.
  Without this check Blender could easily crash when it'll try to load
  non-BMP image.
  Tested with files from own HDD, but all of them has got BM header field,
  more testing would be welcome.

- Made Jpeg2000 aware of J2K codec. Originally was needed to verify .j2c
  files here in the studio, but having support of this codec would be
  nice in general.
  Currently supports only reading in this codec, writing would still
  using jp2 codec.

9 years agosvn merge ^/trunk/blender -r50240:50244
Campbell Barton [Mon, 27 Aug 2012 09:46:49 +0000 (09:46 +0000)]
svn merge ^/trunk/blender -r50240:50244

9 years agoAlternate mask spline feather offset calculation method: now there are 2 [Even |...
Campbell Barton [Mon, 27 Aug 2012 09:44:56 +0000 (09:44 +0000)]
Alternate mask spline feather offset calculation method: now there are 2 [Even | Smooth]

- Even preserves thickness but can give unsightly loops
- Smooth gives nicer shape but can give unsightly feather/spline mismatch for 'S' shapes created by beziers.

This is an example where smooth works much nicer.

9 years agoFix #31853: Marker deletion invokes strip deletion
Sergey Sharybin [Mon, 27 Aug 2012 09:15:48 +0000 (09:15 +0000)]
Fix #31853: Marker deletion invokes strip deletion

9 years agoMerging r50237 through r50240 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 27 Aug 2012 09:02:26 +0000 (09:02 +0000)]
Merging r50237 through r50240 from trunk into soc-2011-tomato

9 years agoSequencer: proper cache invalidation when deleting sequences
Sergey Sharybin [Mon, 27 Aug 2012 09:01:36 +0000 (09:01 +0000)]
Sequencer: proper cache invalidation when deleting sequences

Solves issue with effects not being recalculated when deleting their input.

9 years agoStyle cleanup: spaces in sequencer scopes
Sergey Sharybin [Mon, 27 Aug 2012 09:01:35 +0000 (09:01 +0000)]
Style cleanup: spaces in sequencer scopes

9 years agoSequencer: fix crash of histogram view for float images
Sergey Sharybin [Mon, 27 Aug 2012 09:01:34 +0000 (09:01 +0000)]
Sequencer: fix crash of histogram view for float images

Overexposured pixels lead to wrong memory access in histogram making function

9 years agoMerging r50226 through r50236 from trunk into soc-2011-tomato
Sergey Sharybin [Mon, 27 Aug 2012 08:28:29 +0000 (08:28 +0000)]
Merging r50226 through r50236 from trunk into soc-2011-tomato

9 years agoremove incorrect comment, add in useful one.
Campbell Barton [Mon, 27 Aug 2012 08:23:51 +0000 (08:23 +0000)]
remove incorrect comment, add in useful one.

9 years agofix [#32417] Grease Pencil color change + DopeSheet 'Summary' = crash
Campbell Barton [Mon, 27 Aug 2012 06:55:33 +0000 (06:55 +0000)]
fix [#32417] Grease Pencil color change + DopeSheet 'Summary' = crash

summery wasn't checking fcurve types.

9 years agoSequencer: fix for wrong color space sequencer effects were working in
Sergey Sharybin [Sun, 26 Aug 2012 23:57:55 +0000 (23:57 +0000)]
Sequencer: fix for wrong color space sequencer effects were working in

9 years agoBGE: Make sure lib loaded cameras are added to the active scene's camera list.
Mitchell Stokes [Sun, 26 Aug 2012 23:17:50 +0000 (23:17 +0000)]
BGE: Make sure lib loaded cameras are added to the active scene's camera list.

9 years agoensure there are always the same number of feather points and non feather points...
Campbell Barton [Sun, 26 Aug 2012 20:22:42 +0000 (20:22 +0000)]
ensure there are always the same number of feather points and non feather points when drawing.

9 years agoSequencer: typo fix
Sergey Sharybin [Sun, 26 Aug 2012 19:36:56 +0000 (19:36 +0000)]
Sequencer: typo fix

9 years agocode cleanup: quiet warning for dead assignment.
Campbell Barton [Sun, 26 Aug 2012 18:21:34 +0000 (18:21 +0000)]
code cleanup: quiet warning for dead assignment.

9 years agocode cleanup: remove dead assignments, gave mask vars clearer names & moved some...
Campbell Barton [Sun, 26 Aug 2012 18:09:01 +0000 (18:09 +0000)]
code cleanup: remove dead assignments, gave mask vars clearer names & moved some mask evaluation funcs into mask_evaluate.c

9 years agoMerging r50224 through r50225 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 26 Aug 2012 16:43:24 +0000 (16:43 +0000)]
Merging r50224 through r50225 from trunk into soc-2011-tomato

9 years agoFix zooming in/out preview in sequencer
Sergey Sharybin [Sun, 26 Aug 2012 16:41:03 +0000 (16:41 +0000)]
Fix zooming in/out preview in sequencer

It was a regression since disabling Y-axis zooming in sequencer.
Now check region type and allow all kind of zooming for preview

9 years agoMerging r50192 through r50223 from trunk into soc-2011-tomato
Sergey Sharybin [Sun, 26 Aug 2012 14:12:09 +0000 (14:12 +0000)]
Merging r50192 through r50223 from trunk into soc-2011-tomato

9 years agocode cleanup: split out mask spline evaluation into its own file.
Campbell Barton [Sun, 26 Aug 2012 13:41:40 +0000 (13:41 +0000)]
code cleanup: split out mask spline evaluation into its own file.

9 years agoColor Management: correction to previous commit
Sergey Sharybin [Sun, 26 Aug 2012 13:18:43 +0000 (13:18 +0000)]
Color Management: correction to previous commit

9 years agofix for build error without ffmpeg
Campbell Barton [Sun, 26 Aug 2012 12:21:25 +0000 (12:21 +0000)]
fix for build error without ffmpeg

9 years agostyle cleanup: whitespace
Campbell Barton [Sun, 26 Aug 2012 11:35:43 +0000 (11:35 +0000)]
style cleanup: whitespace

9 years agoColor Management: CMake should detect yaml-cpp and tinyxml libraries automatically
Sergey Sharybin [Sun, 26 Aug 2012 11:34:33 +0000 (11:34 +0000)]
Color Management: CMake should detect yaml-cpp and tinyxml libraries automatically

This makes Blender compilable with CMake and OCIO libraries from SVN.

9 years agoStyle cleanup: whitespace
Sergey Sharybin [Sun, 26 Aug 2012 11:01:18 +0000 (11:01 +0000)]
Style cleanup: whitespace

9 years agoSome FFmpeg changes
Sergey Sharybin [Sun, 26 Aug 2012 11:01:14 +0000 (11:01 +0000)]
Some FFmpeg changes

- Make FFmpeg initialization called from creator, not from functions
  which requires FFmpeg. Makes it easier to follow when initialization
  should happen.

- Enable DNxHD codec. It was commented a while ago due to some strange
  behavior on some platforms. Re-tested it on Linux and Windows and
  it seemd to be working quite nice. Would let it be tested further,
  if it wouldn't be stable enough, easy to comment it again.

- Make non-error messages from writeffmpeg.c printed only if ffmpeg
  debug argument was passed to blender. Reduces console pollution
  with messages which are not useful for general troubleshooting.
  Error messages would still be printed to the console.

- Show FFmpeg error message when video stream failed to allocate.
  makes it easier to understand what exactly is wrong from Blender
  interface, no need to restart blender with FFmpeg debug flag and
  check for console messages.

  Used custom log callback for this which stores last error message
  in static variable. This is not thread safe, but with current
  design FFmpeg routines could not be called form several threads
  anyway, so think it's fine solution/

9 years agoBugfix [#32410] Create New Group (CTRL+G) tried to activate even when nothing is
Joshua Leung [Sun, 26 Aug 2012 08:03:31 +0000 (08:03 +0000)]
Bugfix [#32410] Create New Group (CTRL+G) tried to activate even when nothing is

Some group operators were missing poll() callbacks

9 years agoCompiling fix for Windows+Mingw: "Ambiguous" use of IStream
Joshua Leung [Sun, 26 Aug 2012 07:27:51 +0000 (07:27 +0000)]
Compiling fix for Windows+Mingw: "Ambiguous" use of IStream

9 years agocode cleanup: comments and some minor edits to interface code.
Campbell Barton [Sat, 25 Aug 2012 20:49:51 +0000 (20:49 +0000)]
code cleanup: comments and some minor edits to interface code.

9 years agomake SWAP macros typesafe using CHECK_TYPE macro.
Campbell Barton [Sat, 25 Aug 2012 20:16:08 +0000 (20:16 +0000)]
make SWAP macros typesafe using CHECK_TYPE macro.

Its unlikely you want to do short -> int, int -> float etc, conversion during swapping (if its needed we could have a non type checking macro).

Double that the optimized assembler outbut using SWAP() remains unchanged from before.

This exposed quite a few places where redundant type conversion was going on.

Also remove curve.c's swapdata() and replace its use with swap_v3_v3()

9 years agofix for type mismatch with SWAP() macro.
Campbell Barton [Sat, 25 Aug 2012 19:43:15 +0000 (19:43 +0000)]
fix for type mismatch with SWAP() macro.

9 years agocode cleanup: vec_to_quat
Campbell Barton [Sat, 25 Aug 2012 17:58:49 +0000 (17:58 +0000)]
code cleanup: vec_to_quat