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-11-11Merge branch 'blender-v3.4-release'Jeroen Bakker
2022-11-11Fix T100969: Memory leak GPU subdivision during rendering.Jeroen Bakker
The viewport cleans up old subdivision buffers right after drawing. During rendering this was not done and when rendering many frames this lead to memory issues. This patch will also clear up the GPU Subdivision buffers after any offscreen render or final render. There is already a mutex so this is safe to be done from a non main thread. Thanks to @kevindietrich to finding the root cause.
2022-11-10EEVEE Next: Fix wrong DoF when a non-camera object is the active cameraMiguel Pozo
Related to T101533. Reviewed By: fclem Differential Revision: https://developer.blender.org/D16412
2022-11-09Merge branch 'blender-v3.4-release'Brecht Van Lommel
2022-11-09Fix T100883: crash with particle instancing and clumpingBrecht Van Lommel
Properly initialize clump curve mapping tables for duplis and other cases where this was missed by making a generic init/free function instead of duplicating the same logic in multiple places. Also fold lattice deform init into this.
2022-11-08Merge branch 'blender-v3.4-release'Sergey Sharybin
2022-11-08Fix deprecation warnings about printf() on macOSSergey Sharybin
The new Xcode 14.1 brings the new Apple Clang compiler which considers sprintf unsafe and geenrates deprecation warnings suggesting to sue snprintf instead. This only happens for C++ code by default, and C code can still use sprintf without any warning. This changes does the following: - Whenever is trivial replace sprintf() with BLI_snprintf. - For all other cases use the newly introduced BLI_sprintf which is a wrapper around sprintf() but without warning. There is a discouragement note in the BLI_sprintf comment to suggest use of BLI_snprintf when the size is known. Differential Revision: https://developer.blender.org/D16410
2022-11-07Merge branch 'blender-v3.4-release'Miguel Pozo
2022-11-07 Fix T101533: Wrong DoF when a non-camera object is the active cameraMiguel Pozo
Make sure non-camera data is not casted to a Camera pointer. Solution suggested by Damien Picard (@pioverfour).
2022-11-06Cleanup: Nodes: Use const arguments, avoid recursive iterationHans Goudey
Use the node topology cache and avoid modifying the node tree in a non-threadsafe way to improve the predictability of using the helper function. Replaces the implementation from e0d40471364aafca967b6ebd52.
2022-11-05Cleanup: use bool instead of short for job stop & do_update argumentsCampbell Barton
Since these values are only ever 0/1, use bool type.
2022-11-04Cleanup: Mesh: Remove redundant edge render flagHans Goudey
Currently there are both "EDGERENDER" and "EDGEDRAW" flags, which are almost always used together. Both are runtime data and not exposed to RNA, used to skip drawing some edges after the subdivision surface modifier. The render flag is a relic of the Blender internal renderer. This commit removes the render flag and replaces its uses with the draw flag.
2022-11-04Realtime Compositor: Implement static cache managerOmar Emara
This patch introduces the concept of a Cached Resource that can be cached across compositor evaluations as well as used by multiple operations in the same evaluation. Additionally, this patch implements a new structure for the realtime compositor, the Static Cache Manager, that manages all the cached resources and deletes them when they are no longer needed. This improves responsiveness while adjusting compositor node trees and also conserves memory usage. Differential Revision: https://developer.blender.org/D16357 Reviewed By: Clement Foucault
2022-11-03DRW: Fix incorrect logic in state redundancy checkClément Foucault
Error introduced by rB3c39a3affee7.
2022-11-03Merge branch 'blender-v3.4-release'Clément Foucault
2022-11-03DRW: PointCloud: Fix memset writting non-trivial type std::mutexClément Foucault
This issue might have produced crashes in some cases similar to rBafd30e5e3a77.
2022-11-03Cleanup: DRW: Fix unused parameters warningClément Foucault
2022-11-03DRW: Command: Fix custom group test being always trueClément Foucault
2022-11-03DRW: Add support for clip plane count as part of the draw state.Clément Foucault
This moves the implementation from the View to the draw manager itself. However, this is not its final place and should be moved to the shader create info at some point in the future. For now it is not possible because of possible interaction with the old draw manager codebase.
2022-11-02Refactor: Rename Object->imat to Object->world_to_objectSergey Sharybin
The goal is to improve clarity and readability, without introducing big design changes. Follows the recent obmat to object_to_world refactor: the similar naming is used, and it is a run-time only rename, meaning, there is no affect on .blend files. This patch does not touch the redundant inversions. Those can be removed in almost (if not all) cases, but it would be the best to do it as a separate change. Differential Revision: https://developer.blender.org/D16367
2022-11-01Refactor: Rename Object->obmat to Object->object_to_worldSergey Sharybin
Motivation is to disambiguate on the naming level what the matrix actually means. It is very easy to understand the meaning backwards, especially since in Python the name goes the opposite way (it is called `world_matrix` in the Python API). It is important to disambiguate the naming without making developers to look into the comment in the header file (which is also not super clear either). Additionally, more clear naming facilitates the unit verification (or, in this case, space validation) when reading an expression. This patch calls the matrix `object_to_world` which makes it clear from the local code what is it exactly going on. This is only done on DNA level, and a lot of local variables still follow the old naming. A DNA rename is setup in a way that there is no change on the file level, so there should be no regressions at all. The possibility is to add `_matrix` or `_mat` suffix to the name to make it explicit that it is a matrix. Although, not sure if it really helps the readability, or is it something redundant. Differential Revision: https://developer.blender.org/D16328
2022-10-30Fix T102126 Regression: Grease Pencil: Broken 2D LayeringClément Foucault
This was because `stroke_id` was not using `vertex_start`. But since `vertex_start` is not 1 based like it used to be, we need to add 1 to it to avoid a fragment depth of `0.0` which would be equal to the background and not render.
2022-10-30DRW: Manager: Add possibility to record a framebuffer change inside a passClément Foucault
This is a convenience when one needs to often change the current framebuffer and avoid the overhead of creating many Main/Simple passes.
2022-10-30Fix T102160: Regression: GPencil gradient fill not workingClément Foucault
Was caused by uvs not being sourced from the correct buffer.
2022-10-30DRW: Manager: Allow custom draw command in PassMainClément Foucault
This allows using drawcalls with non default vertex range. These calls will be culled like any other instance by the GPU culling pipeline. But they will not be batched together since the vertex range is part of the group.
2022-10-28Cleanup: formatCampbell Barton
2022-10-26Fix T101925: sculpt color painting not updating with Cycles viewport renderBrecht Van Lommel
* External engines do not use the PBVH and need slower depsgraph updates. * Final depsgraph tag after stroke finishes was missing for sculpt color painting, caused missing updates for other viewports as well as any modifiers or nodes on other objects using the colors.
2022-10-26Sculpt: fix T102067: Set material properly in new pbvh drawJoseph Eagar
Note: Still need to fix PBVH_BMESH.
2022-10-25Cleanup: formatChris Blackbourn
2022-10-25Cleanup: Curves: Remove GPUTexture wrappers for buffer textureClément Foucault
These are unecessary now that we can bind buffers as textures directly.
2022-10-25Fix T102052 GPencil: stroke outline glitches in object modeClément Foucault
Was caused by an extra point per stroke being drawn.
2022-10-25DRW: Pointcloud: Refactor drawing to remove instancingClément Foucault
This change the attribute binding scheme to something similar to the curves objects. Attributes are now buffer textures sampled per points. The actual geometry is now rendered using an index buffer that avoid too many vertex shader invocation. Drawcall is wrapped in a DRW function to reduce complexity of future changes.
2022-10-24GPencil: Fix crash when using circle or rectangle toolClément Foucault
This was caused by a wrongly sized vertex buffer for the stroke buffer.
2022-10-24GPencil: Fix missing fillsClément Foucault
For some reason stroke_id needs to be the triangle index, not the vertex index.
2022-10-24GPencil: Fix regression (part3) with edit mode introduced in rB0ee9282b5c51Clément Foucault
Vertex indexing has not been updated and stroke_start usage was wrong. Update all `stroke_start` usage.
2022-10-24Pencil: Fix regression (part2) with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
`vert_len` was being shadowed and index_min & max wasn't correctly set.
2022-10-24GPencil: Fix regression with stroke buffer introduced in rB0ee9282b5c51Clément Foucault
2022-10-24GPencil: Fix regressions introduced in rB0ee9282b5c51Clément Foucault
Batching was broken / disabled and starting indices were wrong.
2022-10-24GPencil: Fix build errors caused by designated initializer in C++Clément Foucault
2022-10-24GPencil: Use indexed rendering instead of instancesClément Foucault
This allows using instancing in other ways, like resources indexing.
2022-10-24GPencil: Port draw_cache_impl_gpencil.cc to C++Clément Foucault
2022-10-21EEVEE: Fix ill defined blend in cubemap array workaroundClément Foucault
This fixes some firefly issues on corners of the cubemaps where the blending factors would go above 1 or below 0.
2022-10-20Fix T93382: Blender still generates subsurface render passesLukas Stockner
In T93382, the problem was that the Blender-side rendering code was still generating the subsurface passes because the old render pass flags were set, even though Cycles doesn't generate them anymore. After a closer look, it turns out that the entire hardcoded pass creation code can be removed. We already have an Engine API function to query the list of render passes from the engine, so we might as well just call that and create the returned passes. Turns out that Eevee already did this anyways. On the Cycles side, it allows to deduplicate a lot of `BlenderSync::sync_render_passes`. Before, passes were defined in engine.py and in sync.cpp. Now, all passes that engine.py returns are created automatically, so sync.cpp only needs to handle a few special cases. I'm not really concerned about affecting external renderer addons, since they already needed to handle the old "builtin passes" in their Engine API implementation anyways to make them show up in the compositor. So, unless they missed that for like 10 releases, they should not notice any difference. Differential Revision: https://developer.blender.org/D16295
2022-10-19EEVEE: Depth Of Field: Replace ambiguous select with manual checkClément Foucault
This is an attempt to remove a driver bug.
2022-10-19Fix T101896 Eevee: Custom object properties don't work in shader for Curves ↵Clément Foucault
objects Move the material resources binding inside the `DRW_shgroup_curves_create_sub` so that `DRW_shgroup_call_no_cull` extracts the attributes.
2022-10-18Metal: MTLBatch and MTLDrawList implementation.Jason Fielder
MTLBatch and MTLDrawList implementation enables use of Metal Viewport for UI and Workbench. Includes Vertex descriptor caching and SSBO Vertex Fetch mode draw call submission. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D16101
2022-10-17FIX T101445: halo Particles are not working.Jason Fielder
color uniform assignment needing to be changed to ucolor was missed. Ref T101445 Reviewed By: fclem Maniphest Tasks: T101445 Differential Revision: https://developer.blender.org/D16236
2022-10-17Cleanup: spelling in comments, unused arg warningCampbell Barton
2022-10-16Fix T99450: Animated Holdout not updating on frame changeLukas Stockner
Problem here was that layer_collection_objects_sync wasn't called when the holdout property is updated due to frame change, so the changed visibility flag was never applied to ob->base_flag. Turns out there's no real reason to handle the per-object holdout property through the layer system. So, instead of merging both the layer holdout and object holdout into base_flag and checking that from the render engines, only handle the layer holdout (which can't be animated, so no issue here) through base_flag and explicitly also check the object holdout in the render engines.
2022-10-15Cleanup: comment out unused lambda parameterJoseph Eagar