Commit Graph

29 Commits

Author SHA1 Message Date
64d161de87 style cleanup:
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-26 07:29:01 +00:00
fcc807f294 code cleanup: remove unused member of direntry struct, also add include for building on osx. 2013-03-05 06:38:43 +00:00
c8975c4375 style cleanup 2012-10-30 12:18:45 +00:00
0e494b74c4 style cleanup 2012-10-26 04:14:10 +00:00
d599b643b7 style cleanup: bge, switch statements mostly.
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
bc8f602601 style cleanup 2012-10-20 18:46:57 +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
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
4f19c1a995 spelling cleanup 2012-03-18 07:38:51 +00:00
62fa555b8e OSX: let almost all animation imports handle by ffmpeg now, this is faster in many cases 2012-02-13 19:00:02 +00:00
6d965f4493 style edits for function declarations 2011-12-30 07:55:15 +00:00
e84c0980a3 correct indentation and some whitespace edits (no functional changes) 2011-11-11 13:09:14 +00:00
7d7977658a fix for warning on osx 2011-11-03 04:58:11 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
5a09368957 use 'const char *' for imbuf and file ops. 2010-11-19 02:14:18 +00:00
Nathan Letwory
ac03fbe4c9 Adapt OSX code for IMB_allocImBuf param changes. 2010-10-16 15:53:01 +00:00
9fae26efe9 Fix for [#23753]: Enable QTKit import to run in background thread
Was crashing file browser when there was some quicktime movies in the folder
2010-09-18 12:50:45 +00:00
008863daec Merge image related changes from the render branch. This includes the image
tile cache code in imbuf, but it is not hooked up to the render engine.


Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines).

* Added a ImFileType struct with callbacks to make adding an file format type,
  or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
  a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
  editing the code directly.
* Functions removed that were only used for sequencer plugin API:
  IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
  IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
  IMB_dit0, IMB_dit2, IMB_cspace
* Write metadata info into OpenEXR images. Can be viewed with the command
  line utility 'exrheader'

For the image tile cache code, see this page:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
2010-05-07 15:18:04 +00:00
c00e7fb89d Quicktime audio export: force AAC sample rate to be <=48kHz to avoid later codec error + potential quicktime mem leaks fixes
AAC Codec does not handle sample rates above 48kHz.
2010-04-17 08:33:42 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
0e84b50e99 Quicktime/QTKit : fix too dark images conversion issue 2010-02-01 17:46:19 +00:00
e6a23762da Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Wasn't tagging movie formats with profiles properly.
2010-01-26 02:49:30 +00:00
03a9740c16 Quicktime : make dna codecType data store the quicktime codecType value instead of a proxy value
Quicktime codecType data is a 32 bit value (4 chars coded).

Implemented RNA set/get functions for codecType enum to cope with RNA enum values 24bit precision limitation
Implemented dynamic codecType enum list creation

Carbon quicktime now stores codec settings in "clear" in the QuicktimeCodecSettings dna struct (in addition to the closed atom container in QuicktimeCodecData) to be compatible with the QTKit version

+fixed some warnings
2009-12-02 11:23:11 +00:00
68eaae8e0e Quicktime-qtkit : encoding settings now in blender ui (encoding panel)
- added "QuicktimeCodecSettings" struct in DNA
- old "QuicktimeCodecData" opaque struct is  nowdeprecated (read only use when QuicktimeCodecSettings is not set)
- fixed small bug when importing deep color movies

Note that you may need Final Cut Pro installed to be able to use the DVCPRO HD codecs
2009-11-20 10:37:50 +00:00
ec6f00c1bb SVN maintenance. 2009-11-18 18:45:38 +00:00
a57730875d Quicktime for Cocoa : export part
Following the quicktime import port, here is the movie export feature.

The codec selection remains to be implemented in the ui (render panel).
So the settings are now blocked on codec=jpeg, quality=max.
2009-11-18 15:01:59 +00:00
624cd67d55 Quicktime for Cocoa : import part
This makes quicktime import (.mov & quicktime handled image files such as .gif) available also for 64bit OSX

Unfortunately, Apple currently incomplete implementation of QTKit has much lower performance than old Carbon Quicktime.
FYI, it spawns a 32bit process "QTKitserver" to place calls to Quicktime 7.

So this is mostly meant as a "backup" for 64bit OSX builds, until Apple releases full Quicktime X.

Export part will come just after.

CMake scripts updated: set WITH_QUICKTIME and USE_QTKIT to ON
2009-11-18 09:49:42 +00:00