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
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-02-11DRW: Color Management improvementClément Foucault
Reviewed By: brecht sergey jbakker Differential Revision: http://developer.blender.org/D6729
2019-05-25bf_intern_opencolorio: Fix unused variable build warning with MSVC.Ray Molenkamp
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-05-06Color management: add functions to detect scene linear and sRGB color spacesBrecht Van Lommel
Same as the ones in Cycles, but intended for GPU textures.
2019-05-01Cleanup: comments (long lines) in various intern/ libsCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2018-12-13Color management: add OCIO aware utility functions for transform to/from XYZ.Brecht Van Lommel
2018-12-06Fix T58816: Color management Display Device other than sRGB crashesSergey Sharybin
This fixes our workaround for until proper solution is accepted in upstream. Now, when default view behaves same as it was supposed to (and as it behaves in OCIO-1.0.9) it is obvious that our configuration violates own design -- default view is used for cases when images don't want to be displays using "render" settings.
2018-12-06Color management: Fix issue when active views/displays are not specifiedSergey Sharybin
2018-12-05Color management: Fix/workaround broken getDefaultDisplay()Sergey Sharybin
This is something what is caused by OCIO library. The patch has been submitted there: https://github.com/imageworks/OpenColorIO/pull/638 For until it is refined and checked we do workaround from our side.
2016-03-23Revert "Fix T47869: OpenColorIO Error with unicode path to config file under ↵Sergey Sharybin
Windows" White the config itself could be loaded this way, lookup tables can not. Additionally, that's not really clear how to solve the issue with search path which is multi-byte only in the API. Reverting for further investigation. This reverts commit ab4307aa0868f2d8389cc0dd500eff38909b08f1.
2016-03-23Fix T47869: OpenColorIO Error with unicode path to config file under WindowsSergey Sharybin
2016-02-20OCIO: Disable the warnings related on C4251Sergey Sharybin
Those warnings are trigerred by stl classes in OCIO's public interface. To quote MSDN: "C4251 can be ignored if you are deriving from a type in the Standard C++ Library" This is the only instance where those warnings hunts us, so for now we can keep it all local in intern/opencolorio but this might be changed in the future.
2015-03-17Part 1 of D1082 by Troy Sobotka, add API in OCIO for luminanceAntony Riakiotakis
calculation.
2014-10-08Ghost Context RefactorJason Wilkins
https://developer.blender.org/D643 Separates graphics context creation from window code in Ghost so that they can vary separately.
2013-12-08Extend system-info with information about OIIO, OCIO and OSLSergey Sharybin
Summary: Version of those libraries might be useful to know. - OIIO and OCIO is exposed via bpy.app.oiio and bpy.app.ocio. There're "supported", "version" and "version_string" defined in those modules. - OSL is available as _cycles.osl_version and _cycles.osl_version_string. Reviewers: campbellbarton Reviewed By: campbellbarton CC: dingto Differential Revision: http://developer.blender.org/D79
2013-10-09Move guarded objetc allocation to a guardedalloc headerSergey Sharybin
Also made libmv-capi use guarded objetc allocation. Run into some suspecious cases when it was not so clear whether memory is being freed or not. Now we'll know for sure whether there're leaks or not :) Having this macros in a guardedalloc header helps using them in other areas (for now it's OCIO and libmv, but in the future it'll be more places).
2013-09-09Film response curves implemented as a looksSergey Sharybin
This commit implement's OCIO's Looks idea which is about applying some color correction on the buffer before it get's affected by a display transform. This is mainly used to modify images in an artistics way. Currently we've got looks generated from film response curves for all sorts of cameras. Patch by both of me and Brecht.
2013-09-07Remove unused constant.Sergey Sharybin
2013-09-07Code cleanup: us commented out arg names rather than leaving them if unusedSergey Sharybin
2013-08-19style cleanup: indent/whitespaceCampbell Barton
2013-04-01Epic fail in original GLSL display transform commitSergey Sharybin
Apparently C== allowed to have implementations of OCIOImpl::setupGLSLDraw, OCIOImpl::finishGLSLDraw and OCIOImpl::freeGLState in two different files. STUPID!
2013-03-29Implement GPU-side display transform for clip editorSergey Sharybin
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-01-09Style cleanup in OCIO areaSergey Sharybin
Also fixed typo in function name.
2012-11-22Solved descriptors leak in OCIO module on windowsSergey Sharybin
Seems was simply caused by wrong destructor used in processorRelease
2012-10-05Fixed compilation error on widowsSergey Sharybin
Was caused by mixing up own C-API typedefs with OCIO's
2012-10-04Color Management: fallback to stub ocio implementation in cases whenSergey Sharybin
ocio configuration file failed to load This solves issues with infinite NULL-checks to prevent crashes in such situations. Currently only happens if there's no configuration file at all, but could be tweaked further to fallback if this file isn't usable by blender.