Age | Commit message (Collapse) | Author |
|
Caused a crash in dyntopo.
|
|
reassign hotkey after removing it.
Anim Channels keymap is not editor-related...
|
|
This patch cleanup spaces/braces and newlines.
Reviewers: moguri, kupoman
Reviewed By: moguri, kupoman
Subscribers: kupoman
Differential Revision: https://developer.blender.org/D1607
|
|
|
|
Custom-data on newly created face data was often rotated.
Now the API doesn't copy data from adjacent loops when creating faces.
Most functions were already overwriting this anyway.
Since such decisions are better made at a higher level, now it's the responsibility of the caller.
|
|
|
|
|
|
Avoid having 2 different code-paths for face triangulation.
|
|
|
|
|
|
non-main thread
This is really similar to what GPU module was already doing. There are number of
possible improvements still:
- Re-use allocated VAOs when requesting new ones instead of going to the trouble
of freeing VAO and then re-creating it again.
- Move VAO handling to GPU module.
Fixes T46589: OpenSubdiv crash with drivers
|
|
|
|
No functional changes expected, just makes it easier for reuse.
|
|
This adds support for dropping a filepath on an open file-selector to set that path.
|
|
There is no real elegant solution here, ideally a modifier shall never *modify*
a source DM, but that would imply much better ways to ensure required data
is available in that source DM, which we do not have currently.
So instead, let's use brute force solution for now and always create a local copy
of our source DM, that we can modify to our heart content!
|
|
|
|
|
|
|
|
|
|
root vertex is found.
Otherwise user may have a hard time understanding why their modifier is no more working
after they e.g. deleted some vertices... including the root one. ;)
|
|
|
|
Toggle brush is more a runtime only feature, not really supposed to be used
as real ID linking as it's done for modifiers i.e.
|
|
Need to re-interpolate the entire face, not just the connected loop.
Also add BM_face_interp_multires()
|
|
KX_IPOActuator is not used since 2.4.
This patch removes:
- KX_IPOActuator.h/cpp;
- Python doc;
- Write of IPO actuator in write.c;
- Allocation of IPOactuator in sca.c;
- Conversion in KX_ConvertActuators.cpp;
- Initialization of the python proxy in KX_PythonInitTypes.cpp;
- Other minor remove in logic_windows.c and in KX_PythonInit.cpp.
Reviewers: sybren, campbellbarton
Reviewed By: campbellbarton
Subscribers: moguri
Differential Revision: https://developer.blender.org/D1603
|
|
Crash was happening due to OpenGL free from the non-main thread. Ideally we need
to implement somewhat delayed unused buffer free for OpenSubdiv similar to what we
are doing in GPU module.
|
|
Multires data fails the CustomData_layer_has_math() check,
so meshes without UV's for eg werent getting interpolated multires.
|
|
Avoid recalculating face centers (for each loop) when interpolating multires.
|
|
Calculating normals is called often (sculpting for eg),
so avoid using high-level iterator here.
|
|
|
|
Needs Z axis flip to maintain the shape.
|
|
|
|
Suggested by Sergey, thanks!
|
|
|
|
We needed the 'background' feature here, since we never wait on those preview-generation tasks.
Note that it also simplifies the code, and as usual testing is needed here on all possible platforms...
|
|
With current code, in single-threaded context, a pool of task may never be executed
until one calls BLI_task_pool_work_and_wait() on it, this is not acceptable for
asynchronous tasks where you never want to actually lock the main thread.
This commits adds an extra thread in single-threaded case, and a new 'type' of pool,
such that one can create real background pools of tasks. See code for details.
Review: D1565
|
|
Useful in case one needs more complex handling of tasks data than a mere MEM_freeN().
|
|
In previous code, worker would exit in case it gets awoken from a condition_wait() and
task queue is empty. However, there may be spurious wake up (either due to pthread itself,
or to some race condition between workers) that would lead to wrongly exiting a worker before
we actually exit the whole scheduler. See code for more details.
|
|
Metas are scanning all scenes duplis,
which can go into particle systems without an initialized derived-mesh.
For now just do NULL check, its not correct but real fix is not fitting well with current design.
|
|
Brush.toggle_brush was allowed to be an invalid pointer,
it worked for the one operator that used it - but in general bad practice,
requiring a lookup on every access.
Ensure the pointer is kept valid now.
|
|
|
|
Fix for T46494 wasn't working properly when de-selecting faces,
adjacent faces would remain selected but have unselected edges.
Logic here is admittedly rather fragile since it relies on both
selection functions and flushing afterwards.
|
|
|
|
|
|
|
|
|
|
|
|
Certain shapes could trick the inside/outside test.
An edge between 2 planar faces could be selected for detecting face-flipping (which failed).
While this could be prevented by skipping those edges,
use a method which searches for the outer most face-loop, then check it faces the center.
|
|
Caused by rBe0c60985b6.
|
|
|
|
Check version name first since 'python' binary may be a different version.
|