Age | Commit message (Collapse) | Author |
|
- Merged SEQ_OFSDRAW with V3D_OFSDRAW and define in the
DNA_view3d_types: Due to this FSAA always kicked in making the
rendering slow.
- Removed `Texture Solid` and `DOF`.
- Now when chosing Solid rendering the settings
of the original scene is used.
- Added a global override to use scene specific shading. In the
Future we will need to enhanced this so user can change the
settings.
- Added support for LookDev. LookDev crashed as it needed the
`evil_C` what was not set
- LookDev mode will always show the scene + world lights.
Reviewed By: brecht, fclem
Maniphest Tasks: T62517
Differential Revision: https://developer.blender.org/D4738
|
|
|
|
Was missing a flag from recent refactor.
|
|
Improve selection time since it bypass BM_loops_calc_normal_vcos when mesh
uses auto-smooth.
|
|
Unfortunately it does not concern paint mode.
Related to T63946
|
|
This is a small improvment but is does scale up with the number of objects.
This improvement *does not* speedup geometry update.
|
|
This patch also improve cache locality of the IBO filling. I did not benchmark if it made
any difference.
|
|
|
|
drw_batch_cache_generate_requested() is only needed when the geom needs to be
created.
Went from 37fps to 47fps with artificial testcase (lots of bones with one custom shape). Baseline 2.79 is 24fps.
Also fix the drw_shgroup_bone_custom_wire.
|
|
Fix instancing batches not being reused by custom bone shapes.
Drawing thoses is now faster than 2.79 (40fps instead of 30fps)
|
|
|
|
|
|
Enabling the drawing of the mesh analysis overlay.
Currently the settings are part of the scene toolsettings. What makes sense,
for 3d printing, but does not fit well with the per viewport blender 2.80
overlays.
Reviewers: brecht, fclem
Differential Revision: https://developer.blender.org/D4707
|
|
Force Displist to Mesh conversion if there is any modifier.
This is until we find a better way to store the batches per objects.
Also fix draw cache functions that were not returning final mesh edges.
|
|
|
|
The crash is related to the format, but the real reason is unknown.
|
|
If image buffer is not loaded and blender attempts to reload it (during
`BKE_image_acquire_ibuf`) over and over for each frame rendered.
When attempting this reload, image_load_image_file is calling
`BKE_image_free_buffers` and tag the Image to the (GPU) image_free_queue
(because this run on the rendering thread).
If the main thread decide to redraw the UI and go through `GPU_free_unused_buffers` they all get deleted and if that happens before the rendering thread use them ... segfault.
If I replace the environment textures with correct ones (the file does not seems to contain them), there is no crash when rendering.
I used a list of GPUTexture from blender Image to increase and decrease the
reference counter correctly.
This add very little memory and computation overhead.
|
|
Dependency graph will not be crated for view layers which were never visible.
|
|
|
|
As far as I can tell, there is no technical reason why the B-Bone
segment thickness scaling can't be separated into two axes. The
only downside is the increase in complexity of the B-Bone settings,
but this is inevitable due to the increase in flexibility.
Updating the file is somewhat complicated though, because F-Curves
and drivers have to be duplicated and updated to the new names.
Reviewers: campbellbarton
Subscribers: icappiello, jpbouza
Differential Revision: https://developer.blender.org/D4716
|
|
Currently it is not possible to view the vertex colors of an object. To
optimize the workflow, workbench will need to support Vertex Colors.
The Vertex Colors is a new option in `shading->color_type`. When objects
do not have vertex color, the objects will be rendered with the
`V3D_SHADING_OBJECT_COLOR`.
In order to support vertex colors in workbench the current texture/solid
shading structure is migrated to a primary shaders and fallback shaders.
Fix: T57000
Reviewers: brecht, fclem
Differential Revision: https://developer.blender.org/D4694
|
|
Add braces for modules already using braces almost everywhere.
|
|
Comments after code can cause awkward line breaks.
|
|
|
|
|
|
|
|
This adds user side options to tweak the behavior
of the vbo garbage collection.
|
|
The problem occurs because status changes between BackBuffer and Offscreen.
Reviewers: fclem
Differential Revision: https://developer.blender.org/D4703
|
|
This is only working for shading batches for the moment and only if some Custom data layer are not needed anymore.
The collection rate is hardcoded at 60 sec but could be exposed to the user.
This system can be extended and discard most unused batches in the future.
This commit is in prevision of removing BKE_MESH_BATCH_DIRTY_SHADING when changing shader parameters.
|
|
This is in order to support garbage collection of unused Custom data layer uploaded to the GPU.
Actual Garbage Collection is not added by this commit.
|
|
|
|
|
|
|
|
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
|
|
|
|
Previously B-Bone deformation mapped every vertex to just one
B-Bone segment. This results in abrupt transformation differences
between the sides of each threshold plane, reducing the quality
of B-Bone deformation and making the use of shape keys impractical.
This commit replaces this approach with a linear blend between
the two closest segment transformations, effectively representing
the B-Bone as two weight-blended plain bones for each vertex.
In order to distribute the interpolation more evenly along the
bone, segment matrices for deformation are now computed at points
between the segments and at the ends of the B-Bone. The computation
also uses the true tangents of the Bezier curve for the orientation.
The nodes at the end of the bone require some special handling to
deal with zero-length Bezier handles caused by a zero ease value.
The Copy Transforms constraint now also smoothly interpolates
rotation and scaling along the bone shape when enabled.
The initial version of the patch was submitted by @Sam200.
Differential Revision: https://developer.blender.org/D4635
|
|
Gizmo's now have their own popover in preparation
for making transform gizmos accessible without having to use tools
See: T63518
|
|
this was very similar to T60684 (and the UV case was actually reported
back then as well), so the fix goes hand in hand with rBbd8039399575
Reviewers: fclem
Maniphest Tasks: T63464
Differential Revision: https://developer.blender.org/D4672
|
|
When using subsurf (and other modifiers) the edit flags are not
propagated correctly. Currently we assume to read the edit flags
from the original object which is kind off hinding the real issue.
Modifiers use `mesh_new_nomain_from_template_ex` to create a copy
from an existing mesh. this method is only used by modifiers. So
by placing this we will make sure that editmesh is propagated.
Reviewed By: fclem, sergey
Maniphest Tasks: T62449
Differential Revision: https://developer.blender.org/D4666
|
|
frontside object in 3d-window
Now the depth order of objects when trying to select them is only used when not in X-ray mode.
Before, this was only the case in wireframe mode regardless of X-ray settings.
I've also unified the usage of V3D_XRAY and XRAY_FLAG as they were basically copies of each other.
Reviewed By: Clément
Differential Revision: http://developer.blender.org/D4504
|
|
|
|
The hotspot was generated by mesh_cd_layers_type_overlap who was testing
way more data than it should have.
Here we reduce the whole CD layer mask to a 32bit bitflag that is easily
or'ed and tested.
Bonus point: We use atomic operation to merge the mask in order to allow
future multi-threading. (this was a TODO)
In the scene attached to T58188 this removes 5% of CPU time.
|
|
release_texture_slots() and release_ubo_slots() were one hotspot when
drawing taking ~9% of total CPU counters for no reason.
This was because of the loops using GPU_max_textures that was overkill and
slow.
Replace those by a simple 64bit bitwise OR operation.
|
|
This was making Autumn being half naked.
Issue was introduced by rBe72dc667c4d3
|
|
viewport's bounds.
|
|
The problem was that tangent layers (being computed on demand in the batch
cache generation) were generated but if MR_DATATYPE_LOOPTRI was not present
(in some cases) and the looptri_len was 0, leaving the CDATA layer cleared.
|
|
|
|
|
|
|
|
|