Commit Graph

14329 Commits

Author SHA1 Message Date
Campbell Barton
c13644c390 Cleanup: make shapekey functions local
Were only exposed for the BGE.
2018-09-12 17:27:22 +10:00
Campbell Barton
baca8344d9 Cleanup: use _len suffix 2018-09-12 12:07:35 +10:00
Campbell Barton
6c6c3bad02 Cleanup: style 2018-09-12 05:57:31 +10:00
Sergey Sharybin
d495916547 Multires: Fix memory leak on reshape
Was happening when number of vertices didn't match.
2018-09-11 17:37:14 +02:00
Sergey Sharybin
3fbdcefa17 Subdiv: Initial implementation of CCG
Attempts to substitude CCGDM with an OpenSubdiv based structure
which has less abstraction levels. The missing part in this
substitude is a face pointers which old CCGDM/multires code was
using to stitch faces (averaging boundaries).

Another curial bit missing: "reshaping" of multires CD_MDISPS
to the state of new PBVH grids.

The new code is only available when OpenSubdiv modifier is
enabled (WITH_OPENSUBDIV_MODIFIER=ON) and with debug value of
128. This is so this WIP code is not interfering with current
production machines in the studio.

Reviewers: brecht

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D3685
2018-09-11 16:37:02 +02:00
Sergey Sharybin
eaf993ad94 Followup for previous PBVH commit
Didn't realize the index buffer is stored once in a BVH
and same pointer is reused. Surprisingly, simple files
were fixed with the previous fix.

Now disabled the optimization all together, and it was
simpler to just completely remove all residue of the
code. It is likely to be a different implementation
anyway, so no need to try to keep code in a semi-broken
state.
2018-09-11 15:34:09 +02:00
Brecht Van Lommel
e1178266e7 Workspace: support reordering of workspaces from RMB menu.
Drag and drop will follow later, it's a bit complicated to make this work
reliable in the current UI code.
2018-09-11 12:43:28 +02:00
Dalai Felinto
207483dbfe Remaining fix for multiple text-boxes
As mentioned in d81aeb60fe the alignment for multiple text boxes should all
respect the same overall padding.

Vertical alignment is fully implemented now.
2018-09-10 18:15:36 -03:00
Sebastian Parborg
86aa621f4b Texture paint: properly implement image slots for principled BSDF node.
Now we can create new base color, roughness, metallic, specular, normal,
bump and displacement images, and linked them to the appropriate socket.

Also fixes image nodes inside groups not being visible.

Differential Revision: https://developer.blender.org/D3679
2018-09-10 18:56:54 +02:00
Brecht Van Lommel
d483dfd03d Fix T56717: crash removing/adding objects.
Object bases hash always needs to be freed on library remapping.
2018-09-10 16:09:52 +02:00
Campbell Barton
bb9b0fcdbe Cleanup: remove unused field args 2018-09-10 14:05:33 +10:00
Antonioya
d69d68621f GP: Improve smooth interpolation calc 2018-09-09 16:06:10 +02:00
Antonioya
84d85f963f GP: Fix strange pressure values when drawing
This strange values produced an "explosion" of the stoke and it was very annoying.
2018-09-09 14:08:18 +02:00
Bastien Montagne
f074642b2c Fix T56712: Compositor image loader skips frames.
Bad removal of 'Fields' option for image sequences...
2018-09-08 16:46:44 +02:00
Sergey Sharybin
db259e0889 Silence warning in release mode 2018-09-07 11:55:55 +02:00
Sergey Sharybin
dfeff72af7 Subdiv: Add ptex offsets to a subdiv structure
This is something what we need to know quite often from various places.
Added it as a cached value in Subdiv itself, so it can be queried easily
from any area.

