Age | Commit message (Collapse) | Author |
|
|
|
The default shader could have been requested as deferred and then as non
defered. This could make the shader compilation assert.
|
|
DRW_shgroup_hair_create/DRW_shgroup_material_hair_create
|
|
|
|
|
|
|
|
|
|
Passes of the same type are now chained together and reusing the same
shgroup when possible.
Materials are now always handled as a nodetree compiled shader (GPUMaterial)
even for default materials.
Render passes use a ubo reference to change output pass type instead of
creating a lot of DRWPasses.
# Conflicts:
# source/blender/draw/engines/eevee/eevee_materials.c
|
|
Now calling DRW_pass_draw on material_ps will draw all opaque passes.
Same for depth_ps for opaque prepass.
|
|
|
|
This reduces the number of shader combination. We use the nodetree material
output node shader code to do the alpha comparison.
|
|
|
|
Instancing will draw the same shgroups but with the instancer pass' state.
Chaining (linking) will render multiple passes by just calling DRW_draw_pass
on the first one.
|
|
|
|
|
|
|
|
turned off
Fix T76150
While comparing with the deleted file [1] in the commit [2], saw this
little addition which most probably was added for optimisation.
Removing it fixes the behaviour too.
To test:
- In Viewport Overlays > Guides, uncheck both Grid & Floor.
- Try toggling all three axes individually.
- Z just sticks. X cannot be shown without Y enabled.
[1] https://developer.blender.org/diffusion/B/change/master/source/blender/draw/modes/object_mode.c;9516921c05bd9fee5c94942eb8e38f47ba7e4351
[2] {rB9516921c05bd9fee5c94942eb8e38f47ba7e4351}
Reviewed By: fclem
Maniphest Tasks: T76150
Differential Revision: https://developer.blender.org/D7568
|
|
This was caused by the sRGB viewport changes. The fix is to modify the
alpha values manually. The shader was also missing a srgb fix.
|
|
This was caused by the sRGB viewport changes. The fix is to modify the
alpha values manually.
|
|
|
|
This is not required.
|
|
It didn't work correctly when there in no continuously solved camera
segment (aka there is a single isolated frame with solved camera).
Basically, don't start drawing curve segment until it's known there
is enough points for at least one segment.
On user level it seemed to be fine, but it was assert failure in
debug builds.
|
|
|
|
|
|
When projection painting a dense mesh a face can be marked
PROJ_FACE_DEGENERATE when it is too small. Degenerative faces are
handled differently and as documented can create incorrect results.
Not sure what these incorrect results are and if there could be a better
solution for handling these results.
This fix would only mark a face degenerative when all the verts are the
same.
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D7662
|
|
When projection painting a dense mesh a face can be marked
PROJ_FACE_DEGENERATE when it is too small. Degenerative faces are
handled differently and as documented can create incorrect results.
Not sure what these incorrect results are and if there could be a better
solution for handling these results.
This fix would only mark a face degenerative when all the verts are the
same.
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D7662
|
|
In some cases blender could freeze. When threads are blocked (waiting for other tasks completion) the scheduler can let the thread perform a different task. If this task wants a write-lock for something that was read-locked in the stack a dead lock will happen.
For task pools every task is isolated. For range tasks the inner loop will be isolated. The implementation is limited as isolation in TBB uses functors which are tricky to add to a C API. We decided to start with a simple and adapt were we need to.
During testing we came to this setup as it was reliable (we weren't able to let it freeze or crash) and didn't had noticeable performance impact.
Reviewed By: Brecht van Lommel
Differential Revision: https://developer.blender.org/D7688
|
|
The issue was that we used GL_ALWAYS for depth checking here which would
lead to the depth information from objects being messed up.
It would not represent which object was closest to the camera.
Reviewed By: Clément Foucault, Jeroen Bakker, Campbell Barton
Differential Revision: http://developer.blender.org/D7710
|
|
When setting the Viewport Anti-Aliasing samples in the user preferences
to a lower sample count the anti-aliasing was not reset. This lead to
incorrect result as the accum buffer would still hold the values of the
larger sample count.
This fix resets the TAA when the sample count is changed.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7728
|
|
When using an external render engine Blender will still draw an OpenGL
depth buffer for the overlay engine to work correctly. Particle systems
were ignored, what lead to occluded hair and other artifacts.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7730
|
|
The Region loop was not required.
|
|
When sculpting the GPU batches are constructed with only the required data
for a single viewport. When that viewport changes shading or coloring mode (object
to vertex) batches might not hold all the needed information.
There is also a case when you have two 3d viewport one in object color
mode and the other in vertex color mode that the GPU batches were
updated without any vertex colors.
In order to fix these category of issues this patch would always
construct the full GPU batches for sculpting.
Reviewed By: Clément Foucault, Pablo Dobarro
Maniphest Tasks: T75908
Differential Revision: https://developer.blender.org/D7701
|
|
|
|
|
|
Better to use more general term since in theory these forces can be used for smoke and liquid.
|
|
At the time of checking, the previous type isn't the last key pressed.
|
|
|
|
Avoid noisy diff's & conflicts.
|
|
|
|
|
|
|
|
Also fixes files not being tagged as modified with zero undo steps.
|
|
|
|
|
|
|
|
Set boundbox_seq start X minimum value to SFRA.
This should be part of rBf66b5edf98c9, but I forgot to include this change.
|
|
|
|
|
|
compositor
|
|
|