Age | Commit message (Collapse) | Author |
|
This is purely internal sanitizing/cleanup, no change in behavior is expected at all.
This change was also needed because we were getting short on ID flags, and
future enhancement of 'user_one' ID behavior requires two new ones.
id->flag remains for persistent data (fakeuser only, so far!), this also allows us
100% backward & forward compatibility.
New id->tag is used for most flags. Though written in .blend files, its content
is cleared at read time.
Note that .blend file version was bumped, so that we can clear runtimeflags from
old .blends, important in case we add new persistent flags in future.
Also, behavior of tags (either status ones, or whether they need to be cleared before/after use)
has been added as comments to their declaration.
Reviewers: sergey, campbellbarton
Differential Revision: https://developer.blender.org/D1683
|
|
Allows to quickly select alternate elems in a path (matching checker-deselect options).
- adds redo support to MESH_OT_shortest_path_pick, allowing for other options.
- de-duplicates code between 2x path select operators.
- expose 'Topology Distance' property for path picking.
- remove unused 'extend' property.
|
|
Support getting an vert/edge/face from a single index, useful for operator redo.
|
|
|
|
This is unrelated to core operator internals, so move into own file.
|
|
cmake_qtcreator_project.py now takes a '--build-dir' argument.
Since introduction of argparse, accessing last argv from project_info is no longer working.
Now require a call to project_info.init before use.
|
|
The is intended to replace the deprecated glPolygonStipple() calls with a shader
based alternative, once we switch over to GLSL shaders.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D1688
|
|
|
|
Some libraries are nto updated for MinGW hence build system
needs some exceptions for this compiler.
|
|
|
|
These could go un-noticed, causing errors later on.
|
|
Also no need to check twice
|
|
|
|
|
|
Usual 10%-15% speedup. Note that here OMP was rather erratic, with typical
timing about 10% slower than BLI_task, but having some 'burnouts' (~10% of times)
were it would be over ten times slower than usual... BLI_task looks much more stable.
|
|
the value again.
|
|
ParticleEdit mode (not supported).
|
|
|
|
Changes to remove doubles face creation,
Recent change to remove doubles broke when the new faces already existed (rare occurrence),
however theres no point to return an existing double face.
Now check if the face exists before creating it.
Other changes:
- avoid 2x hash lookups on all mapped verts.
- fill in the vert array instead of calculating from edges.
- remove inefficient search of entire edge-array before adding to it.
(flag verts to ensure they're not used multiple times).
- move logic for transfusing edge-flags to edge creation.
|
|
|
|
|
|
- When rendering in the Viewport, next_tile is sometimes called after a reset has been performed, but before
new tiles were generated. In that case, the tile list would be invalid, causing Blender to crash randomly.
- When generating new tiles, the TileManager would not clear the tile lists before re-generating them, leading
to some tiles being skipped during viewport rendering.
- When popping the next tile from a tile list, a reference to the just-deleted object would be returned, now the
object is copied before deleting it.
|
|
This way socket type conversions (such as color to float, or float to vector) do not stop the folding process.
Example: http://www.pasteall.org/pic/show.php?id=96803 (selected nodes are folded).
|
|
|
|
|
|
|
|
This could happen with degenerate faces.
|
|
Would happen with complex edge-nets mixed with faces.
|
|
This wasn't working reliably (after clear for example), and wasn't used anywhere.
|
|
|
|
alloc_size was set incorrectly causing arrays not to be resized correctly.
|
|
This commit modifies the TileManager to sort render tiles once after tiling the image,
instead of searching the next tile every time a new tile is acquired by a device.
This makes acquiring a tile run in constant time, therefore the render time is linear
w.r.t. the amount of tiles, instead of the quadratic dependency before.
Furthermore, each (logical) device now has its own Tile list, which makes acquiring
a tile for a specific device easier.
Also, some code in the TileManager was deduplicated.
Reviewers: dingto, sergey
Differential Revision: https://developer.blender.org/D1684
|
|
|
|
For a line this makes sense but segments should clamp,
avoids assert in edge-rip.
|
|
Accessing selected verts as an array failed when only
some of the selected verts were in the selection-history.
|
|
This wasnt correct since we're not reading past the stream,
though it worked on Linux and some Windows systems.
|
|
Gives ~10% speedup
|
|
|
|
Returned true for verts with a single edge.
|
|
|
|
Delimiting on seams was only ever intended for face selection,
Previously this option didn't work for vertices,
now it's fixed the defaults aren't right for vertex/edge select-linked.
Add a workaround that bypasses operator-defaults - since this is such a rare case.
|
|
|
|
Reasons:
- Only parallelized piece of code gives little local speedup (code block only about 25% quicker even on 1M polys cube).
- No gain nor loss using new BLI_task system.
- At 10% of build, parallelized piece of code is only about 5% of total func runtime (run-time explodes as build proportion increases).
See no point in adding (in utmost best optimistic case, in real use-case, when depsgraph will likely already fire several evaluations in parallel,
speedup would be even smaller) 1% speedup here at the cost of threading complexity...
Note that since later code uses hashes, I don't think it's easy to thread it, so think we can leave with it for now.
|
|
Rolling the view registered as no angle-difference.
|
|
|
|
Add support for smooth-view orbiting a point besides the view center.
|
|
Would use the wrong view center (that wasn't update from the camera).
|
|
Smooth-view functions took many arguments which were often NULL,
now take struct instead.
|
|
functions, it's obvious.
|
|
|