Age | Commit message (Collapse) | Author |
|
Small mistake in rB5249a813f22f
Now for fix it real!
|
|
The cache key for particle system was the original Object data. But this
is incorrect for particle systems as modifiers are not shared.
|
|
Was caused by rBd82c3d86155e
|
|
|
|
This was due to the new DRWShadingGroup not being saved and reused for
the next objects.
|
|
In Blender 2.90 EEVEE materials were refactored that introduced crashes on Intel
GPUs on Windows. The crash happened in the `local_context_workaround` that temporary
stored compiled materials in a binary form to reload it in the main GL context.
It has been tested that the workaround isn't needed anymore for HD6xx GPUs, but it
is still needed for HD4000.
After several unsuccesfull fixes we came to the conclusion that we could not support
the local context workaround and needed to come with a different workaround. The idea
of this patch is that in these cases there is only a single context that is used for
rendering. Threads that uses these contextes are guarded by a mutex and will block.
Impact on User Level:
* Due to main mutex lock the UI freezes when rendering or baking or feel less snappy
Reviewed By: Clément Foucault, Brecht van Lommel
Differential Revision: https://developer.blender.org/D8410
|
|
|
|
Some implementation have different maximum texture size.
This patch avoid crash when texture allocation fails when:
- trying to bake a lightcache too big for the OpenGL imeplementaion.
- loading a cache from file that is too big for the OpenGL imeplementation.
|
|
It seems to be expected that the render engine reset to the right CFRA
if it modifies it.
|
|
|
|
|
|
Also order return matrices last.
|
|
|
|
|
|
This is to match the option name and to avoid confusion with
workbench xray mode.
|
|
leads to crash
|
|
When bl_use_gpu_context is set, an OpenGL context will be available for
OpenGL based render engines.
Differential Revision: https://developer.blender.org/D8305
|
|
This wasn't added back from 2.7x, making "Recenter Hook" applier to
do nothing.
|
|
This matches similar functionality for drawing lines.
|
|
|
|
This also remove some non functionnal state changes that were left
from legacy code.
|
|
|
|
|
|
And move it to GPU module.
|
|
When using link duplicated objects it could happen that one object is
calculating the GPUBuffers and the second object is marking these
buffers invalid. This introduces threading issues.
This patch fixes this by combining the surface and surface per material
batches. Most likely the surface per material batches are used and when
requested you will most likely need the surface batch for the depth
tests and overlays.
During tests it slightly improves performance as batches aren't thrown
away without using it.
After this patch we can add a quick path for meshes with one material
and two materials.
Alternative approaches that have been checked:
- sync extraction per object: reduced performance to much (-15%)
({D8292})
- post checks: reduced the threading issues, but didn't solve it.
- separating preparation and execution of the extraction ({D8312})
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8329
|
|
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D8328
|
|
|
|
|
|
|
|
|
|
Now that binds are permanent there is no need to setup the same
texture for each subgroups.
|
|
|
|
|
|
Also includes outline overlays. Removes the temp overlay drawing
We make the geometry follow camera like billboards this uses less
geometry. Currently we use half octahedron for now. Goal would be
to use icospheres.
This patch also optimize the case when pointcloud has uniform radius.
However we should premultiply the radius prop by the default radius
beforehand to avoid a multiplication on CPU.
Using geometry instead of pseudo raytraced spheres is more scalable as
we can render as low as 1 or 2 triangle to a full half sphere and can
integrate easily in the render pipeline using a low amount of code.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8301
|
|
|
|
|
|
|
|
Copied from eevee bsdf_common_lib.glsl
|
|
This adds the opportunity to use it in multiple places.
|
|
|
|
Some convenience function for using DRWShaderLibrary.
|
|
This will remove some code duplication between draw engines.
|
|
The vertex colors node was using the M_COL attribute type but Sculpt
Vertex Colors use CD_PROP_COLOR
Now the Vertex Color node also fallbacks to legacy vertex colors if
Scultp Vertex Colors are not enabled as experimental.
Reviewed By: brecht
Maniphest Tasks: T78369
Differential Revision: https://developer.blender.org/D8185
|
|
Quiet ASAN 'member access within null pointer' warning.
While this doesn't crash, access to 'shading'
without checking if the 'v3d' would have.
|
|
|
|
When the view isn't updated the renderpass thought that it was rendering
the next sample, skipping the conversion from encoded to blender
normals.
This patch resets the current sample when only rendering single sample
layers.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8280
|
|
Sculpt vertex colors changed the `DRW_MeshCDMask` from 4 bytes to 8 bytes, but
the functions assumed it still was 4 bytes. This patch updates the functions and
adds a compile time check.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8215
|
|
Clang Tidy reported a couple of false positives. I disabled
those `NOLINTNEXTLINE`.
Differential Revision: https://developer.blender.org/D8199
|
|
Loop over faces and calculate their centers instead of zeroing the
face center array and accumulating all faces vertex corners.
Move subsurf face center extraction into it's own loop since it works
differently.
|
|
This disables all Sculpt Vertex Colors tools, operators, panels and rendering capabilities and puts them under the "Use Sculpt Vertex Colors" experimental option.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8239
|