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-01-28Merge branch 'master' into temp-gpu-image-enginetemp-gpu-image-engineClément Foucault
2022-01-28GPUShader: Abort in case of dependency issues.Clément Foucault
This is to avoid being flooded with compilation errors that are not helpful.
2022-01-27BLI_float4x4: Add operator[]Clément Foucault
This makes porting existing code using `float[4][4]` easier.
2022-01-27Outliner: avoid creating unnecessary undo stepsGermano Cavalcante
The `OUTLINER_OT_item_activate` operator, although it detects when something changes, always returns `OPERATOR_FINISHED` and thus induces the creation of undo steps. So return `OPERATOR_CANCELLED` when nothing changes. Ref T94080 Reviewed By: Severin Maniphest Tasks: T94080 Differential Revision: https://developer.blender.org/D13638
2022-01-27DRW: Fix some issues with DRW_gpu_wrapper.hhClément Foucault
- Fix assert on size. - Fix void * casting. - Pass extent by values. - Add swap function to avoid letting the types copyable. - Add back the GPUTexture * operator on TextureFromPool.
2022-01-27UX: Prevent click-through panels and used header areaJulian Eisel
Does two main changes: * Handle regions in the order as visible on screen. Practically this just means handling overlapping regions before non-overlapping ones. * Don't handle any other regions after having found one containing the mouse pointer. Fixes: T94016, T91538, T91579, T71899 (and a whole bunch of duplicates) Addresses: T92364 Differential Revision: https://developer.blender.org/D13539 Reviewed by: Campbell Barton
2022-01-27Event System: Add debug sanity check "always pass" eventsJulian Eisel
Asserts that such events actually always lead to a handler return value that actually keeps the event passing. Reviewed by Campbell Barton as part of https://developer.blender.org/D13539.
2022-01-27Revert "Cleanup: Remove unused variables in winstuff.c"Ray Molenkamp
This reverts commit 32a96b80a349f30a878d82aaa1ed1ed574cef277. this needed an ifdef, not a removal, will land a proper fix later
2022-01-27Fix T95202: Curve to mesh node inconsistent edge vertex orderHans Goudey
Though the edge vertices aren't really meant to have an order, it can make a difference in operations when there isn't any other information to make decisions from, like etruding a circle of loose edges (the situation in the report). This commit changes the order of the vertices in the final cyclic edge to go in the same direction as all of the other edges.
2022-01-27Fix T95212: Mirror modifier normals crashHans Goudey
The vertex and face normals from the input mesh were used to calculate the normals on the result, which could cause a crash because the result should be about twice as large. Also remove an unnecessary dirty tag, since it is handled automatically when creating a new mesh or in the case of the mirror modifier, when calculating the new custom face corner normals.
2022-01-27Cleanup: Clang tidyHans Goudey
Use nullptr, use named parameters, fix deprecated header
2022-01-27Fix T95062: Outliner Library Overrides not refreshed when removing overrides.Bastien Montagne
Those operations were missing the necessary notification for the Outliner. This was also affecting RNA API of liboverrides.
2022-01-27Fix: Complete transfer attribute input renamingHans Goudey
Complete the renaming from 6a16a9e661f134be3f2 to include variable names and warning messages.
2022-01-27Cleanup: Remove unused variables in winstuff.cRay Molenkamp
This clears up 4 unused variable warnings coming from BLI_windows_register_blend_extension
2022-01-27Fix T85233: Transfer Weights tooltip is wrong.Bastien Montagne
Swap "active" and "selected" in the tooltip if the `use_reverse_transfer` option is activated. Reviewed By: mont29 Maniphest Tasks: T85233 Differential Revision: https://developer.blender.org/D13499
2022-01-27DRW: Fix DRW_gpu_wrapper.hhClément Foucault
The UBYTE datatype is not supported by the clear fallback. Also fix vector types headers.
2022-01-27Fix T93766: 'New Collection' entry in 'Move to collection' menu is not ↵Yevgeny Makarov
translated. Also fixes similar issues regarding some liboverride menu entries. Reviewed By: mont29 Maniphest Tasks: T93766 Differential Revision: https://developer.blender.org/D13513
2022-01-27GLFramebuffer: Add assert to check if framebuffer has the expected dataClément Foucault
It came to light that there is no error checking when trying to read a framebuffer plane without anything attached to it.
2022-01-27USD Preview Surface material export.Michael Kowalski
Add `USD Preview Surface From Nodes` export option, to convert a Principled BSDF material node network to an approximate USD Preview Surface shader representation. If this option is disabled, the original material export behavior is maintained, where viewport setting are saved to the Preview Surface shader. Also added the following options for texture export. - `Export Textures`: If converting Preview Surface, export textures referenced by shader nodes to a 'textures' directory which is a sibling of the USD file. - `Overwrite Textures`: Allow overwriting existing texture files when exporting textures (this option is off by default). - `Relative Texture Paths`: Make texture asset paths relative to the USD. The entry point for the new functionality is `create_usd_preview_surface_material()`, called from `USDAbstractWriter::ensure_usd_material()`. The material conversion currently handles a small subset of Blender shading nodes, `BSDF_DIFFUSE`, `BSDF_PRINCIPLED`, `TEX_IMAGE` and `UVMAP`. Texture export is handled by copying texture files from their original location to a `textures` folder in the same directory as the USD. In-memory and packed textures are saved directly to the textures folder. This patch is based, in part, on code in Tangent Animation's USD exporter branch. Reviewed By: sybren, HooglyBoogly Differential Revision: https://developer.blender.org/D13647
2022-01-27Fix crash on older platform due to unsupported clear commandClément Foucault
Clearing using GPU_texture_create_2d for unorm texture needs to use GPU_DATA_FLOAT to match the conversion requirements.
2022-01-27Cleanup: Fix const correctness warningClément Foucault
2022-01-27Cleanup: Add more const correctness to some functionsClément Foucault
These are functions that are used by eevee-rewrite which has more strict const correctness.
2022-01-27Fix mergeClément Foucault
2022-01-27Merge branch 'master' into temp-gpu-image-engineClément Foucault
# Conflicts: # source/blender/blenkernel/CMakeLists.txt # source/blender/draw/CMakeLists.txt
2022-01-27GPUShaderCreateInfo: Add optionnal check for optimized out resourcesClément Foucault
This opt-in functionnality enabled developper keep track of unused resources present in the `GPUShaderCreateInfo` descriptors of their shaders. The output is pretty noisy at the moment so we do not enforce its usage.
2022-01-27GPUShaderCreateInfo: Remove push_constant indexingClément Foucault
This is too much impractical and offers no real benefit.
2022-01-27Geometry Nodes: String to Curves Line/Pivot PointErik
Adds two new attribute outputs: "Line" outputs the line number of the character. "Pivot Point" outputs the selected pivot point position per char. Some refactoring of the text layout code. Differential Revision: https://developer.blender.org/D13694
2022-01-27Cleanup: Workbench: Remove extern shader stringsClément Foucault
This is not needed anymore with the new dependency system.
2022-01-26Cleanup: Move specific node tree execution functions into respective moduleAaron Carlisle
`node_exec` had some code that was specific to texture/shader nodes. These functions arent used outside there module so limit there declarations. Also make a function static that is only used in `node_exec.c` Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D13899
2022-01-26Geometry Nodes: Add or improve various socket descriptionsHans Goudey
2022-01-26Cleanup: Remove RNA data from TreeElement, get via type specific classJulian Eisel
The `TreeElement.rnaptr` was only needed for RNA tree-elements. Now it can be gotten through the new type specific classes, e.g. `TreeElementRNAProperty.getPointerRNA()`.
2022-01-26Cleanup: Improve function name, introduced in own recent commitJulian Eisel
I prefer it this way around now, especially since I'm adding a `getPointerRNA()` too. Good to keep it match the actual struct names.
2022-01-26Cleanup: Small improvements to Outliner RNA path build functionJulian Eisel
Smaller cleanups to improve readability of a complex function.
2022-01-26Fix incorrect index-key in RNA path built from OutlinerJulian Eisel
Bug introduced in 7cbcfb7f492d.
2022-01-26Cleanup: Reduce `void *` reliance of new RNA C++ Outliner elementsJulian Eisel
Continuation of the previous commit, this time addressing the same for RNA tree-elements.
2022-01-26Cleanup: Reduce `void *` reliance of new sequencer C++ Outliner elementsJulian Eisel
Plan is to remove things like `TreeElement.directdata` and to instead expose specific queries in the new type specific tree-element classes. e.g. like here: `TreeElementSequence.getSequence()` For now uses `tree_element_cast<>()` to get the new type specific tree-element, later these should replace `TreeElement` all together.
2022-01-26Outliner: Function to "cast" C-style TreeElement to typed C++ pendantJulian Eisel
Add function to safely request the type-specific C++ element from a C-style `TreeElement`. Looks like this: ``` TreeElementFoo *te_foo = tree_element_cast<TreeElementFoo>(te); ``` The "cast" will return null if the tree-element doesn't match the requested type. This is useful for the transition from the C-style type to the new ones.
2022-01-26Outliner: Port sequencer elements to new tree-element designJulian Eisel
Continuation of work started in 2e221de4ceee and 249e4df110e0. Adds new tree-element classes for sequences, strips and strip duplicates.
2022-01-26Outliner: Add missing sanity checks for RNA tree-elementsJulian Eisel
Forgot to add these in 9bce134e56c2. Also tweaked assert to print a message that was previously communicated via a comment only.
2022-01-26DRW: Fix builtin uniform name mismatchClément Foucault
This lead to severe unreported regression, like volume rendering broken in workbench.
2022-01-26Cleanup: GPUShaderShared: Complete vector supportClément Foucault
Move some declaration from `GPU_shader_shared.h` to the main common file and add missing vector declarations.
2022-01-26GPUShader: Add GLSL source modification pass to support enumsClément Foucault
This uses a light parser / string modification pass to convert C++ enum declaration syntax to GLSL compatible one. GLSL having no support for enums, we are forced to convert the enum values to a series of constant uints. The parser (not really one by the way), being stupidly simple, will not change anything to the values and thus make some C++ syntax (like omitting the values) not work. The string replacement happens on all GLSL files on startup. I did not measure significant changes in blender startup speed. There is plans to do all of this at compile time. We limit the scope of the search to `.h` and `.hh` files to prevent confusing syntax in `.glsl` files. There is basic error reporting with file, line and char logging for easy debuggabiliy. The requirements to use this enum sharing system are already listed in `gpu_shader_shared_utils.h` and repeated on top of the preprocessor function.
2022-01-26BLI_string_ref: Add back missing rfind()Clément Foucault
Must have been removed in a bad merge or something.
2022-01-26Fix T95222: Crash selecting vertices with modifier applied on cageSergey Sharybin
Caused by 0f89bcdbebf where it was needed for cage and evaluated mesh to have same behavior in respect of having edit_mesh pointer assigned. This change makes it so that edit_data is not implied to exist when the edit_mesh pointer is not null. This was already the case in some other code.
2022-01-26LibOverride: Resync: Do not process overrides that should already have been ↵Bastien Montagne
resynced. Those cases are almost always synptoms of either bug in code, or broken files. Re-doin resync on them only costs time and causes extra trash data as a result, without really helping in any way.
2022-01-26Fix (unreported) missing 'override-exclusion' flag on new RNA mesh data ↵Bastien Montagne
accessors. Both new normals (from rBb7fe27314b25) and vpaint (from rBf7bbc7cdbb6c) RNA arrays were missing the `PROPOVERRIDE_IGNORE`. Those huge blobs of geometry data should never be processed by liboverride code.
2022-01-26Assets: enable node group assetsJacques Lucke
This enables support for node group assets. Previously, node group assets only worked when the "extended asset browser" experimental features is enabled. Differential Revision: https://developer.blender.org/D13748
2022-01-26Assets: allow creating preview image by rendering active objectJacques Lucke
For node groups there is no good default preview generation. Nevertheless, t would be useful to generate a preview image for a node group by rendering an object in some cases. This commit adds a new operator that allows updating the preview image for the active asset by rendering the active object. Note, the operator can also be used for other asset types, not just node groups. The operator can be found in a menu right below the refresh-preview button. Currently it is the only operator in that menu. In the future, more operators to create previews may be added. Differential Revision: https://developer.blender.org/D13747
2022-01-26Fix T94900: Fix drawing artifacts sequencer+node editor.Jeroen Bakker
The VSE and node editor only uses an overlay buffer to draw to the screen. The GPUViewport assumes that platforms clears all textures during creation, but they do not on selected platforms. What would lead to drawing from uncleared memory. This patch fixes this by clearing all viewport textures during creation.
2022-01-26D13910: Workbench: Port shaders to use GPUShaderCreateInfoClément Foucault
Also adds a few things to GPUShader for easily create shaders. Heavy usage of macros to compose the createInfo and avoid duplications and copy paste bugs. This makes the link between the shader request functions (in workbench_shader.cc) and the actual createInfo a bit obscure since the names are composed and not searchable. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D13910