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-05Cleanup: spelling in commentsCampbell Barton
2022-05-04Nodes: Add general Combine/Separate Color nodesHallam Roberts
Inspired by D12936 and D12929, this patch adds general purpose "Combine Color" and "Separate Color" nodes to Geometry, Compositor, Shader and Texture nodes. - Within Geometry Nodes, it replaces the existing "Combine RGB" and "Separate RGB" nodes. - Within Compositor Nodes, it replaces the existing "Combine RGBA/HSVA/YCbCrA/YUVA" and "Separate RGBA/HSVA/YCbCrA/YUVA" nodes. - Within Texture Nodes, it replaces the existing "Combine RGBA" and "Separate RGBA" nodes. - Within Shader Nodes, it replaces the existing "Combine RGB/HSV" and "Separate RGB/HSV" nodes. Python addons have not been updated to the new nodes yet. **New shader code** In node_color.h, color.h and gpu_shader_material_color_util.glsl, missing methods hsl_to_rgb and rgb_to_hsl are added by directly converting existing C code. They always produce the same result. **Old code** As requested by T96219, old nodes still exist but are not displayed in the add menu. This means Python scripts can still create them as usual. Otherwise, versioning replaces the old nodes with the new nodes when opening .blend files. Differential Revision: https://developer.blender.org/D14034
2022-05-04Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich
2022-05-04Fix T97827: material preview not displaying texturesKévin Dietrich
Caused by rB281bcc1c1dd6 which did not properly made use of `vec4` for UVs which are now loaded as attributes.
2022-05-04Merge branch 'blender-v3.2-release'Campbell Barton
2022-05-04License headers: add missing license headersCampbell Barton
Add missing license headers based on files in the same directory.
2022-05-03Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich
2022-05-03Fix T93179: geonodes UVs and Vertex colors do not work in EEVEEKévin Dietrich
Overwriting UV map or vertex color data in Geometry nodes will move the layers to another CustomData channel, and as such, will make attribute lookup fail from the UVMap and Vertex Color nodes in EEVEE as the CustomDataType will also be modified (i.e. no longer `CD_MTFACE` or `CD_MCOL`). As discussed in T93179, the solution is to use `CD_PROP_AUTO_FROM_NAME` so that the render engine is able to find the attributes. This also makes EEVEE emulate Cycles behaviour in this regard. `attr_load_uv` and `attr_load_color` are also removed in favor of the generic attribute API in the various GLSL shaders. Although `CD_PROP_AUTO_FROM_NAME` is now used even for UV maps, the active UV map is still used in case the attribute name is empty, to preserve the old behavior. Differential Revision: https://developer.blender.org/D13730
2022-05-03Cleanup: spelling in commentsCampbell Barton
2022-05-02GPU: Remove OCIO workaround for Apple.Jeroen Bakker
OCIO shader was ported to use GPUShaderCreateInfo a while ago. That made this workaround not needed anymore. Best to remove it before the release.
2022-05-02EEVEE: Rewrite: Implement nodetree support with every geometry typesClément Foucault
This commit introduce back support for all geometry types and all nodetree support. Only the forward shading pipeline is implemented for now. Vertex Displacement is automatically enabled for now. Lighting & Shading is placeholder. Related Task: T93220 # Conflicts: # source/blender/draw/engines/eevee_next/eevee_engine.cc # source/blender/gpu/CMakeLists.txt
2022-05-02Cleanup: GPUBuiltinShader: Remove old shader interfacesClément Foucault
This leaves some of the unresolved case where we still need both implementation.
2022-05-02Cleanup: GPUShader: Make style consistent in builtin_shader_stagesClément Foucault
2022-05-02GPUShader: Remove GPU_SHADER_INSTANCE_VARIYING_COLOR_VARIYING_SIZEClément Foucault
This had only one use and it was for debugging. Remove the shader for now. This also simplifies the debug drawing even if slower.
2022-05-02GPUShader: Port 3D uniform color clipped shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-02GPUShader: Port dashed line shaders to use shaderCreateInfoClément Foucault
This should have no functional changes. This reduce the complexity of the shader by only supporting 2 colors. We never use more than 2 color in practice and this makes usage not require a UBO.
2022-05-02GPUShader: Port polyline shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01GPUShaderCreateInfo: Add validation for overlapping vertex attributeClément Foucault
Those are usually not supported but some driver silently fix them and most just silently fail (rendering error).
2022-05-01GPUShader: Port 2D widget shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01GL: Add attribute-less shader workaround for MacOS to the backendClément Foucault
This workaround and the issue was described in D4490. This makes sure any shader using `shaderCreateInfo` will benefit from the same workaround.
2022-05-01Basic Engine: Port depth shader (object selection) to shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port sculpt mask shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port wireframe shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port facing shader to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port background shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-05-01Overlay: Port outline shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-30Overlay: port paint shaders to use 'GPUShaderCreateInfo'Germano Cavalcante
Simple port. Also a description of how each shader is used has been added. NOTE: The shader created using `OVERLAY_shader_paint_vertcol` cannot be tested. Apparently it is created but not used. Reviewed By: fclem Differential Revision: https://developer.blender.org/D14812
2022-04-30Overlay: Port edit uv shaders to use shaderCreateInfoClément Foucault
This should have no functional changes. Removed `antialiasing_vert.glsl` becaus it was actually a duplicate of `common_fullscreen_vert.glsl`.
2022-04-30Overlay: Port volume shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-29Overlay: Port extra shaders to use shaderCreateInfoClément Foucault
This should have no functional changes.
2022-04-29Select Engine: port shader to use 'GPUShaderCreateInfo'Germano Cavalcante
Simple port with a few cosmetic changes: - Attribute named "color" for indices VBO is now called "index" - The indices VBO is now composed of `int`s instead of `uint`s (this simplifies the source) Differential Revision: https://developer.blender.org/D14800
2022-04-29GLState: Avoid possible undefined behavior in state comparisonClément Foucault
The bitwise XOR used to compute the delta (`changed`) might produce NaN and thus produce undefined behavior when comparing to another float (because of float promotion).
2022-04-29shader_builder: fix build issue on windowsRay Molenkamp
shader_builder had no manifest set, leading to the classic common control version being loaded which in turn caused an import error and made the executable fail to initialize.
2022-04-28Overlay: Port Grid shader to shaderCreateInfo and other code cleanupClément Foucault
Along with the port to createInfo this also: - Packs constant uniforms in a UBO. - Share enum declaration and unify names - Makes codeflow easier to undestand. - Split grid data to its own struct. # Conflicts: # source/blender/draw/engines/overlay/overlay_grid.c
2022-04-28Cleanup: spelling in commentsCampbell Barton
Also use back-slashes for doxy commands.
2022-04-28Cleanup: unbalanced doxy sections, add some sectionsCampbell Barton
2022-04-28Cleanup: formatCampbell Barton
2022-04-28GPUMaterial: Rework the deferred compilation to not use double locksClément Foucault
This uses refcounter instead of double thread mutexes. This should be more robust and avoir use after free situation. Also remove redundant structures and the use of scene as the job owner.
2022-04-28GPUMaterial: Use GPU_MAT_CREATED as a defaultClément Foucault
2022-04-27GPUCodegen: Fix broken materials after rB478eb3a0e6edClément Foucault
2022-04-27GPUCodegen: Keep copy of attribute name in the GPUCodegenCreateInfoClément Foucault
This is to avoid use after free when the `GPUPass` gets compiled after the original `GPUMaterial` used to create it was freed. The issue was introduced by rBfa3bd17ae873
2022-04-27GPUCodegen: Use spin lock to protect the pass refcounter.Clément Foucault
This is not performance critical so using the same global lock should not pose any issue.
2022-04-27Metal: MTLTexture core implementation for Metal backend, with minimal ↵Clément Foucault
surrounding functionality. This covers implementation of the GPUTexture abstraction for the Metal backend, with additional utility functionality as required. Some components have been temporarily disabled pending dependencies on upcoming Metal backend components, and these will be addressed as the backend is fleshed out. One core challenge addressed in the Metal backend is the requirement for read/update routines for textures. MTLBlitCommandEncoders offer a limited range of the full functionality provided by OpenGLs texture update and read functions such that a series of compute kernels have been implemented to provide advanced functionality such as data format conversion and partial/swizzled component updates. This diff is provided in full, but if further division is required for purposes of code review, this can be done. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14543
2022-04-20GL: Change array macro to not conflict with opensubdiv variable namesClément Foucault
Fix T97449 GPU subdivision: Crash on adding subdivision surface modifier
2022-04-20Cleanup: Rename CD_MLOOPCOL to CD_PROP_BYTE_COLORHans Goudey
The "PROP" in the name reflects its generic status, and removing "LOOP" makes sense because it is no longer associated with just mesh face corners. In general the goal is to remove extra semantic meaning from the custom data types.
2022-04-20Cleanup: spelling in commentsCampbell Barton
2022-04-20Cleanup: clang-formatCampbell Barton
2022-04-20Cleanup: unused argument warningCampbell Barton
2022-04-19GPU: Fix Adresse Sanitizer errorsClément Foucault
2022-04-19Cleanup: GPUMaterial: Remove GPU_material_is_volume_shaderClément Foucault