Age | Commit message (Collapse) | Author |
|
Rigify uses a property group to contain options of its rigs, so
currently it is impossible to use Alt-Click or Copy To Selected
to change a setting for multiple rigs at the same time.
The main problem here is that there is no efficient way to find
which bone the property group belongs to. To maintain performance,
implement this by checking the active bone if it is known. Copy
Data Path and related features still don't work, as data path
calculation can't use context.
Differential Revision: https://developer.blender.org/D6264
|
|
Also fix sculpt mask inverted
|
|
The closest target is calculated only after a snap point is found.
So use `center_global` while the target is not calculated.
|
|
The function armature_vert_task had a special case for Vertex Paints in Grease Pencil data. This patch
removes this special case. Not sure why it was needed in the first place.
Reviewed By: antoniov
Maniphest Tasks: T70378
Differential Revision: https://developer.blender.org/D6348
|
|
|
|
|
|
|
|
Now when change the setting the strokes are recalculated.
To do this, it was necessary to move the UV recalc to BKE module in order to share with Draw Engine. If the recalc it was done in draw engine, the factor was only calculated for evaluated version and there was a problem when draw a new sytroke.
Now, the RNA parameter recalc the original datablock instead of tag for be calculated in Draw Engine.
|
|
Fix for T72136: Bounding boxes were still drawn even with disabled
overlays. Also the outline displayed the original mesh
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D6350
|
|
This is used for scrolling which wasn't obvious.
|
|
- Margins used duplicate define between files.
- Cursor selection ignored margins.
- Cursor wasn't scaling with DPI.
Add a 'draw_rect' member which is the region rect with margins applied
to make these checks clearer.
This resolves issue pointed out in D6300,
which complicated further refactoring.
|
|
To do this we do a half pixel offset in the normal direction.
However, we use the shading vertex normal instead of the geometric normal
(for speed) and this leads to imprecisions.
So we try to mitigate the common case and leave the corner cases as is.
|
|
|
|
Instead of relying on undefined behavior to discard the line, we put the
vertex at the camera origin so that interpolation does not produce any
fragment. We don't use FLT_MAX as it also gives unpredicatble results on
NVidia.
|
|
|
|
|
|
|
|
Change made in recent show marker refactor dc87d09b8b324
On writing docs the term "Show" makes more sense.
|
|
|
|
This fixes the limitation of OSX not allowing glLineWidth with size > 1.0.
This however only fix the viewport wire drawing.
|
|
This Simplify and should also speedup the drawing a tiny bit.
We now discard the edges in the vertex shader by setting one of the verts
at vec4(0,0,0,0) to not produce any fragment
|
|
Caused when the vertices index is dirty due to some mesh editing
operation like Extrude
|
|
This is the unification of all overlays into one overlay engine as described in T65347.
I went over all the code making it more future proof with less hacks and removing old / not relevent parts.
Goals / Acheivements:
- Remove internal shader usage (only drw shaders)
- Remove viewportSize and viewportSizeInv and put them in gloabl ubo
- Fixed some drawing issues: Missing probe option and Missing Alt+B clipping of some shader
- Remove old (legacy) shaders dependancy (not using view UBO).
- Less shader variation (less compilation time at first load and less patching needed for vulkan)
- removed some geom shaders when I could
- Remove static e_data (except shaders storage where it is OK)
- Clear the way to fix some anoying limitations (dithered transparency, background image compositing etc...)
- Wireframe drawing now uses the same batching capabilities as workbench & eevee (indirect drawing).
- Reduced complexity, removed ~3000 Lines of code in draw (also removed a lot of unused shader in GPU).
- Post AA to avoid complexity and cost of MSAA.
Remaining issues:
- ~~Armature edits, overlay toggles, (... others?) are not refreshing viewport after AA is complete~~
- FXAA is not the best for wires, maybe investigate SMAA
- Maybe do something more temporally stable for AA.
- ~~Paint overlays are not working with AA.~~
- ~~infront objects are difficult to select.~~
- ~~the infront wires sometimes goes through they solid counterpart (missing clear maybe?) (toggle overlays on-off when using infront+wireframe overlay in solid shading)~~
Note: I made some decision to change slightly the appearance of some objects to simplify their drawing. Namely the empty arrows end (which is now hollow/wire) and distance points of the cameras/spots being done by lines.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6296
|
|
This is a revert of a small fraction of commit rB5e332fd700
that introduced the issue according to bisect.
Doing a break here is wrong, because BKE_crazyspace_build_sculpt
assumes that processing stopped at the first deform modifier
without deformMatrices, and thus skips all modifiers until it
finds one like that. Thus this early loop exit makes the behavior
worse, as instead of skipping just Mask and Mirror, it skips all.
|
|
When the frame was zero, the frame number was clamped by error to 1.
|
|
The thickness was using the object scale always, but when the layer is parented, must use the parented object scale.
|
|
|
|
Instead of having the option to show marker lines,
make the marker region optional.
- Added a Show Markers entry in the View menu of the animation editors.
- If the markers region is not active then the Marker menu gets hidden.
- Removed marker menu from the driver editor
and don't allow to use marker operators.
|
|
|
|
|
|
This is a partial rollback of f18ad385dffe70f5e57df00ff9bbb7b42fa05be0. It
turned out to be more tricky to determine animatedness of an object.
This fixes T71986.
|
|
When the final stroke was smaller than original stroke, the weights array must be resized, but by error the function used the original stroke pointer instead of the new stroke pointer and this corrupted the pointers.
|
|
Occurs in edit mode when object has no uniform scale.
|
|
Loading a blendfile allocates one or more windows that need to be freed.
Freeing those windows also calls `BKE_workspace_instance_hook_free()` to
free workspaces. However, in the `BlendfileLoadingBaseTest` test there are
no workspaces allocated. This caused an assertion failure, which was worked
around by not asserting when Blender is running in background mode.
Reviewed by @Severin via pair programming
|
|
Currently unused, but needed for coming fix.
|
|
|
|
It started to be a long code of all various cases in a single file,
which started to be really confusing.
|
|
C++ is used more and more, and it is becoming more and more annoying to
keep track of whether header have C++ guard or not.
Is easier and more clear to be consistent in all headers and have such
guards in all headers.
|
|
The visibility of the object is what counts, not just the visibility of
the collection.
|
|
There are no more 'layers' in Blender. I chose 'Visible Objects' rather
than 'Visible Collections' to be consistent with the other
'{Renderable,Selected} Objects Only' options.
No functional changes.
|
|
`AbcTransformWriter::hasAnimation` recently became smarter than just
returning `true`, but wasn't quite smart enough yet. Constraints are now
considered a source of 'animation'.
|
|
list is empty
The problem was the draw function tried to use the material and gpsettings and both were NULL.
Now, the default material is used.
|
|
The VERTEX mode was not checked in shaders and must be managed equals to MATERIAL mode.
|
|
Remove redundant defines.
|
|
|
|
|
|
|
|
When negative scaled matrices were used, the roll calculation
didn't match, when calling Armature.transform().
|
|
This is caused by the fallback path used by OSX, which is reconfiguring
the same default VAO. But it seems to be an issue on certain drivers.
|
|
|