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
2019-05-20Color Management: update configuration, remove legacy transformsBrecht Van Lommel
* Replace Log view transform with Filmic Log. * Remove Rec.709, DCI-P3 displays that were incomplete and outdated. * Remove outdated RRT and Film transforms, replaced by Filmic. * Remove camera responsive curves that don't work with HDR colors. * Rename Default view transform to Standard. We're breaking compatibility now for 2.80, so that we can add future improvements on a clean config. Part of the code was contributed by George Vogiatzis in D4782. Differential Revision: https://developer.blender.org/D4900
2019-05-19Images: change alpha settings to support channel packingBrecht Van Lommel
This also replaces the Use Alpha setting. We now have these alpha modes: * Straight: store RGB and alpha channels separately with alpha acting as a mask, also known as unassociated alpha. * Premultiplied: transparent RGB pixels are multiplied by the alpha channel. The natural format for renders. * Channel Packed: different images are packed in the RGB and alpha channels, and they should not influence each other. Channel packing is commonly used by game engines to save memory. * None: ignore alpha channel from the file and make image fully opaque. Cycles OSL does not correctly support Channel Packed and None yet, we are missing fine control over the OpenImageIO texture cache to do that. Fixes T53672
2019-05-18Fix T64762: incorrect textures for non-color images with an alpha channelBrecht Van Lommel
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-23Cleanup: style, use braces for imbufCampbell Barton
2019-04-21Cleanup: comments (long lines) in imbufCampbell Barton
2019-04-20Cleanup: remove unused OpenGL functions, rename some for clarityBrecht Van Lommel
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-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
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-01Color management: change view transform for color pickers and display modes.Brecht Van Lommel
* Use simple default view transform for color pickers, as Filmic does not work well for all types of colors. We better handle this with an option and tagging of colors as emissive or albedo like. * For solid/workbench we also no longer use Filmic, as there is not enough contrast and it's not really needed since this is not physically based lighting. * For lookdev always take into account the view transform and look. Other view settings like exposure are only taken into account if scene lighting is used, since these are often dependent on scene light intensity. Fixes T61022, T57649, T59363.
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-30Cleanup: warnings (clang)Campbell Barton
2018-12-13Color management: add OCIO aware utility functions for transform to/from XYZ.Brecht Van Lommel
2018-12-13Fix T58549, T56741: HSV color picker issues with Filmic view transform.Brecht Van Lommel
In 2d655d3 the color picker was changed to use display space HSV values. This works ok for a simple sRGB EOTF, but fails with view transforms like Filmic where display space V 1.0 maps to RGB 16.292. Instead we now use the color_picking role from the OCIO config when converting from RGB to HSV in the color picker. This role is set to sRGB in the default OCIO config. This color space fits the following requirements: * It is approximately perceptually linear, so that the HSV numbers and the HSV cube/circle have an intuitive distribution. * It has the same gamut as the scene linear color space. * Color picking values 0..1 map to scene linear values in the 0..1 range, so that picked albedo values are energy conserving.
2018-12-06Color management: Use default view with no extra transform when not specifiedSergey Sharybin
2018-12-06Color management: Cleanup, make function name more clearSergey Sharybin
The idea is to reflect that the view settings are the best for cases when one wants to see things as if they are a render result.
2018-12-05Color management: Query default view from displaySergey Sharybin
Solves weird situation when default display name is queried from OCIO, but Default view being assumed to be set for it. Now view is initialized to a default view of that display.
2018-12-05Color management: Cleanup, typosSergey Sharybin
2018-11-30Cleanup: ensure '_END' macros end with a semicolonCampbell Barton
Missing these breaks auto-indent for editors that don't expand macros.
2018-09-05Fix T54152: --env-system-scripts fails on win32Ray Molenkamp
2018-06-17Cleanup: trailing space for imbuf moduleCampbell Barton
2018-05-07Cleanup: rename char/float conversion functionsCampbell Barton
- FTOCHAR -> unit_float_to_uchar_clamp - F3TOCHAR3 -> unit_float_to_uchar_clamp_v3 (swap args) - F4TOCHAR4 -> unit_float_to_uchar_clamp_v4 (swap args) - FTOUSHORT -> unit_float_to_ushort_clamp - USHORTTOUCHAR -> unit_ushort_to_uchar
2018-04-05IMB_metadata improvementsSybren A. Stüvel
- Metadata handling is now separate from `ImBuf *`, allowing it to be used with a generic `IDProperty *`. - Merged `IMB_metadata_add_field()` and `IMB_metadata_change_field()` into a more robust `IMB_metadata_set_field()`. This new function doesn't return any status (it now always succeeds, and the previously existing return value was never checked anyway). - Removed `IMB_metadata_del_field()` as it was never actually used anywhere. - Use `IMB_metadata_ensure()` instead of having `IMB_metadata_set_field()` create the containing `IDProperty` for you. - Deduplicated function declarations, moved `intern/IMB_metadata.h` out of `intern/`. Note that this does mean that we have some extra `#include "IMB_metadata.h"` lines now, as the metadata functions are no longer declared in `IMB_imbuf.h`. - Deduplicated function declarations, all metadata-related declarations are now in imbuf/IMB_metadata.h. Part of: https://developer.blender.org/D2273 Reviewed by: @campbellbarton
2018-02-15Cleanup: rename BLI_thread.h APICampbell Barton
- Use BLI_threadpool_ prefix for (deprecated) thread/listbase API. - Use BLI_thread as prefix for other functions. See P614 to apply instead of manually resolving conflicts.
2017-09-18Color management: When look is applied, we can not consider spaces to matchSergey Sharybin
This should fix T52812 after merge to blender2.8.
2017-09-04Fix T52522: VSE renders with alpha transparent PNG image incorrectlySergey Sharybin
Need some extra checks and should be probably end up in 2.79 since that's a regression.
2017-08-10Fix T52334: images with non-color data should not change color space on save.Brecht Van Lommel
2017-07-10Fix T51898: missing sequence strip color space validation on load.Brecht Van Lommel
2017-05-26Cleanup: Typo in colormanagement (ColormnaageCacheData -> ColormanageCacheData)Lukas Stockner
2017-05-16Fix memory leak when saving OpenEXR filesSergey Sharybin
It is not a good idea to: 1. Duplicate metadata to self 2. Ignore the fact that something might have had metadata already. Also moved metadata copy to a preparation function, so it is never lost.
2017-05-16Fix byte-to-float conversion when using scene strips in sequencer with ↵Olly Funkster
identical color spaces Fix T50882: VSE: Blend Modes on Scenes do not layer properly Fix T51002: Scene strip with Alpha over not working as expected The byte-to-float conversion was being skipped if the color spaces of the sequence and the scene are the same, which is the default, resulting in any non-float strips becoming invisible. Reviewers: sergey Differential Revision: https://developer.blender.org/D2635
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
2017-04-12Color management: Avoid memory copy into same bufferSergey Sharybin
2017-02-07Cleanup: Use const qualifier in some of color management codeSergey Sharybin
2017-02-07Color management: Add utility function to convert byte to float with ↵Sergey Sharybin
processor applied
2017-02-07Color management: Implement threaded byte buffer conversionSergey Sharybin
The title says it all actually: now we can convert byte buffer directly, without need of temporary float buffer.
2016-12-06Fix T50122: SEGFAULT: OCIO configuration typo leads to segfaultSergey Sharybin
2016-09-20Fix T49386: Blender crashes when told to load an OCIO LUT that does not existSergey Sharybin
2016-05-06Implement threaded partial display buffer updateSergey Sharybin
This speeds up update of display buffer when affected area is big enough. Mainly helpful for cases when doing long fast strokes when painting.
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-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-07-13 Imbuf types refactor.Antony Riakiotakis
ImBuf types were getting stored as bitflags in a 32bit integer which had already run out of space. Solved the problem by separating file type to an ftype enum, and file specific options to foptions. Reviewed by Campbell, thanks a lot!
2015-06-02Fix T44869: Crash rendering >2gb imagesCampbell Barton
2015-05-29Yet another attempt to fix T44869Antony Riakiotakis
Fix some integer overflow cases in colormanagement code
2015-05-18Cleanup: use const for Imbuf file typesCampbell Barton
2015-04-30Fix T44541 aka gigapixel image render support in blender.Antony Riakiotakis
Moral of the story: Make sure that size_t is used whenever pointer arithmetic is involved. For images, that basically means whenever any squared dimensions are involved. Casting an operand to size_t early in the operation is usually sufficient to force the entire operation to size_t. There might still be places lurking where we don't support this correctly. This has been tested with render pipeline, quite a few image functions (meaning we can paint on such images now, albeit somewhat slowly ;) ) and export to jpeg. Too many places in code to check so I guess we'll be handling cases as they come. Don't try this at home unless you have an immense ammount of RAM. First GPixel render of suzanne in the multiverse can be found here: http://download.blender.org/demo/test/suzanne-billion-pixel.jpg Can be viewed from blender (takes about 3.3 GB after loading but may take more during loading so 8GB might be more safe to try this).
2015-03-23Change coefficients to 4 digit precision only.Antony Riakiotakis
Need to match convention and sum up to 1.0 (previous set had a minor 10^(-10) overflow) Thanks to Campbell for taking notice.