Age | Commit message (Collapse) | Author |
|
Left enabled mistakenly by d63ada602d37e5bf0f4f4c.
|
|
To enable further mesh data structure refactoring-- access to loose
edges in particular.
|
|
Remove VLAs for compiling on windows.
Regression from 721fc9c1c950
|
|
If the edge you are going to slide along is very close to in line
with the adjacent beveled edge, then there will be sharp overshoots.
There is an epsilon comparison to just abandon loop slide if this
situation is happening. That epsilon used to be 0.25 radians, but
bug T86768 complained that that value was too high, so it was changed
to .0001 radians (5 millidegrees). Now this current bug shows that
that was too aggressively small, so this change ups it by a factor
of 10, to .001 radians (5 centidegrees). All previous bug reports
remained fixed.
|
|
|
|
Add knife tool option in mesh panel
Reviewer: campbellbarton, JulienKaspar
Differential Revision: https://developer.blender.org/D16395
|
|
The error was:
`draw_pass.hh:1055:16: error: call to implicitly-deleted default constructor of 'blender::draw::command::Undetermined [3]'
|
|
|
|
This allows the same behavior as with `DRW_shgroup_buffer_texture`.
|
|
Allows to record `GPU_framebuffer_multi_clear` inside `draw::Pass`.
|
|
Use reference instead of direct pointer. This is because framebuffers
often use temp textures and are configured later just before submission.
|
|
This is in order to make it work with the new `framebuffer_set` command
which requires a `GPUFrameBuffer **`.
|
|
This allows to use pointers and such other trivial types which cannot
implement the `swap` mehod.
|
|
This increases the default size to some reasonable value (>512bytes) and
allocate at least 1 element.
|
|
|
|
Implement a new topology-based copy and paste solution for UVs.
Usage notes:
* Open the UV Editor
* Use the selection tools to select a Quad joined to a Triangle joined to another Quad.
* From the menu, choose UV > UV Copy
* The UV co-ordinates for your quad<=>tri<=>quad are now stored internally
* Use the selection tools to select a different Quad joined to a Triangle joined to a Quad.
* (Optional) From the menu, choose UV > Split > Selection
* From the menu, choose UV > UV Paste
* The UV co-ordinates for the new selection will be moved to match the stored UVs.
Repeat selection / UV Paste steps as many times as desired.
For performance considerations, see https://en.wikipedia.org/wiki/Graph_isomorphism_problem
In theory, UV Copy and Paste should work with all UV selection modes.
Please report any problems.
A copy has been made of the Graph Isomorphism code from https://github.com/stefanoquer/graphISO
Copyright (c) 2019 Stefano Quer stefano.quer@polito.it GPL v3 or later.
Additional integration code Copyright (c) 2022 by Blender Foundation, GPL v2 or later.
Maniphest Tasks: T77911
Differential Revision: https://developer.blender.org/D16278
|
|
|
|
OSD Lists as 0, 0, 0 this is due to opensubdiv_capi.cc not actually including
the OSD version header, so it's not getting the version define, and the code
in openSubdiv_getVersionHex is really well prepared to deal with any or no
version at all of OSD, catches the problem and returns 0, 0, 0
Given this file is only build when OSD is enabled we can just blindly include
opensubdiv/version.h here
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D16398
|
|
To support further mesh data structure refactoring.
|
|
* Support bidirectional type lookups. E.g. finding the base type of a
field was supported, but not the other way around. This also removes
the todo in `get_vector_type`. To achieve this, types have to be
registered up-front.
* Separate `CPPType` from other "type traits". For example, previously
`ValueOrFieldCPPType` adds additional behavior on top of `CPPType`.
Previously, it was a subclass, now it just contains a reference to the
`CPPType` it corresponds to. This follows the composition-over-inheritance
idea. This makes it easier to have self-contained "type traits" without
having to put everything into `CPPType`.
Differential Revision: https://developer.blender.org/D16479
|
|
|
|
rBa8f7d41d3898 added a "duplicate" check for being in curves sculptmode
unnecessarily afaict (`in_sculpt_curve_mode` in addition to the
previously existing `in_curves_sculpt_mode`).
Over time, the later evolved to also take into account the output of a
viewer node, see rBc55d38f00b8c (the previously existing
`in_curves_sculpt_mode` did not receive this).
This all results in the fact that selection is not drawn with a viewer
node (can be useful though, and there are separate opacity controls for
both selection and the viewer attribute, so these can be used/blended to
everyones liking).
So now deduplicate the check.
Differential Revision: https://developer.blender.org/D16467
|
|
Differential Revision: https://developer.blender.org/D16472
|
|
|
|
Differential Revision: https://developer.blender.org/D16401
|
|
Differential Revision: https://developer.blender.org/D16350
|
|
|
|
Differential Revision: https://developer.blender.org/D16322
|
|
Differential Revision: https://developer.blender.org/D16064
|
|
|
|
Avoid relying on GHOST_ISystem::getSystem(), store the system instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wl_egl_window_resize ran when the window became active/inactive for e.g.
|
|
A Loop to poly map was passed as an optional output to the loop normal
calculation. That meant it was often recalculated more than necessary.
Instead, treat it as an optional argument. This also helps relieve
unnecessary responsibilities from the already-complicated loop normal
calculation code.
|
|
|
|
Nearly all Wayland window data is stored in this struct,
follow this convention so GWL_Window functions can be self contained.
|
|
Add low level gwl_window_* functions.
|
|
Regression in [0] causes LIBDECOR interactions not to be detected.
[0]: deb8ae6bd1edb0983d9ac972b2c95090f4c5e642
|
|
|
|
It wasn't so obvious which functions were part of the GHOST API
and which system functions were utilities.
This convention was already in place but not always followed.
|
|
Add a non-blocking version wrapper for wl_display_dispatch_pending.
This uses roughly the same logic as Wayland_PumpEvents in SDL.
Noticed this when investigating T100855.
Note that performing a round-trip doesn't seem necessary from looking
into QT/GTK & SDL event handling loops.
|
|
|
|
|