Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
node properties in outliner.
Bug was in RNA nodes code actually, itemf functions shall never, ever
return NULL!
Note that there were other itemf functions there that were potentially
buggy. Also harmonized a bit their code.
|
|
* Numbers with units (especially, angles) where not handled correctly
regarding number of significant digits (spotted by @brecht in T52222
comment, thanks).
* Zero value has no valid log, need to take that into account!
|
|
Clamp will now works as in Cycles.
Max roughness limit ssr to a certain roughness level: for noise / performance tweaking.
|
|
Reduce overdraw. 0.4ms goes to 0.01ms if background is completely occluded.
|
|
It now uses a quality slider instead of stride.
Lower quality takes larger strides between samples and use lower mips when tracing rough rays.
Now raytracing is done entierly in homogeneous coordinate space. This run much faster.
Should be fairly optimized. We are still Bandwidth bound.
Add a line-line intersection refine.
Add a ray jitter between the multiple ray per pixel to fill some undersampling in mirror reflections.
The tracing now stops if it goes behind an object. This needs some work to allow it to continue even if behind objects.
|
|
Running undo would notify manipulators to refresh,
but this still allowed for events in the queue to be handled,
where manipulators could be drawn for selection before
their refresh callback runs.
This made Python manipulators raise exceptions
about referencing invalid data (or crash).
Now tag manipulator update on file load (including undo)
and ensure the refresh callback runs
before drawing manipulator selection.
Also split manipulator map refresh flag in two since selection doesn't
perform the same operations as regular drawing.
|
|
|
|
|
|
|
|
Split up manipulator free & unlink, so freeing window data doesn't
run callbacks that might use freed data.
|
|
Update flag was cleared before being checked
when registering after load.
|
|
|
|
This reverts commit 122706db9cd23c88775474750e99b57e74a3b9e5.
Would loose manipulators, will check for duplicates instead.
|
|
|
|
This will only be noticeable for drawing many instances.
In contrived use-case with many instances, and `USE_PROFILE` disabled
this can close to double playback FPS.
The option to disable this is left in the code in case we want to
debug memory use.
See D2756 for details.
|
|
This interferes with benchmarking draw times,
so this makes it easy to turn off.
|
|
- Each allocation can be a different size
(but should be smaller than the chunk size).
- Result can be looped over in order of allocation.
- Allocations are aligned to pointer size to avoid unaligned reads.
|
|
|
|
Should remove from master since its workaround for Cygwin
but too close to release.
|
|
|
|
|
|
|
|
|
|
|
|
The names aren't meaningful but means it wont
accidentally use valid names.
Also remove textured-font setting
|
|
When calling sculpt from Python,
setting 3D 'location' but not 2D 'mouse' stopped working in 2.78.
Now check if the operator is running non-interactively and
skip the mouse-over check.
|
|
Calling an operator with EXEC_* context would still set the invoke flag.
|
|
Regression in D1812: PyDriver variables as Objects
Taking the Python representation is nice in general
but for enums it would convert them into strings,
breaking some existing drivers.
|
|
|
|
Some users really liked previous behavior,
so making it an option.
Cursor Lock Adjustment can be disabled to give something close to
2.4x behavior of cursor locking.
When lock-adjustment is disabled placing the cursor the view.
This avoids the issue reported in T40353
where the cursor could get *lost*.
|
|
Also adds cursor-lock flag, to be used in next commit.
|
|
Even strands that were excluded by the density texture were being added
to the DM passed to cloth, but these ended up having some invalid data,
because they were not fully constructed.
This simply excludes `UNEXISTED` particles from the DM generation, as
would be expected.
|
|
This fixes null pointer check fiasco.
|
|
Object field.
Note that fix is not perfect, systematically make refcounting of all IDs
assigned to node's id pointer, which breaks the 'do not refcount
scene/object/text datablocks' principle...
But besides that principle being far from ideal in general, it becomes
pretty much impossible to apply when using //generic// ID pointer,
unless we add some kind of type data to that pointer somehow.
So for now, better to live with that, than having broken usercount.
|
|
from all CoW components
This commit is a work forward having less updates during playback, which speeds
things up a lot here. The idea is simple: stop update all copy-on-write
datablocks (which implies full re-evaluation actually) on frame change and
re-use existing evaluated meshes as much as possible.
This brings playback speed to 24 fps on the dino test scene here. Performance
drops down a lot when armature is animated tho, but that's because of need of
tangent space calculation which we can't do much about from just a dependency
graph.
Hopefully this doesn't make copy-on-write too unstable, quick tests here are
surviving fine.
|
|
|
|
Reported by coverity, better fix even if highly unlikely to happen...
|
|
crashes Blender.
but pointer was not assigned in that case...
|
|
|
|
properties yet
This mainly happens when copy on write is enabled.
|
|
Transform system was using global main, which might have been pointing to a
freed scene layer.
|
|
|
|
Currently wouldn't make any difference, but required for upcoming work of
getting rid of time dependency for copy-on-write component.
|
|
|