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-06-28DRW: Curve: Fix wrong UBO alignmentClément Foucault
This was preventing correct attribute rendering with multiple attributes. Since the `CurveInfos` struct is used for data sharing between C++ and GLSL and inside a UBO it needs to obey the `std140` alignment rules which states that arrays of scalars are padded to the size of `vec4` for each array entry.
2022-06-28Cleanup: DRW: Fix misnamed argument and add more info in a function docClément Foucault
2022-06-28Fix T98882: Regression: Gradient colors in a Grease Pencil material change ↵Germano Cavalcante
depending on the visibility of other objects The material ID was being wrongly passed in the shader.
2022-06-27Cleanup: DRW: Remove drw_view renaming MACROSClément Foucault
2022-06-27Fix color attribute interpolation with GPU subdivisionKévin Dietrich
Handling of 16-bits compression was missing, which gave values that were way off.
2022-06-27Cleanup: formatCampbell Barton
2022-06-24Fix T99129: Eevee Hair Info Length not working (old particle hair).Jeroen Bakker
When using the old particle hair with the hair info length it wasn't working with AMD GPUs. The reason was that the drw_curves uniform buffer wasn't initialized what made the shader select the incorrect length.
2022-06-23Cleanup: Use const argumentsHans Goudey
Also use Curves as an argument instead of Object, since it's more specific to this situation.
2022-06-22Fix T98773: GPU Subdivision breaks auto selection in UV edit modeKévin Dietrich
When GPU subdivision is used, and the modifier is not set to be applied on the cage, UV selection is not synced with the face selection in the viewport. This happens because the extraction, despite being in edit mode, is set to `MESH` instead of `BMESH` (or `MAPPED` in some cases) like for CPU subdivision, and since the mesh is not always synchrnised with the BMesh the edit mode flags are not always updated. With GPU subdivision, when creating the `MeshRenderData`, the condition `has_mdata && do_final && editmesh_eval_final != editmesh_eval_cage` is true which forces the `MESH` extraction. Following comment in D14485, this replace the `has_mdata` in the condition with `use_mapped` which solves the issue. Differential Revision: https://developer.blender.org/D15248
2022-06-21Cleanup: remove unneeded code in eevee_bloom.Jeroen Bakker
This had to be added to the previous commit.
2022-06-21Fix T98972: EEVEE Bloom Pass Outputs Final Image Instead of Bloom.Jeroen Bakker
Regression introduced by {rBca37654b6327}. This commit reversed the order of loading uniforms. The bloom renderpass used the previous loading order to overwrite an existing uniform (bloomBaseAdd). Due to the new ordering this doesn't work anymore where the render pass outputted an image similar to the final image. This was fixed by loading the correct value for bloomAddBase and remove the rewrite.
2022-06-21GPU subdiv: fix hidden faces in paint mode when hidden in edit modeKévin Dietrich
Pass `use_hide` to the compute shaders so that we can override the hidden face flags, like CPU extraction is doing.
2022-06-21Fix T99016: GPU subdiv artifacts in weight paint with smooth shadingKévin Dietrich
Flags in the smooth shading case were not properly set.
2022-06-20Fix T99019 EEVEE: Regression: Specular BSDF does not apply occlusionClément Foucault
Since the occlusion input is going to be removed in EEVEE-Next, I just added a temporary workaround. The occlusion is passed as SSS radius as the Specular BSDF does not use it. The final result matches 3.1 release
2022-06-20Fix artefacts with GPU subdiv and weight paint face selectionKévin Dietrich
Addendum to previous fix, which was for point selection, this fixes the face selection mode. The issue is caused by wrong flags used for paint mode (the edit mode flag was always used). Also add back flag which was accidentally removed in 16f5d51109bce849dff5379c60360f271622ac0f.
2022-06-20Fix T98913: GPU Subdivision: "Show Wire" overlay glitchKévin Dietrich
Issue is caused by an off by one error which would map some edge loops to the loops of some the next polygon in the list of polygon, which may not be a topological neighbor.
2022-06-18Cleanup: Remove unused argument, unnecessary struct keywordHans Goudey
2022-06-18Cleanup: Always store attribute name in attribute requestHans Goudey
Previously the attribute name was only stored in the request for curves. Instead, pass it as part of the "add request" function, so that it is always used. Since the whole attribute pipeline is name-based, this can simplify code in a few places.
2022-06-18Cleanup: Remove unnecessary switch statementHans Goudey
The types are retrieved by the attribute matching above anyway, there is no reason to have another switch based on the type.
2022-06-17Cleanup: Simplify syntax in curves draw cache fileHans Goudey
Also remove some unnecessary logic and change a variable name.
2022-06-17Cleanup: Remove redundant doxygen sectionHans Goudey
Also remove const for the object argument, since the object data is logically modified by generating the data.
2022-06-17Fix T98663: Eevee compilation error cryptomatte shaders.Jeroen Bakker
On MacOS Eevee cyptomatte shaders fails as it doesn't ignore the `attrib_load` parameter. I validated that removind the parameter works on Linux/AMD and MacOS Intel. It could be that there are other platforms that require the dummy parameter. If this should use a forward declaration and implement an emoty function in the cryptomatte vertex shader.
2022-06-15Fix T98699: Face dot colors in UV editor was using wrong color from themeChris Blackbourn
2022-06-15Cleanup: Miscellaneous improvements to draw attribute extractionHans Goudey
- Remove unnecessary braces in switch statements - Move `default` to the end of other switch items - Use camel case for type names - Use `BLI_assert_unreachable()`
2022-06-14Fix T98813: crash with GPU subdiv in edit mode and instanced geometryBrecht Van Lommel
Instancing with geometry nodes uses just the evaluated Mesh, and ignores the Object that it came from. That meant that it would try to look up the subsurf modifier on the instancer object which does not have the subsurf modifier. Instead of storing a session UUID and looking up the modifier data, store a point to the subsurf modifier runtime data. Unlike the modifier data, this runtime data is preserved across depsgraph CoW. It must be for the subdiv descriptor contained in it to stay valid along with the draw cache. As a bonus, this moves various Mesh_Runtime variables into the subsurf runtime data, reducing memory usage for meshes not using subdivision surfaces. Also fixes T98693, issues with subdivision level >= 8 due to integer overflow. Differential Revision: https://developer.blender.org/D15184
2022-06-14Fix T98866: GPU subdiv crash in edit mode with loose geometryKévin Dietrich
The BMesh case was missing when extracting the loose edges flags used for display, so the code was crashing on unitialized `MEdge` pointer.
2022-06-13Cleanup: fix various typosBrecht Van Lommel
Found via codespell -q 3 -S ./intern,./extern -L ans,ba,bording,datas,eiter,fiter,hist,inout,lod,ot,parm,parms,pixelx,pres,te Contributed by luzpaz. Differential Revision: https://developer.blender.org/D15155
2022-06-13Fix T98735: GPU subdiv displays normals for all elementsKévin Dietrich
The normals flags were not setup properly which made normals for all elements (vertices, faces) to be drawn when using the normals overlay. Also remove usage of uints for the flag in the APIs.
2022-06-10Cleanup: Clang tidyHans Goudey
2022-06-09Cleanup: use C-style comments, add missing doxy sectionCampbell Barton
2022-06-09Cleanup: spelling in comments & variablesCampbell Barton
2022-06-09Cleanup: formatCampbell Barton
2022-06-09Cleanup: quiet warningsCampbell Barton
2022-06-08Sculpt: PBVH Draw Support for EEVEEJoseph Eagar
This patch adds support for PBVH drawing in EEVEE. Notes: # PBVH_FACES only. For Multires we'll need an API to get/cache attributes. DynTopo support will be merged in later with sculpt-dev's DynTopo implementation. # Supports vertex color and UV attributes only; other types can be added fairly easily though. # Workbench only sends the active vertex color and UV layers to the GPU. # Added a new draw engine API method, DRW_cdlayer_attr_aliases_add. Please review. # The vertex format object is now stored in the pbvh. Reviewed By: Clément Foucault & Brecht Van Lommel & Jeroen Bakker Differential Revision: https://developer.blender.org/D13897 Ref D13897
2022-06-08Curves: use radius of middle point to determine curve shapeJacques Lucke
See {rBb69aad60bda23a53482b2c2ae98715c23a715bc8} for more details.
2022-06-08Cleanup: Remove unnecessary namespace specificationHans Goudey
2022-06-07Cleanup: Use const pointers in attribute APIHans Goudey
2022-06-07Merge branch 'blender-v3.2-release'Clément Foucault
# Conflicts: # source/blender/draw/engines/eevee/shaders/volumetric_vert.glsl
2022-06-07Fix EEVEE: Shader error when using volume temperature or color attributesClément Foucault
This bug was unreported. This was triggering a linking error caused by the vertex shader not having a local version of `attr_load_temperature_post` and `attr_load_color_post`.
2022-06-07Fix T98091: EEVEE: Volume: Crash caused by non-present gridClément Foucault
This was caused by the `copy_m4_m4` trying to copy the `object_to_texture` from `drw_grid` which was `nullptr`. Fixing this also exposed that rendering such volumes (without any valid grid attributes) is not supported and we should follow what Cycles does. Differential Revision: https://developer.blender.org/D15147
2022-06-07Curves: use root/tip radius of the first curve in the viewportJacques Lucke
Viewport drawing does not support a per point radius attribute yet. Instead, it has a fixed set of radius parameters that are used for all curves in the same object. Now those radii are retrieved from the radius attribute of the points on the first curve. This allows users to control the radius of curves to some degree until proper per-point radius is supported.
2022-06-07Cleanup: spelling in comments, minor formatting tweaksCampbell Barton
2022-06-07Cleanup: Correct commentsHans Goudey
2022-06-07Cleanup: Fix missing-braces warning in draw managerSergey Sharybin
Good side effect of the change is that it makes it so that the size of an array is more likely to be calculated at a compile time. More ideally we'll be using bli::Array instead of the bare array, but that is outside of the scope of this change.
2022-06-07Cleanup: spelling in comments, additional white spaceCampbell Barton
2022-06-06Fix Windows compiler errorAntonio Vazquez
This error was introduced in 176d7bcc2eb47b9820861037f90a7fb26de8c9a0 Fix provided by @deadpin
2022-06-05Cleanup: Comments and formatting in mesh extract headersHans Goudey
Also remove accidentally committed WIP commented code.
2022-06-05Cleanup: Move remaining mesh draw code to C++Hans Goudey
After this commit, all mesh data extraction and drawing code is in C++, including headers, making it possible to use improved types for future performance improvements and simplifications. The only non-trivial changes are in `draw_cache_impl_mesh.cc`, where use of certain features and macros in C necessitated larger changes. Differential Revision: https://developer.blender.org/D15088
2022-06-04Cleanup: Use const for retrieved custom data layersHans Goudey
2022-06-03Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich