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
2022-05-10Fix T97272: Lag when resizing viewports.temp-T97272Jeroen Bakker
Viewports where cleared explicitly due to compatibility reasons with Intel iGPUs. This slowed down other platforms as well, this wasn't noticeable on all platforms. This patch will be more selective when to enable the workaround. Currently only for iGPUs on Mac + Linux.
2022-05-10Eevee: Fix GLSL compilation error.Jeroen Bakker
Introduced by {35594f4b92fa4cbb5b848f447b7a3323e572b676}. Some platforms do not support temp variables to be used as inout parameter. Detected on Mac with Intel iGPU.
2022-05-10D14887: Fix artifacts in hue filterRamil Roosileht
The hue color filter now wraps correctly. Fixes T97768. Reviewed By: Julien Kaspar & Joseph Eagar Differential Revision: https://developer.blender.org/D14887 Ref D14887
2022-05-10Fix T86358: Use per face aspect correction for primitive UV projectionsChris Blackbourn
During UV unwrapping, Cube Projection, Sphere Projection, Cylinder Projection and Project From View (in the 3D Viewport), when "Correct Aspect" toggle is active, it now uses a query cache to perform a per-face aspect ratio ("per_face_aspect") correction for the active image of each face. Reviewed By: campbellbarton Ref D14852
2022-05-10Fix T97545 GPU: Crash caused by uncommented quote char in source stringClément Foucault
Some drivers completely forbid quote characters even in unused preprocessor directives. This patch adds a debug build check for all `.glsl` files that need to be manually handled. For shared headers with `#include` directives, we need to do runtime patching of the source to remove the quote. Also fix an instance of the quotes check failing in `eevee_next`.
2022-05-10EEVEE: Fix missing CLOSURE_DEFAULTClément Foucault
2022-05-10Fix T97985 EEVEE: Shader mixing not working correctly when reusing shader nodesClément Foucault
This was caused by the `Closure` members being added to the final contribution more than once. The workaround is to clear the members once a closure has been added to the final contribution. I used `inout` on `Closure` inputs so that the render engine implementation of mix and add closure nodes can do its own thing. The nodegraph handling of inout was changed for this to work.
2022-05-09Deps/CMake: Add missing dependencies for OCIORay Molenkamp
OCIO could build before pystring and imath due to OCIO missing the dependencies on these two projects No rebuild required as the build would have failed during the libs build if you ran into this issue.
2022-05-09Fix T97984: GPUCodegen: crash when loading demo fileClément Foucault
This was caused by the name buffer not being ensured in all cases. Change the behavior and always create the `NameBuffer`.
2022-05-09Fix T97983 EEVEE: Tangent Normal of Curves info behaves differently in EeveeClément Foucault
Curve tangent was correctly mistaken with curve normal. This patch fixes the name of the output in the glsl function and make curve attributes more explicit (with `curve_` prefix). This also improve the normal computation by making it per pixel to match cycles. Also ports the changes to eevee-next.
2022-05-09Build: disable usage of GLEW, CLEW, CUDA, GLFW in OpenSubdivBrecht Van Lommel
The previous 3.1 libraries (accidentally) used glApi instead of GLEW and were working for GPU subdivision, so revert to that. There's a suspected conflict with Blender's own bundled GLEW or other issue with GLEW, causing the crash in T97737. The current GPU subdivision implementation does not need OpenCL, CUDA or GLFW. So also remove libraries needed for that. It's simpler to stick to compute shaders in OpenGL/Vulkan/Metal and not involve additional APIs. Ref T95206 Differential Revision: https://developer.blender.org/D14898
2022-05-09Fix T97906: OpenEXR files with lower case xyz channel names not read correctlyBrecht Van Lommel
Adds some utility functions to avoid using toupper() which depends on the locale and should not be used for this type of parsing.
2022-05-09Fix T97853: Crash with edit mode X-ray and subdivisionHans Goudey
The mesh drawing code used a different mesh to check whether or not to draw face dots and to actually retrieve them. The fix is moving the responsibility of determining whether to use subsurf face dots to the creation of `MeshRenderData` where the mesh used for drawing is known, rather than doing it at a higher level. Differential Revision: https://developer.blender.org/D14855
2022-05-09Fix T97927: bpy.utils.units.to_string uses wrong units for velocity, ↵Bastien Montagne
acceleration, lens length, and power `TEMPERATURE` type was also missing, not only the new-ish `TIME_ABSOLUTE` one... Added a static assert on the size of the `bpyunits_ucategories_items` array, and a comment on anonymous enum of `B_UNIT_`, in the hope this won't happen again in the future.
2022-05-09Cleanup: typo in variable name.Bastien Montagne
2022-05-09GPU: Unable to compile material shaders.Jeroen Bakker
This fixes a threading issues when material shaders with textures are used. It localizes the names of the samplers.
2022-05-09Minor typo fixes in UI messages.Bastien Montagne
2022-05-09Tweak i18n messages extraction script to avoid unwanted messages.Bastien Montagne
Code would add a bit too often the identifier of an RNA class to translated messages, this is only needed if there is no valid label available for it.
2022-05-09Fix T97915: Regression: Blender doesn't translate viewpoint menu items.Bastien Montagne
Another mistake in rBdb3f5ae48aca.
2022-05-09GPU: Fix crash deferred shader compilation.Jeroen Bakker
On certain systems when eevee is used in a 3d viewport could crash. It happened more often on slower systems or systems with slower glsl compilers. For example an Intel Mac Mini. The cause was that even if a GPUMaterial was in used it could be freed.
2022-05-07Fix T96683: Mipmaps are inaccurate for UDIM texturesClément Foucault
For some reasons the mipmap count was not set to max during creation. Probably it was mistaken with the UDIM tilemap texture which is only 1D and has only one mipmap.
2022-05-07EEVEE: Fix missing function implementation for volumetric materialsClément Foucault
This was leading to linking errors. Fixes T97779 Regression: World volume noise stopped working
2022-05-07Fix T97600 Regression: rendering in new window displays flickersClément Foucault
This is because some drivers / GPU actually still do double buffer swapping but others don't. Adding this do ensure the background color of the first redraw. Note that this fix was not tested on the problematic hardware and might not solve the issue.
2022-05-07Fix T97796 EEVEE: Regression: Alpha clipped materials rendered as alpha hashedClément Foucault
This was because the alpha clip thresholding was previously done in the material nodes codegen. Now it is the responsibility of the engine to implement it. This adds a loose uniform that is set by EEVEE itself to control the clip behavior.
2022-05-07Fix T97881 EEVEE: First Specular and SSS closure not contributing on alpha ↵Clément Foucault
blended material This was because the evaluation was still being deferred just like for the opaque case.
2022-05-07GPUShader: Add static compilation to clipped shader variationsClément Foucault
This allows testing them for errors.
2022-05-07Fix T97751: New OBJ IO - File Browser doesn't filter by .obj/.mtlJulian Eisel
Makes the File Browser filter by .obj and .mtl files by default again. Note that this commit focuses on fixing this specific bug, further refactors/tweaks/fixes are planned (see D14863). Differential Revision: https://developer.blender.org/D14862 Reviewed by: Aras Pranckevicius
2022-05-06DrawManager: Make instance data persistent.Jeroen Bakker
When resizing a viewport all engine instance data was cleared. This wasn't the intended design and lead to performance regressions in the image engine. This patch makes sure that the instance data isn't cleared when the viewport size changes. When using instance data, draw engines are responsible to update the textures accordingly. This could also reduce flickering/stalling when resizing the viewport in eevee-next. Fixes T95428. Reviewed By: fclem Maniphest Tasks: T95428 Differential Revision: https://developer.blender.org/D14874
2022-05-06Fix T97466: Assert when pack sound in blender DEBUG.Bastien Montagne
This was very old code from 2008, totaly invalid with new depgraph & evaluation system, now we just need to tag the Sound ID for update.
2022-05-06Switch viewport shading for color tools in solid modeRamil Roosileht
This patch implements T97613, switching viewport shading when using Color Filter and Mask By Color ALSO, this patch makes it so viewport shading color switches only when SOLID mode is chosen, to prevent color switching when using other shading modes, without user noticing it. {F13049889} Reviewed By: JulienKaspar, joeedh, jbakker Maniphest Tasks: T97613 Differential Revision: https://developer.blender.org/D14765
2022-05-06Add documentation about Image/ImBuf to python/RNA API.Bastien Montagne
Related to T95616, the relationship between Image ID and ImBuf 'cached' buffers can be fairly confusing when using the RNA API. Reviewed By: campbellbarton, jbakker Differential Revision: https://developer.blender.org/D14833
2022-05-06WM: suppress assertion when switching toolsCampbell Barton
Changing the object mode outside the 3D view would trigger this assertion. This was harmless, only assert for space types that define the tools mode.
2022-05-06Fix T96585: Intersect(Knife) tool is selecting wrong edgesCampbell Barton
Regression caused by [0] which flushed selection from vertices -> edges, causing additional edges to be selected. Now selected is flushed based on the mode, instead of all elements. Note that these function names could be improved to make it clearer how these flushing functions are different. Also skip flushing unless selection is performed. [0]: 55c82d8380ea3fd37a9d966fad10f42cc5b365d5
2022-05-06Fix T97758: Applying modifiers bakes shape-keysCampbell Barton
Regression in [0] which is useful when applying modifiers as a shape-key but not when applying modifiers which keeps the existing shape-keys. [0]: 65c5ebf5779d07fb92fabd0ff992337f6c980cde
2022-05-05Fix T95308, T93913: Cycles mist pass wrong with SSS shaderBrecht Van Lommel
It was wrongly writing passes twice, for both the surface entry and exit points. We can skip code for filtering closures, emission and holdout also, as these do nothing with only a subsurface diffuse closure present.
2022-05-05Cleanup: clang formatBrecht Van Lommel
2022-05-05Fix T93246: Cycles wrong volume shading after transparent surfaceBrecht Van Lommel
The Russian roulette probability was not taken into account for volumes in all cases. It should not be left out from the SD_HAS_ONLY_VOLUME case.
2022-05-05Fix T97575: Toggling fullscreen causes compositor recalcCampbell Barton
The root of the issue is that compositor is using refresh mechanism to handle recalc. The safest fix which does not require deep refactor is to check to whether node space was tagged for refresh from listener (currently it is listeners which are responsible for tackling compositor tree recalc). Differential Revision: https://developer.blender.org/D14856
2022-05-05Fix T97863: new OBJ importer issues with extra whitespace after "f" keywordsAras Pranckevicius
While possible extra whitespace after all OBJ/MTL keywords was properly skipped, it was not done for the "f" (face definition) keyword. While at it, also support indented keywords, i.e. extra whitespace at the beginning of the line. There's a tiny bit of performance drop while importing (e.g. importing blender 3.0 splash scene: 53.38sec -> 54.21sec on my machine). But correctness is more important. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D14854
2022-05-05File missing from 78fc5ea1c398f70d22cda72be33c105146c0d542Campbell Barton
2022-05-05Workaround T81065: Merge UV's when applying modifiersCampbell Barton
Support merging UV's that share the same vertex and are very close when applying modifiers. This is needed to prevent UV's becoming "detached" which can happen when applying the subdivision surface modifier. This regression was caused by [0] which removed selection threshold for nearby coordinates. While restoring the UV selection threshold could be done - some selection operations that walk around connected UV fans wouldn't behave in a deterministic way (such as select shortest path). There are also other cases where UV's may be compared without a threshold such as tangent calculation and exporters which have their own logic to handling UV's. Also resolves T86896, T89903. [0]: b88dd3b8e7b9c02ae08d4679bb427963c5d21250 Reviewed By: sergey Ref D14841
2022-05-05Fix T97874: Python exception after undo with image space visibleCampbell Barton
Ensure tools are initialized with the correct area type set.
2022-05-05Fix WM_toolsystem_refresh_screen_all failing to refresh toolsCampbell Barton
Error in 3e1baa7d539757b8e5fa870d4909354e0b5645b9.
2022-05-05Cleanup: EEVEE: Fix clang-tidy warnings and unused var warningClément Foucault
2022-05-05DRW: Hair: Fix shader compilation of transform feedback shaderClément Foucault
Introduced by rBadbe71c3faba.
2022-05-05Fix T97835: crash when creating hair particle system on MacGermano Cavalcante
Recently `gpu_shader_3D_smooth_color_frag.glsl` had the uniform declarations removed. For shaders without `ShaderCreateInfo` that require this source this results in the error: ``` ERROR (gpu.shader): hair_refine_shader_transform_feedback_workaround_create FragShader: | 54 | fragColor = finalColor; | | gpu_shader_3D_smooth_color_frag.glsl:5:0: Error: Use of undeclared identifier 'fragColor' | gpu_shader_3D_smooth_color_frag.glsl:5:0: Error: Use of undeclared identifier 'finalColor' | 55 | fragColor = blender_srgb_to_framebuffer_space(fragColor); | | gpu_shader_3D_smooth_color_frag.glsl:6:0: Error: Use of undeclared identifier 'fragColor' | gpu_shader_3D_smooth_color_frag.glsl:6:0: Error: Use of undeclared identifier 'fragColor' ``` So port that shader to use `ShaderCreateInfo`.
2022-05-04Fix Cycles world light group confusing UIBrecht Van Lommel
Move to a subpanel of the Settings panel. Otherwise it seems like it's a setting of one of the shader nodes.
2022-05-04Fix T95644: Cycles doesn't update modified object attributes on GPULukas Stockner
evice_update_preprocess is supposed to detect modified attributes and flag the device_vector for a copy through device_update_flags. However, since object attributes are only created in device_update_attributes afterwards, they can't be included in that check. Change the function that actually updates the device_vector to tag it as modified as soon as its content gets updated. Differential Revision: https://developer.blender.org/D14815
2022-05-04Fix T96718: Cycles invalid pixels when using bump normal for light emissionBrecht Van Lommel
A shader node setup accidentally used the bump normal as emission. Bump mapping nodes are excluded from light shader evaluation to reduce kernel size and register pressure, but in that case should write zero instead of leaving memory uninitialized. Thanks to Lukas for helping identify the cause.
2022-05-04Fix Cycles division by zero in material preview renderBrecht Van Lommel
If the render gets cancelled before the first sample finishes.