Blender Git Commit Log

All Blender Git commits.

Page: 631 / 8462

Revision 58893ea by Hans Goudey (master)
May 19, 2021, 20:13 (GMT)
Cleanup: Use consistent order for functions in node files

After this commit, all geometry node "init" and "update" functions are
at the top of each file, right below the "layout" function. This means
you can always scroll to the bottom of the file to see the entry point,
and the boring boilerplate code is grouped in one section.
Revision 3d604ba by Hans Goudey (master)
May 19, 2021, 19:58 (GMT)
Geometry Nodes: Execute point rotate node on curve component

When adding attributes on the curve component, I missed calling this
node's execute function on the curve component, like the other nodes.
May 19, 2021, 19:21 (GMT)
Dyntopo: code cleanup
May 19, 2021, 17:44 (GMT)
Cycles X: remove unused megakernel for GPU rendering

This reduces OptiX runtime compilation time to less than a second here.

Differential Revision: https://developer.blender.org/D11313
May 19, 2021, 17:29 (GMT)
Apply D9974: Sanitize threaded preview creation with undo

With undo/redo after creating assets, previews of the "Current File"
asset library would often go missing, e.g. see T83884.

The preview generation in a background job will eventually modify ID
data, but the undo push was done prior to that. So obviously, an undo
then would mean the preview is lost.

This patch makes it so undo/redo will regenerate the preview, if the
preview rendering was invoked but not finished in the undone/redone
state.

The preview flag `PRV_UNFINISHED` wasn't entirely what we needed. So I
had to change it to a slightly different flag.
Revision 627f357 by Hans Goudey (master)
May 19, 2021, 17:22 (GMT)
Geometry Nodes: Support for dynamic attributes on curve splines

With this patch you will be able to add and remove attributes from curve
data inside of geometry nodes. The following is currently implemented:
* Adding attributes with any data type to splines or spline points.
* Support for working with multiple splines at the same time.
* Interaction with the three builtin point attributes.
* Resampling attributes in the resample node.

The following is not implemented in this patch:
* Joining attributes when joining splines with the join geometry node.
* Domain interpolation between spline and point domains.
* More efficient ways to call attribute operations once per spline.

Differential Revision: https://developer.blender.org/D11251
May 19, 2021, 17:16 (GMT)
Cycles X: Remove usage of mega-kernel

The usage of the mega-kernel is commented out with this change.

There are few benefits of removing the mega-kernel:

- It takes extra time to compile and space to ship.
- It is not compatible with features like shadow catcher.

The rest of the changes are related on attempt to avoid performance
loss in various scenes. Those changes include:

- Make work tile smaller in size. This makes the work tile more
friendly for greedy scheduling when adaptive sampling is used.
Currently this is achieved by keeping pixel same the same and
lowering number of samples per work tile. The idea behind this
is to avoid dramatic change in order in which pixels are
scheduled for sampling.

- Keep tile size dimensions a power of two.
This lowers the unused path states (which can be watched with

./bin//blender --debug-cycles --verbose 3 2>&1 | grep "Number of unused path states"

In own tests it seems that we barely "waste" path states now.

- Make it so tiles are scheduled in the order of samples first.
As in: keep pixel-space coherency, similar to how it is done
in the `get_work_pixel()`.

- Only keep extreme case tests for the tile size calculation.
Avoids some unnecessary updates, while still ensuring correct
behavior in extremes.

The timing goes as following:
```
RTX 6000 (Turing)

new cycles-x
bmw27.blend 10.8964 10.4269
classroom.blend 17.4476 16.6609
pabellon.blend 9.77167 9.14966
monster.blend 10.3662 12.0106
barbershop_interior.blend 11.9445 12.5769
junkshop.blend 16.3556 16.5213
pvt_flat.blend 16.5317 17.4047

RTX A6000 (Ampere)
new cycles-x
bmw27.blend 7.74059 7.65293
classroom.blend 10.775 10.9143
pabellon.blend 6.00643 5.85334
monster.blend 6.79277 8.0134
barbershop_interior.blend 8.39941 8.47159
junkshop.blend 10.4258 10.9882
pvt_flat.blend 10.2752 10.8821
```

Not entirely happy with the results: there are some very nice speedups
interleaved with some slowdown. Although, slowdown is within 5%, so
hopes that we can gain it back with more tricks from the sleeves.

Some thing to try:
- Try lowering tile size in pixels
- Try better alignment of tile size with number of threads on a
multiprocessor.

This change is a combined brain activity from Brecht and myself.

Differential Revision: https://developer.blender.org/D11311
May 19, 2021, 17:11 (GMT)
Merge branch 'asset-browser-poselib' into asset-browser
May 19, 2021, 17:07 (GMT)
Remove unnecessary `NonCopyable` mixin usages
Revision 192a3f1 by Hans Goudey (master)
May 19, 2021, 17:02 (GMT)
Cleanup: Use copy constructor for CurveEval

There is no need for a special "copy" method with a copy constructor,
which will be necessary to explicitly copy attributes anyway.
May 19, 2021, 16:47 (GMT)
Merge branch 'master' into asset-browser-poselib
May 19, 2021, 16:45 (GMT)
Merge branch 'master' into asset-system-filelist
May 19, 2021, 16:32 (GMT)
Fix compile errors after merge conflicts
May 19, 2021, 16:30 (GMT)
Cycles OpenCL: disable AO preview kernels

These seem to be causing some stability issues, and really are just not that
useful in practice. Compiling them is slow already, so it does not improve
the user experience much to show an AO preview if it's not nearly instant.
May 19, 2021, 16:30 (GMT)
Fix T87793: Cycles OptiX crash hiding objects in viewport render
May 19, 2021, 16:19 (GMT)
Merge branch 'master' into asset-browser
May 19, 2021, 15:57 (GMT)
Assets: Use textures (and shadows) for automatic object previews

Textures may be important to be able to identify an object. They are also a way
to make many objects look more like when rendered with an advanced render
engine, without being that expensive.
So this seems like a simple way to increase usefulness of the automatic
previews.
May 19, 2021, 15:56 (GMT)
GPencil: Apply NanoSVG fix

This fix is ported from official NanoSVG git
May 19, 2021, 15:53 (GMT)
Merge branch 'master' into override-recursive-resync
May 19, 2021, 15:50 (GMT)
IDManagement: Add basic test regarding id sorting in their listbase.

Note that while sorting of local IDs is fine, currently sorting of
linked IDs is a total unpredictable failure.

Next commit will fix this, ensuring that linked IDs are grouped by their
library, and properly name-sorted within this library group.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021