Shouldn't be a problem from memory usage point of view, it's 4MB per
1M faces coarse mesh. This is very low percentage of mesh itself, and
even lower percentage of highres subdivided mesh.
2018-09-07 11:54:20 +02:00
Sergey Sharybin
6a2305191f Cleanup: Remove unused modifier evaluation flag 2018-09-06 11:47:44 +02:00
Sergey Sharybin
79e8805a9e Subdiv: Some ground work for CCG support
Nothing really interesting, just starting laying down API which
seems to be a decent substitute to CCGDM, without requiring too
much work be done in sculpting area.
2018-09-06 11:32:21 +02:00
Sergey Sharybin
de187c0ba7 Merge branch 'master' into blender2.8 2018-09-05 16:05:43 +02:00
Sergey Sharybin
94ec80d21c CCG: Remove number of layers from key
The issue there was that number of layers did not include normals,
while element size counts bytes used by normals. This sounds very
fragile and dangerous to work further. Also, one value can easily
be delivered from another, so it is redundancy going on here.

Possible difference now is that multires subdivision will copy
normals to a higher levels. Shouldn't be big of a problem, since
leaving old normals and updating coordinates is not correct either.
2018-09-05 15:56:50 +02:00
Dalai Felinto
d81aeb60fe Fix for text alignment on multiple text boxes
The original code was already making a distinction between lines in the last
text box and all lines. However I removed that bit since when I tested the
values were the same (I tested with a single text box).

Bringing this distinction back.

Not addressed here: All boxes should respect the alignment. Which at the moment
they don't seem to fully do.
2018-09-05 10:05:34 -03:00
Campbell Barton
1e35f4da72 Merge branch 'master' into blender2.8 2018-09-05 14:34:31 +10:00
Ray Molenkamp
c13b2a2504 Fix T54152: --env-system-scripts fails on win32 2018-09-05 14:32:19 +10:00
Dalai Felinto
312af01fb4 3D Text: improvements to vertical alignment
They way Blender handles vertical alignment is very buggy:

- Top-Base: It works perfectly.

- Bottom: It is actually bottom-baseline,
  and it fails when line size is != 1.0 when working with text boxes.

- Top: Poorly implemented, it should use font's ascent
  (recommended distance from baseline),
  so it has room for accents,
  but it's not one line distance far from the origin (as it is now).

- Center: Poorly implemented.
  This is tricky since there is no silver bullet.

To clear this situation I created a new option (Bottom-Baseline),
and addressed the issues above.
I'm getting the ascent and descent from freetype2,
and use this for padding above/below the text.
Also for vertically centering the text.
2018-09-05 11:33:14 +10:00
Brecht Van Lommel
fc115e1ab2 Cleanup: remove legacy layer and dupli code. 2018-09-04 16:11:27 +02:00
Sergey Sharybin
c9707a408f Subdiv: Move mesh creation functionality to own header 2018-09-04 15:34:52 +02:00
Sergey Sharybin
916edab639 Subdiv: Move evaluation functionality to own header 2018-09-04 15:34:52 +02:00
Sergey Sharybin
f1508cc8d5 Subdiv: Move FOREACH functionality to own header 2018-09-04 15:34:52 +02:00
Sergey Sharybin
3cb936295f Fix mistake in previous commit 2018-09-04 10:22:55 +02:00
Sergey Sharybin
9b2e336cdf Cleanup, indentation 2018-09-04 10:21:26 +02:00
Bastien Montagne
a43ebc63fa Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenkernel/intern/collision.c
2018-09-03 17:44:36 +02:00
Bastien Montagne
265ec400ab ClosthCollision: fully avoid computing BVHTree when we have no collision objects to test against.
Followup to rBc6bbe6c5aac29, much more elegant solution to the problem. ;)
2018-09-03 17:32:46 +02:00
Sergey Sharybin
b0067db852 Cleanup: Split function up
We would need to at least support one more PBVH building
here, trying to squeeze everything into one function will
make it really hard to read and follow.
2018-09-03 17:07:46 +02:00
Brecht Van Lommel
b812dfd161 Fix T56622: crash and other bugs deleting scenes.
Simplify library remapping code to handle special collection/object links
in postprocess. Previously base contained the actual object link which
needed special handling in preprocess, now objects are linked through
collection and the base cache can be updated in postprocess.
2018-09-03 16:29:59 +02:00
Bastien Montagne
30a2ad8efe Merge branch 'master' into blender2.8 2018-09-03 15:33:07 +02:00
Bastien Montagne
c6bbe6c5aa Fix (unreported) potentially giant memory leak in Cloth collision solver.
Not freeing its BVHTree in case there were no collision objects,
could quickly lead to hundreds of MB of memleak!
2018-09-03 15:30:33 +02:00
Antonioya
ff59553dc9 GP: Cleanup function parameter
There was a mix of enum parameters and int/bool values.
2018-09-03 10:14:13 +02:00
Campbell Barton
0ddf3e110e Cleanup: comment blocks 2018-09-02 18:51:31 +10:00
Campbell Barton
ae57383648 Cleanup: comment blocks 2018-09-02 18:28:27 +10:00
Campbell Barton
6abb37babc Cleanup: style 2018-09-02 16:49:45 +10:00
Sergey Sharybin
7f36fb458c Merge branch 'master' into blender2.8 2018-08-31 17:08:29 +02:00
Luca Rood
b6f0f8a5b5 Cloth: Implement angular bending springs
This implements angular bending springs for cloth simulation. This also
adds shearing springs for n-gons.

