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
2021-02-03OpenColorIO: address review commentstmp-ocio-v2Brecht Van Lommel
2021-02-01Windows: OCIO2 build fixesRay Molenkamp
Nothing too interesting here, the static imports define changed as did some of the library names/locations
2021-02-01OpenColorIO: remove default display workaroundBrecht Van Lommel
A fix for this is in 2.0 (and recent 1.1.x versions), no need for this anymore.
2021-02-01OpenColorIO: use aces_interchange role to detect CIE XYZ valuesBrecht Van Lommel
We need standard CIE XYZ values for rendering effects like blackbody emission. The relation to the scene linear role is based on OpenColorIO configuration. In OpenColorIO 2.0 configs roles can no longer have the same name as color spaces, which means our XYZ role and colorspace in the configuration give an error. Instead use the new standard aces_interchange role, which relates scene linear to a known scene referred color space. Compatibility with the old XYZ role is preserved, if the configuration file has no conflicting names. Also includes a non-functional change to the configuraton file to use an XYZ-to-ACES matrix instead of REC709-to-ACES, makes debugging a little easier since the matrix is the same one we have in the code now and that is also found easily in the ACES specs. There is a new cie_xyz_d65_interchange role that we should add support for, for interchange of display referred colorspace (as opposed to scene referred). I couldn't immediately understand how that is supposed to be defined, will probably leave that for another patch unless someone knows how.
2021-02-01OpenColorIO: update GPU display shader for version 2.0Brecht Van Lommel
To avoid baking exposure and gamma into the GLSL shader and requiring slow recompiles when tweaking, we manually apply them in the shader. This leads to some logic duplicaton between the CPU and GPU display processor, but it seems unavoidable. Caching was also changed. Previously this was done both on the imbuf and opencolorio module levels. Now it's all done in the opencolorio module by simply matching color space names. We no longer use cacheIDs from OpenColorIO since computing them is expensive, and they are unlikely to match now that more is baked into the shader code. Shaders can now use multiple 2D textures, 3D textures and uniforms, rather than a single 3D texture. So allocating and binding those adds some code. Color space conversions for blending with overlays is now hardcoded in the shader. This was using harcoded numbers anyway, if this every becomes a general OpenColorIO transform it can be changed, but for now there is no point to add code complexity.
2021-02-01OpenColorIO: update display transforms for version 2.0Brecht Van Lommel
Needs a bit more manual work constructing the transform. LegacyViewingPipeline could also have been used, but isn't really any simpler and since it's legacy we better not rely on it. This moves more logic into the opencolorio module, to simplify the API. There is no need to wrap a dozen functions just to be able to do this in C rather than C++. It's also tightly coupled to the GPU shader logic, and so should be in the same module.
2021-02-01OpenColorIO: update processors and transforms for version 2.0Brecht Van Lommel
CPU processors now need to be created to do CPU processing. These are cached internally, but the cache lookup is not fast enough to execute per pixel or texture sample, so for performance these are now also exposed in the C API. The C API for transform will no longer be needed afer all changes, so remove it to simplify the API and fallback implementation.
2021-02-01Build: OpenColorIO 2.0.0 support for make deps and install_deps.shBrecht Van Lommel
* Tinyxml was replaced with Expat, adding a new dependency. * Yaml-cpp is now built as a dependency on Unix, as was already done on Windows. * Removed currently unused LCMS code, couldn't be bothered to update and test it. * Pystring remains built as part of OCIO itself, since it has no good build system. We currently require OpenColorIO 2.0.0 and the upcoming code changes have no compatibility with 1.x. Compatibility could be added, but it's rather complicated and I only want to do the work if it's really needed. The install_deps.sh support was implemented by Jeroen, I have no tested it myself. The Windows code was updated, but I have not tested if it actually works, it almost certainly will not.
2021-01-29Fix T85144: Cycles crashes when editing render properties in viewportKévin Dietrich
rendering Issue was caused by the sample pattern LUT always being freed and not rebuilt when properties driving its dimensions were modified.
2021-01-29Merge branch 'blender-v2.92-release'Clément Foucault
2021-01-29EEVEE: Fix GPUNodeLink memory leak for displacement nodes using SHD_SPACE_WORLDMichael Möller
When the displacement space is set to SHD_SPACE_WORLD, the GLSL method "node_displacement_world" is used instead of the "node_displacement_object" method. The two GLSL methods: ``` void node_displacement_object( float height, float midlevel, float scale, vec3 N, mat4 obmat, out vec3 result) { N = (vec4(N, 0.0) * obmat).xyz; result = (height - midlevel) * scale * normalize(N); result = (obmat * vec4(result, 0.0)).xyz; } void node_displacement_world(float height, float midlevel, float scale, vec3 N, out vec3 result) { result = (height - midlevel) * scale * normalize(N); } ``` In contrast to the "node_displacement_object" method, the "node_displacement_world" does not require an "obmat" parameter. Attempting to still pass "GPU_builtin(GPU_OBJECT_MATRIX)" as additional parameter will result in a memory leak. The "GPUNodeLink" allocated in the "GPU_builtin" method will never get released. Fixes T83941 Memory leak when using the Displacement shader node in Eevee with the displacement space set to "World Space"
2021-01-29Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-29Depsgraph: Remove redundant copy-on-write operationsSergey Sharybin
This change removes copy-on-write operations from ID nodes which do not need copy-on-write. Should be no functional changes, as before the copy-on-write operation would do nothing for those nodes anyway.
2021-01-29Fix T83411: Crash when using a workspace/layout data path in a driverSergey Sharybin
Building IDs which are not covered by copy-on-write process was not implemented, which was causing parameters block not present, and, hence causing crashes in areas which expected parameters to present. First part of this change is related on making it so Copy-on-Write is optional for ID nodes in the dependency graph. Second part is related on using a generic builder for all ID types which were not covered by Copy-on-Write before. The final part is related on making it so build_id() is properly handling ParticleSettings and Grease Pencil Data. Before they were not covered there at all, and they need special handling because they do have own build functions. Not sure it worth trying to split those parts, as they are related to each other and are not really possible to be tested standalone. Open for a second opinion though. Possible nut-tightening is to re-organize build_id() function so that every branch does return and have an assert at the end, so that missing ID type in the switch statement is easier to spot even when using compilers which do not report missing switch cases. As for question "why not use default" the answer is: to make it more explicit and clear what is a decision when adding new ID types. We do not want to quietly fall-back to a non-copy-on-write case for a newly added ID types. Differential Revision: https://developer.blender.org/D10075
2021-01-29Fix T84717: missing 3D viewport updates when changing shading settingsBrecht Van Lommel
Previously this relied on the dependency graph to detect changes in the screen datablock, which would then notify the renderers. This was rather indirect an not even really by design. Instead use notifiers to tag specific 3D viewports to be updated. Includes changes to BKE_scene_get_depsgraph to accept a const Scene pointer. Testing if this works correctly requires adding back commits 81d444c and 088904d, since those have been temporarily reverted. Differential Revision: https://developer.blender.org/D10235
2021-01-29Cleanup: accept const pointer for BKE_scene_get_depsgraphBrecht Van Lommel
2021-01-29Fix T81169: Grease Pencil Z-depth drawing issue on OSX + AMD Graphic CardsJeroen Bakker
The grease pencil merge depth shader is designed to only work correctly in octographic mode. The uv coordinates used `noperspective` attribute. Somehow this doesn't lead to render artifacts on most platforms and was only detected on OSX + AMD cards. This fix would calculate the uv coordinate inside the fragment shader and isn't passed along from the vertex shader. Thanks to Sebastián Barschkis for providing the hardware and time and Clément Foucault for helping out with the final fix.
2021-01-29GPU: Remove unused GPU debugging command line optionsJulian Eisel
Removes two unused --debug-gpu command line flags (unused as in, does nothing): * `--debug-gpumem`: Unused since c08d84748804, the info is now available in the status-bar if enabled in the Preferences. Initially added in fec317de8d57. * `--debug-gpu-shaders`: Unused since 216d78687d2b, double checked with Clément, he says it's not that useful nowadays. Initially added in fec317de8d57. Addresses T83954 and T83953. Differential Revision: https://developer.blender.org/D10244 Reviewed by: Clément Foucault
2021-01-29Fix wrong command line argument description for --debug--gpu-force-workaroundsJulian Eisel
Was using the same description as `--debug-gpumem`. `--debug-gpu-shaders` actually has the same issue, but will be removed in the next commit.
2021-01-29Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-29Fix T85148: OptiX viewport denoising regressionPatrick Mours
Commit 6e74a8b69f215e63e136cb4c497e738371ac798f changed the denoiser input passes default to include the normal pass. This does not always produce optimal images though, hence why the default was previously set to only include the color and albedo passes. This restores that behavior, so that viewport denoising with OptiX produces the same results as before.
2021-01-29Merge branch 'blender-v2.92-release'Robert Guetzkow
2021-01-29Fix T84588: Set parameter as required for uv_on_emitterRobert Guetzkow
This commit fixes T84588's second issue. The `particle` parameter was declared optional in the Python API of `bpy.types.ParticleSystem.uv_on_emitter` due to a typo in the RNA definition. This commit marks it as required. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10127
2021-01-29Merge branch 'blender-v2.92-release'Philipp Oeser
2021-01-29Fix T85169: UV scale gizmo swaps X/YPhilipp Oeser
Introduced with swapped axis in rB0d67eb277f9b. Similar was fixed for the translate gizmo in rB567212c3434a. Now do the same for scaling as well. Maniphest Tasks: T85169 Differential Revision: https://developer.blender.org/D10245
2021-01-29Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-29Fix T85178: edit-mesh show_edges overlay option toggles face-dotsCampbell Barton
When this behavior was added it made sense, since then show_edges has changed to make edge-display more subtle (see 1a4b60c30db319b71bdc2e2fed2612c873fa8757) instead of removing edge-selection display entirely.
2021-01-29Geometry Nodes: missing null check for volume objectsJacques Lucke
The problem was found by Dalai in T84606.
2021-01-29Merge branch 'blender-v2.92-release'Philipp Oeser
2021-01-29Fix T84661: read jpg pixel densityPhilipp Oeser
For jpeg, an image.resolution was always based on the default 72dpi, now read the pixel density from the jpeg_decompress_struct, convert according to unit and store in IMBuf's ppm. Not 100% sure of all implications tbh., files I have checked seem to work as expected now in the context of the report. Maniphest Tasks: T84661 Differential Revision: https://developer.blender.org/D10166
2021-01-29Merge branch 'blender-v2.92-release'Philipp Oeser
2021-01-29Fix T85139: Force field texture missing depsgraph relationPhilipp Oeser
If a force field was of type "Texture", any changes of that texture (e.g. its type - as reported in T85139 - or also its properties) were not properly updating rigid bodies and particle systems. Now ensure that texture is actually in the depsgraph and set up relation accordingly. Also fixes T75198. Maniphest Tasks: T85139 Differential Revision: https://developer.blender.org/D10234
2021-01-29Tests, docs: Use sanitizer options from environment too.Ankit Meel
Don't overwrite environment variables that may contain options like suppression files, symboliser etc. It's similar to rBa181b156399a13fa429159112e30c8005d5e8a59 and rBA589d13408a60cbec34a8bc3cc798c586043743ae . For Blender Add-ons repo, see the equivalent in D9816. Reviewed By: Blendify Differential Revision: https://developer.blender.org/D9815
2021-01-29Cleanup: git-blame-ignore-revs: Update policy & commitsAnkit Meel
Discussion: https://lists.blender.org/pipermail/bf-committers/2020-December/thread.html#50844 *Remove clang-tidy commits altogether as they have a history of introducing bugs/ build issues. *Remove renames. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9986
2021-01-29UI: clarify edit-mesh face center behaviorCampbell Barton
- Grey out in wire/xray display. - Expand the description for when this is used. While this is working, the intended behavior wasn't clear, address T85177.
2021-01-29Docs: notes on the 2.7x keymapCampbell Barton
Note the key-map items that don't match the original 2.7x key-map, since some of these are quite obscure.
2021-01-29Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-29Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-29Cleanup: rename variables for gizmo templatesCampbell Barton
The abbreviation was from 'manipulator', which was changed to gizmo during development. Also correct operator description.
2021-01-29PyAPI: Add error when registering a 3D gizmo into a 2D gizmo groupCampbell Barton
Address issue raised in T85145.
2021-01-29Cleanup: rename variables for gizmo templatesCampbell Barton
The abbreviation was from 'manipulator', which was changed to gizmo during development. Also correct operator description.
2021-01-29PyAPI: Add error when registering a 3D gizmo into a 2D gizmo groupCampbell Barton
Address issue raised in T85145.
2021-01-29Fix T84906: Loop select can fail when starting from an ngonCampbell Barton
When stepping over an ngon's edges, check the number of edges & faces, to ensure the topology connected to the ngon would be walked along.
2021-01-29Docs: add diagrams describing the purpose of BMwEdgeLoopWalker.f_hubCampbell Barton
Without this the purpose of this feature isn't clear. While 01b3e9cc9fdd0875b93ba749c8209e6c43570d13 linked to an image, add inline ascii diagrams with detailed explanations.
2021-01-29Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-29Fix T83988: Active modifier outline uses search theme colorHans Goudey
The outline for the active modifier was abusing the property search match theme color, as noted in a comment. This commit adds a new theme color in RNA specifically for the active modifier outline.
2021-01-29Merge remote-tracking branch 'origin/blender-v2.92-release'Dalai Felinto
2021-01-29Cleanup: Move geonodes object info RNA enumDalai Felinto
This enum is only used by the node. So it does not need to be declared outside the scope of its function. Originally I thought this may be relevant to the collection info node as well, but the patch for it is defining its own enums.
2021-01-28Cleanup: Reduce variable scopeHans Goudey
Also some minimal white space changes
2021-01-28Fix T85157: join node not working when the second mesh is emptyJacques Lucke
The issue was that the `offset` in `dst_span[offset]` was out of bounds when the domain size is 0. The fix is to simply skip copying attributes in that case.