Age | Commit message (Collapse) | Author |
|
|
|
|
|
Set ubo binding after shaderinterface creation as GPU_shaderinterface_create
will call glUniformBlockBinding.
|
|
Found during research of {T77124}. In `build_driver_data` an identical
RNA_path is resolved twice. In stead of resolving it twice this patch
will construct the `property_exit_key` based on the resolution of
`property_entry_key`.
This change isn't noticeable for users. Just a cleanup as it isn't
needed to do the same logic twice.
Reviewed By: Sergey Sharybin
Differential Revision: https://developer.blender.org/D7872
|
|
This patch changes the BVHCache implementation. It will use
a primitive array in stead of the ListBase. The locking is also
changed from a global lock to a per cache instance lock.
The performance of `gabby.blend` available on the cloud increased from 9.7
fps to 10.5 fps.
Reviewed By: Brecht van Lommel
Differential Revision: https://developer.blender.org/D7817
|
|
This patch uses a graph flow scheduler for creating all mesh batches.
On a Ryzen 1700 the framerate of Spring/020_02A.anim.blend went from 10 fps to 11.5 fps.
For each mesh where batches needs to be updated a sub-graph will be added to the task_graph.
This sub-graph starts with an extract_render_data_node. This fills/converts the required data
from Mesh.
Small extractions and extractions that can't be multi-threaded are grouped in a single
`extract_single_threaded_task_node`.
Other extractions will create a node for each loop exceeding 4096 items. these nodes are
linked to the `user_data_init_task_node`. the `user_data_init_task_node` prepares the userdata
needed for the extraction based on the data extracted from the mesh.
Note: If the `lines` and `lines_loose` are requested, the `lines_loose` sub-buffer is created
as part of the lines extraction. When the lines_loose is only requested the sub-buffer is
created from the existing `lines` buffer. It is assumed that the lines buffer is always
requested before or together with the lines_loose what is always the case (see
`DRW_batch_requested(cache->batch.loose_edges, GPU_PRIM_LINES)` in `draw_cache_impl_mesh.c`).
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7618
|
|
|
|
|
|
This remove the complexity of queriying the locations at runtime and
allows for more performance and upfront binding specifications.
The benefit of doing everything at creation time is that we can assign binding
points in a predictable order which is going to be somewhat the same for
every similar shader.
This also rewrite GPU_vertformat_from_shader to not use shaderface.
This is to keep the shaderface simple. If it becomes necessary to not query
the shader after creation (i.e: vulkan?) we could just create the vert
format in advance at compilation for PyGPU shaders.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7879
|
|
This makes it easier to track as well as allowing us to sample the same
texture with different sampling parameters (which should fix the related
T73942 in the long run).
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7831
|
|
|
|
Only use the active face when it's selected.
|
|
|
|
|
|
|
|
New depsgraph code handling drivers was not checking for possible NULL
rna_path, as done everywhere else in code...
|
|
|
|
|
|
|
|
Comment on mode switching cases that are supported,
including the issue from recent regression T77217
which is easy to miss since it's not used in the default key-map.
|
|
Differential Revision: https://developer.blender.org/D7888
|
|
Contributed by howetuft.
Differential Revision: https://developer.blender.org/D7891
|
|
|
|
A new user parameter can be used to shift the shadow terminator
towards the light source. With it, one can hide some of the
artifacts that appear on coarse meshes with smooth shading.
Note that this technique is not engery conserving.
This is based on the work by the Appleseed renderer team.
Differential Revision: https://developer.blender.org/D7634
|
|
Solution suggested by howetuft.
Differential Revision: https://developer.blender.org/D7892
|
|
Differential Revision: https://developer.blender.org/D7890
|
|
Now it matches Eevee, OpenGL and other renderers. Panoramic camera depth passes
are unchanged, and are still distance from the camera center.
|
|
Cause identified by Ray Molenkamp.
|
|
|
|
This code was made obsolete by the changes to the animation editor
scrubbing areas in D4654.
Differential Revision: https://developer.blender.org/D7898
|
|
|
|
This tool is similar to the cloth brush, but it applies the cloth
simulation deformation to the whole mesh in an uniform way. The
simulation can be controlled using the mask to pin vertices and the face
sets to define force action areas.
It uses the same solver as the cloth brush which now no longer depends
on StrokeCache.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D7857
|
|
This Pose Brush origin mode simulates an FK deformation in the entire
model when clicking on the face sets, as they were controls of a fully
rigged character. Combined with the previous Face Sets modes that allow
creating IK chains, the pose brush should now be able to simulate most
of the common rigs deformations.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D7839
|
|
|
|
This was returning the wrong face set in cases where the active vertex
has more than one available face set.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D7858
|
|
The current name isn't very specific about what the operator does.
The operation is more about lining up the edges with the viewport
edges than centering the view.
Differential Revision: https://developer.blender.org/D7866
|
|
The "View Camera Center" operator was not accessible by the new menu search.
Differential Revision: https://developer.blender.org/D7865
|
|
This applies a relatively simple solution for fixing some unintuitive
cases in unit handling.
Currently entering -1m50cm evaluates to -0.5m, and similarly 1'6"
evaulates to just half a foot. So effectively there's an implied + just
between the numbers, which is quite confusing.
This works by adding parentheses so the negative distributes to the
block of values before the next operator.
For example:
| Before | After |
| `-1m50cm + 1m -2m50cm` | `-(1m50cm) + 1m -(2m50cm)` |
| `-4m + 0.5 / -1.1` | `-(4m) + 0.5 / -(1.1)` |
| `-1'6"` | `-(1'6")` |
| `-1e-2cm` | `-(1e-2cm) ` |
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D7813
|
|
|
|
|
|
|
|
Toggling object mode to the previous wasn't working, also resolves a
case when toggling modes would cause an extra, unnecessary mode switch.
Own regression in 5159b8e1eadb3.
|
|
|
|
|
|
Also allow NDOF with loop-cut.
|
|
Also remove unnecessary function return value.
|
|
|
|
Make this consistent with meshes select side of active,
also rename "Under" to "Overlap" as this is confusing since
strips can be considered above/under each other
relative to their channels.
|
|
Avoid mixing different terminologies up,
current frame is used in a majority of Blender.
|
|
|