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-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
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-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-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
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.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2018-12-13Color management: add OCIO aware utility functions for transform to/from XYZ.Brecht Van Lommel
2018-12-06Color management: Use default view with no extra transform when not specifiedSergey Sharybin
2017-05-07Color management: add Filmic view transform to Blender configuration.Brecht Van Lommel
* "Filmic" and "False Color" view transforms added (sRGB display device only). * "Very Low/Low/Base/High/Very High Contrast" looks added. * Added filtering so that Filmic only shows look names prefixed with "Filmic - ". Filmic Dynamic Range LUT configuration created by Troy James Sobotka with special thanks and feedback from Guillermo, Claudio Rocha, Bassam Kurdali, Eugenio Pignataro, Henri Hebeisen, Jason Clarke, Haarm-Peter Duiker, Thomas Mansencal, and Timothy Lottes. Differential Revision: https://developer.blender.org/D2659
2016-01-25ImBuf: Make luminance calculation inlinedSergey Sharybin
Title actually tells it all, it is rather simple function which totally makes sense to be inlined. This gives up to 5% of speedup when updating scopes for a large image. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D1310
2015-10-23Comments for link-list typesCampbell Barton
2013-09-12code cleanup: headers - doxy comments.Campbell Barton
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-05Code cleanup: use boolean instead of int for colormanagementSergey Sharybin
2013-08-19code cleanup: confirm include guards to our conventionCampbell Barton
2013-03-11Colormanagement: Fix issue with colorspaces' description too short, and ↵Bastien Montagne
reduce usage of magic numbers.
2013-02-19Remove define which is not actually needed and could have beenSergey Sharybin
conflicted with one from IMB_colormanagement.h
2012-10-05Fixed compilation error on widowsSergey Sharybin
Was caused by mixing up own C-API typedefs with OCIO's
2012-09-26Color Management: resolve warnings when OCIO configuration file misses None ↵Sergey Sharybin
display
2012-09-24Fix #32644: ctrl+F11 internal animation player crashSergey Sharybin
Crash was caused by missed color management initialization -- it was happening too late. Move it to generic ImBuf init/exit functions, so now color management is properly initializing when animation player is launched.
2012-09-19Color Management: don't apply display transform on Non-Color imagesSergey Sharybin
Also don't color manage data buffers in texture painting. Makes it possible to view heights and normal maps in proper space and also paint on them without applying extra transformation.
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
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!