Blender Git Loki

Kaikki Blender Git kommitit.

Page: 1933 / 8462

January 18, 2020, 15:31 (GMT)
GPencil: Fix slow calculation in Edit transformations

Now the triangulation is only calculated once by stroke, not for each point.
January 18, 2020, 14:55 (GMT)
GPencil: Fix color modifiers

With new draw engine implementation the old system did not work.
January 18, 2020, 10:54 (GMT)
Merge branch 'greasepencil-object' into greasepencil-refactor
January 18, 2020, 10:52 (GMT)
Merge branch 'master' into greasepencil-object
January 18, 2020, 10:51 (GMT)
GPencil: New evaluation of derived frames and Filling calculation

As grease pencil was created before depgraph, it was using a custom solution to create derived data to apply modifiers on top. With the new refactor of the drawing engine, we need to have the runtime data at datablock (bGPdata) level to share between instances, but also we neeed to have separated eval data because different objects can use different modifiers (equals to actual mesh_eval logic). The old derived frame array solution is not valid anymore.

The initial idea was to make a full copy of the datablock in a separated eval copy, but testing this solution, it was very slow, so now, the full copy is only done once, and later, only the active frame data is updated (see note below).

In a future development, the ideal solution would calculate all frames at the same time and only copy again if something changes, but now this change is out of scope. I have been performing tests and with this "only active frame" copy,

Also, this solution simplifies several areas of the code, because now it's not necessary to deal with derived frame array, and just use datablock as is.

This update also includes the following:

* How the filling information is managed. Before, the triangulation data was created only during drawing process, and it was not saved. With the new engine, this information must be available always, so instead to calculate in drawing time, now the information is saved and generated or updated each time the stroke is modified. To have the filling information calculated improves FPS and simplify drawing and modifier evaluation code.

* Remove unused parameters related to old Filling calculation logic. This also simplifies the UI panels.

* Added simplify modifier options. This was removed, but after last changes it's good to have as before.

Differential Revision: https://developer.blender.org/D6597
January 18, 2020, 08:43 (GMT)
Weight Paint: implement a red shade for bones with locked weights.

Blender supports locking vertex groups to prevent changes to the
weights. However, as mentioned in comments for D3837, it is hard
to use this because there is no interface for locking in 3D View.

This adds a red shade to bones that are associated with a locked
weight group during weight paint mode, as the first step to adding
such interface. The next step is adding a pie menu for lock/unlock.

Differential Revision: https://developer.blender.org/D6533
January 17, 2020, 23:42 (GMT)
GPencil: Refactor: Speedup: Add drawcall merging of consecutive strokes

This reduces driver & DRW overhead when a lot of strokes are drawn with
the same material pool.
January 17, 2020, 21:14 (GMT)
Merge branch 'greasepencil-refactor' into temp-gpencil-eval
January 17, 2020, 21:14 (GMT)
Merge branch 'greasepencil-object' into greasepencil-refactor
January 17, 2020, 21:13 (GMT)
Merge branch 'master' into greasepencil-object
January 17, 2020, 19:09 (GMT)
Merge branch 'blender-v2.82-release'
January 17, 2020, 18:59 (GMT)
Fix memory leak when full-copying a scene after recent changes.

Once again, am not exactly sure why that was working before, and not
anymore - but in any case, doing that kind of update here is not only
useless (since we have to do it at the end of the whole
collections/objects duplication and remapping anyway), it is also rather
dangerous, as collections are currently in rather invalid states at that
point of the code...

Note that in ideal world, `BKE_main_collection_sync()` & co would be
lazy (setting only a flag, then code actually needing this to be valid
again should call some sort of `BKE_main_collection_sync_ensure()`).
Then we would not have to worry about such things (and we'd get nice
performance improvements in some cases, also in main remapping code,
etc.).

Food for some refactoring, some day...
January 17, 2020, 18:59 (GMT)
Cleanup of previous rBac723db57fd8ba5 commit.

Simplify a bit, and remove some now redundant remappings.

As a side note, rBac723db57fd8ba5 actually also fixed some unreported
issues (missing remappings to new objects/collections in new copied
scene, that were not previously handled by the 'custom' code).

There are almost certainly still some missing remappings around,
though...
January 17, 2020, 18:59 (GMT)
Fix T73170: New Scene -> "Full Copy" Crashes Blender.

rBac723db57fd8ba5 makes proper remapping of all pointers in Scene...
including the object pointers of bases in ViewLayers.

Using `BKE_main_collection_sync_remap()` makes sense here anyway
(compared to `BKE_main_collection_sync()`, it additionally clears caches
in ViewLayers and Collections), this whole code makes a lot of
remapping.

Note that I do not really understand *why* that was working OK
before rBac723db57fd8ba5. I.E. *why* not remapping at all ViewLayers'
base object pointers seemed to be OK...

This whole collection/viewlayer caching is very hard to follow, and
really needs a full rework at some point (just as much as ID copying
code in general, and scene copying code in particular, in fact).
January 17, 2020, 18:59 (GMT)
Cleanup: remove dead code in full scene copy/make single users area.
January 17, 2020, 18:59 (GMT)
Cleanup: factorize collection handling in libquery code.

Both actual Collection datablocks and the horrible master collection
should share the same code (there were already some differences,
although probably not critical, but some callbacks from
scene->master_collection did not have the 'not self' flag...).
January 17, 2020, 18:43 (GMT)
Fix T67942 EEVEE: Crash when empty is set as camera and motion blur is on
January 17, 2020, 18:14 (GMT)
Fix lightprobe creation from python data API

### Description of the problem

Until now, it is only possible to correctly add a lightprobe in python via an operator:
`bpy.ops.object.lightprobe_add()`

### Description of the proposed solution

The idea of this patch is to fix the lack of consistency lightprobe creation without operator.
It allow creation of different lightprobe type directly via `bpy.data.lightprobes.new(name, type)` (such as for curves).

In order to make it possible I had to:
1. Add a function `BKE_lightprobe_configure` in charge of lightprobe settings configuration (avoid code redundancy)
2. Allow an object to take lightprobe datablock as data during is initialization.

### A short example of this patch usage

```
lp = bpy.data.lightprobes.new('some_name','PLANAR')

bpy.data.objects.new('toto', lp)

```

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6396
January 17, 2020, 16:47 (GMT)
Add separate region redraw tag for UI overlays (gizmos)
January 17, 2020, 16:43 (GMT)
Cleanup: Fix comment
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021