blender/intern
Sergey Sharybin 2dff7c01ad Implement GPU-side display transform for clip editor
Implemented using GLSL API from OpenColorIO library and
some general functions were added to it's c-api:

- OCIO_setupGLSLDraw prepares OpenGL context for GPU-based
  transformation for a giver processor.

  This function compiles and links shader, sets  up it's
  argument. After this transformation would be applied
  on an image displaying as a 2D texture.

  So, glaDrawPixelsTex called after OCIO_setupGLSLDraw will
  do a proper color space transform.

- OCIO_finishGLSLDraw restores OpenGL context after all
  color-managed display is over.

- OCIO_freeOGLState frees allocated state structure used
  for cacheing some GLSL-related stuff.

There're some utility functions in IMB_colormanagent which
are basically proxies to lower level OCIO functions but
which could be used from any place in blender.

Chacheing of movie clip frame on GPU is also removed now,
and either glaDrawPixelsTex or glaDrawPixelsAuto are used
for display now. This is so no code duplication happens
now and no large textures are lurking around in GPU memory.

Known issues:
- Texture buffer and GLSL are no longer checking for
  video card capabilities, possibly could lead to some
  artifacts on crappy drivers/cards.

- Only float buffers are displaying using GLSL, byte
  buffers will still use fallback display method.

  This is to be addressed later.

- If RGB curves are used as a part of display transform,
  GLSL display will also be disabled. This is also thing
  to be solved later.

Additional changes:

- glaDrawPixelsTexScaled will now use RGBA16F as an
  internal format of storing textures when it's used
  to draw float buffer. This is needed so LUT are
  applied without precision loss.
2013-03-29 16:02:27 +00:00
..
audaspace Fix #33518: Jack sync doesn't work in 2.64, 2.64 or 2.65 stable versions 2013-03-27 07:19:54 +00:00
bsp style cleanup: also some typos 2013-02-11 00:49:00 +00:00
container Added GPL header to sconscripts! 2012-12-17 08:01:43 +00:00
cycles misc minor edits. 2013-03-29 06:25:22 +00:00
dualcon misc minor edits. 2013-03-29 06:25:22 +00:00
elbeem Bugfix [#34749] Fluid domain > 10GB crashes Blender - out of memory 2013-03-25 11:11:49 +00:00
ffmpeg Fix/workaround for newer FFmpeg 1.1.3 and MP3 decoder 2013-02-28 18:28:08 +00:00
ghost code cleanup: 2013-03-25 02:41:30 +00:00
guardedalloc code cleanup: quiet warnings building with mingw. 2013-03-29 00:50:52 +00:00
iksolver Fix various warnings with clang build, and adjust cmake clang warnings flags 2013-02-26 21:58:06 +00:00
itasc style cleanup 2013-03-18 11:44:56 +00:00
locale OSX/locale: a further cleanup 2013-03-04 10:31:01 +00:00
memutil Prefetching for movie clips 2013-03-20 17:03:20 +00:00
mikktspace Added GPL header to sconscripts! 2012-12-17 08:01:43 +00:00
moto Added GPL header to sconscripts! 2012-12-17 08:01:43 +00:00
opencl Move opencl and reigidbody from source/blender/ to intern/ 2013-02-01 06:24:49 +00:00
opencolorio Implement GPU-side display transform for clip editor 2013-03-29 16:02:27 +00:00
opennl code cleanup: quiet warnings building with mingw. 2013-03-29 00:50:52 +00:00
raskter code cleanup: use NULL rather then 0 for pointers, and make vars static where possible. 2013-03-22 05:34:10 +00:00
rigidbody code cleanup: misc warnings/style 2013-03-21 02:58:21 +00:00
smoke Smoke Bugfix /enhancement: Load pre 2.65 pointcaches. 2013-03-18 21:33:48 +00:00
string fix for buffer out-of-bounds reading for STR_String comparisons with char arrays. 2013-03-22 21:26:59 +00:00
utfconv misc minor edits. 2013-03-29 06:25:22 +00:00
CMakeLists.txt Move opencl and reigidbody from source/blender/ to intern/ 2013-02-01 06:24:49 +00:00
SConscript Move opencl and reigidbody from source/blender/ to intern/ 2013-02-01 06:24:49 +00:00