This angular spring implementation does not include Jacobian matrices,
as the springs can exist between polygons of different vertex counts,
rendering their relationships asymmetrical, and thus impossible to solve
with the current implementation. This means that the bending component
is solved explicitly. However, this is usually not a big problem, as
bending springs contribute less to instability than structural springs.

The the old linear bending model can still be used, and is the default for
existing files, to keep compatibility. However, the new angular bending
model is the default for any new simulation.

This commit makes small breaking changes, in that shearing springs are
now created on n-gons (also in linear bending mode), while n-gons were
previously ignored.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3662
2018-08-31 16:39:43 +02:00
Luca Rood
e3d31b8dfb Cloth: Componentize forces
This separates cloth stiffness and damping forces into tension,
compression, and shearing components, allowing more control over the
cloth behaviour.

This also adds a bending model selector (although the new bending model
itself is not implemented in this commit). This is because some of the
features implemented here only make sense within the new bending model,
while the old model is kept for compatibility.

This commit makes non-breaking changes, and thus maintains full
compatibility with existing simulations.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D3655
2018-08-31 16:33:59 +02:00
Sergey Sharybin
df62deb0a7 Remove CCGDM from PBVH
The statement that PBVH needs to keep track of CCGDM is wrong, PBVH itself
does not care about CCGDM at all, and it's weird for it to carry on this
beast so others can access.

Even more, nobody will actually caring about CCGDM itself, all the usages
were checking whether there is CCGDM or not. This is as good as simply
checking PBVH type.

Tested with an original report T53551 and everything is still stable.
2018-08-31 14:06:26 +02:00
Campbell Barton
e3c110e72e Fix T56619: Transform crash w/ curve deform 2018-08-31 11:15:09 +10:00
Antonioya
9a646b6a20 GP: New Armature modifier and tools to handle weights
This commit adds a new armature modifier for grease pencil. The deformations are done reusing the mesh deform routines.

There is also a new operator in weight paint mode to help the artist to generate weights base on armatures. This operator is required because 2D animation workflow is not equal to meshes when parent an object to armatures.

In the drawing engine has been added the option to handle the Fade object parameter used in armatures to see the strokes while move the bones.

When rename bones, all related data of grease pencil is renamed too. This not only affect new armature code, but also layers parented and hook modifiers.

Thanks @aligorith for his review and help.
2018-08-30 12:23:08 +02:00
Antonioya
9d00b0f796 Cleanup: Remove line introduced by error in previous commit 2018-08-30 11:18:04 +02:00
Antonioya
0845b1c8c8 GP: Improve Subdivide and Simplify
Now the weights are managed in the operators.

The subdivide operator and modifier code have been replaced with a shared function.

Some cleanup also.
2018-08-30 11:11:47 +02:00
Campbell Barton
89186595de Cleanup: add file doxy comments 2018-08-30 01:56:08 +10:00
Campbell Barton
0efecba957 Merge branch 'master' into blender2.8 2018-08-30 01:38:16 +10:00