Blender Git Commit Log

All Blender Git commits.

Page: 1780 / 8462

March 13, 2020, 13:37 (GMT)
Potential fix for T74609: File Selector Crashes Showing Thumbnails.

Existing code was definitively giving possibility to access freed
memory, although probably not on a super-common basis...
March 13, 2020, 13:14 (GMT)
Multires: Fix Subdivide, Reshape and Apply Base

This change fixes artifacts produced by these operations.

On a technical aspect this is done by porting all of the operations
to the new subdivision surface implementation which ensures that
tangent space used to evaluate modifier and those operations is
exactly the same (before modifier will use new code and the operations
will still use an old one).

The next step is to get sculpting on a non-top level to work, and
that actually requires fixes in the undo system.
March 13, 2020, 13:13 (GMT)
Multires: Increase default quality to 4

Makes it work better "out of the box" for irregular topology like
Suzanne mesh.

There might be some performance impact on non-regular meshes, but
those are not very common usecase for multires and for those its
always possible to lower the quality if needed.
March 13, 2020, 13:10 (GMT)
new Particle Attribute node ui
March 13, 2020, 13:07 (GMT)
Subdiv: Fix loose geometry callbacks in certain conditions

Loose vertices and vertices of loose edges callback was not working
correct if some of other callbacks were set to NULL.

Was caused by missing bitmask set in the callbacks which were set
to NULL.
March 13, 2020, 13:07 (GMT)
OpenSubdiv: Make non-full geometry less strict for sharpness

Allow to mark individual vertices as infinitely sharp even if there is
no full topology and no access to edges: infinite sharp vertices do not
need connectivity information.
March 13, 2020, 13:02 (GMT)
remove "Input" from name
March 13, 2020, 12:57 (GMT)
Merge branch 'functions' into builtin-simulation-nodes
March 13, 2020, 12:55 (GMT)
Merge branch 'master' into functions
March 13, 2020, 12:08 (GMT)
GPencil: Fix typo error
March 13, 2020, 12:06 (GMT)
GPencil: Enable Lights ON to default object in 2D template
March 13, 2020, 12:03 (GMT)
Force continuous redraws of mirrored 3D Views
March 13, 2020, 11:59 (GMT)
Python: add foreach_get and foreach_set methods to pyrna_prop_array

This allows fast access to various arrays in the Python API.
Most notably, `image.pixels` can be accessed much more efficiently now.

**Benchmark**

Below are the results of a benchmark that compares different ways to
set/get all pixel values. I do the tests on 2048x2048 rgba images.
The benchmark tests the following dimensions:
- Byte vs. float per color channel
- Python list vs. numpy array containing floats
- `foreach_set` (new) vs. `image.pixels = ...` (old)

```
Pixel amount: 2048 * 2048 = 4.194.304
Byte buffer size: 16.8 mb
Float buffer size: 67.1 mb

Set pixel colors:
byte - new - list: 271 ms
byte - new - buffer: 29 ms
byte - old - list: 350 ms
byte - old - buffer: 2900 ms

float - new - list: 249 ms
float - new - buffer: 8 ms
float - old - list: 330 ms
float - old - buffer: 2880 ms

Get pixel colors:
byte - list: 128 ms
byte - buffer: 9 ms
float - list: 125 ms
float - buffer: 8 ms
```

**Observations**

The best set and get speed can be achieved with buffers and a float image,
at the cost of higher memory consumption. Furthermore, using buffers when
using `pixels = ...` is incredibly slow, because it is not optimized.
Optimizing this is possible, but might not be trivial (there were multiple
attempts afaik).

Float images are faster due to overhead introduced by the api for byte images.
If I profiled it correctly, a lot of time is spend in the `[0, 1] -> {0, ..., 255}`
conversion. The functions doing that conversion is `unit_float_to_uchar_clamp`.
While I have an idea on how it can be optimized, I do not know if it can be done
without changing its functionality slightly. Performance wise the best solution
would be to not do this conversion at all and accept byte input from the api
user directly, but that seems to be a more involved task as well.

Differential Revision: https://developer.blender.org/D7053

Reviewers: JacquesLucke, mont29
March 13, 2020, 11:57 (GMT)
GPencil: Avoid segment fault when use Simplify modifier

The number of points of the evaluated stroke can be less than original or the original can use less points that evaluated.
March 13, 2020, 11:34 (GMT)
Cleanup: USD, removed unused export job data

The code was copied from the Alembic exporter, and some of the options are
no longer used.

Not updating the Alembic exporter itself, as this will be done in a much
larger rewrite.
March 13, 2020, 11:28 (GMT)
Refactor sharing of 3D View Shading layout
March 13, 2020, 11:24 (GMT)
GPencil: Fix Noise modifier versioning

The versioning was setting the factor for all modes without checking flags.

Also cleanup some unused code.
Revision 15d9169 by Sebastian Parborg (particle-solver-dev)
March 13, 2020, 11:10 (GMT)
Inital work on getting particle collisions with the collision modifier
Revision 91ca3c3 by Antonio Vazquez (master)
March 13, 2020, 11:07 (GMT)
Fix T74696: Segment fault in Noise modifier using Vertex Groups

Revision 1ca582c by Brecht Van Lommel (master)
March 13, 2020, 11:06 (GMT)
Fix IDTypeInfo not having enough bits for ID filter flag
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021