Blender Git Commits

Blender Git "soc-2021-adaptive-cloth" branch commits.

Page: 4 / 13

August 12, 2021, 16:58 (GMT)
adaptive_cloth: cloth: prev_frame_mesh is invalid if frame incorrect

When current frame (framenr) is not immediately following the
last_frame stored, the `prev_frame_mesh` is invalid and must be
deleted. When remesh is on, even the clothObject is invalid, so delete
that as well.
August 12, 2021, 14:51 (GMT)
adaptive_cloth: Store previous frame mesh information for remeshing

The modifier stack doesn't give the previously evaluated `Mesh`, this
means it needs to be stored within the `ClothModifierData`.

Some parts of the cloth modifier copy information from the given
`Mesh` to the `clothObject` every frame, this should not happen when
remeshing is on.

In `BKE_cloth_remesh()`, must use the previous frame mesh if available
for remeshing.

TODO: In case the user goes back a frame, must make the
`clmd->prev_frame_mesh` invalid otherwise the simulation will not know
that the simulation must be restart.
August 12, 2021, 07:55 (GMT)
adaptive_cloth: Mesh: msgpack: store the type of Mesh on first line

This allows the code that deserializes it to decide which type of Mesh
structure to deserialize to. Since msgpack is compact, it doesn't
store information about the size (explicitly or implicitly) of the
element, this means that deserialization can lead to weird outputs if
wrong data structures are used.
August 12, 2021, 06:18 (GMT)
adaptive_cloth: set cloth information after remeshing

The cloth object doesn't know about the updated mesh, so update the
entire cloth object to utilize the new mesh.
August 11, 2021, 18:35 (GMT)
adaptive_cloth: AdaptiveMesh: more info in file dump filename

Store the edge index as well.
August 11, 2021, 07:05 (GMT)
adaptive_cloth: AdaptiveMesh: collapse edge: face inversion test

An edge is collapsible only if it doesn't invert any faces.
August 11, 2021, 06:20 (GMT)
adaptive_cloth: Mesh: get vert indices of edge aligned with n1

A set of "3D edges" don't always have n1 and n2 (through the verts of
the edge) in the same order, useful to get it in the same order.
August 10, 2021, 18:36 (GMT)
adaptive_cloth: AdaptiveMesh: call compute_info() where needed
August 10, 2021, 18:36 (GMT)
adaptive_cloth: AdaptiveMesh: compute info for newly added elements

AdaptiveMesh needs some more calculations, like edge size.
August 10, 2021, 18:35 (GMT)
adaptive_cloth: Mesh: compute info for newly added elements

Using MeshDiff which provides the newly added elements, iterate over
these elements and calculate certain required information. This makes
it easier to take care of things. If there is a MeshDiff produced,
always call compute_info() with it. This ensures all required
information is always available.
August 10, 2021, 16:42 (GMT)
adaptive_cloth: AdaptiveMesh: no edge flip if inverted face normals

Edge flippability test should prevent flipping of an edge that will
lead to inverted face normals.
August 10, 2021, 16:38 (GMT)
adaptive_cloth: remesh: compute face normals after creating mesh
August 10, 2021, 16:38 (GMT)
adaptive_cloth: Mesh: compute face normal(s)
August 9, 2021, 11:06 (GMT)
adaptive_cloth: AdaptiveMesh: preserve vert

Need to mark verts that should be preserves, ones that are on seams or
boundaries at the beginning of the remeshing process so that the
initial state is not altered.

Collapse edges should not collapse a vert that should be preserved
into another vert.
August 9, 2021, 11:06 (GMT)
adaptive_cloth: FilenameGen: increase number of leading zeros

Now that many more operations take place during remeshing, it exceeds
1000, so need to update the number of leading zeros.
August 8, 2021, 13:37 (GMT)
adaptive_cloth: AdaptiveMesh: collapse edges: edge size criterion

If the edge were to be collapsed, the newly formed edges shouldn't
exceed the edge size criterion (1.0 - small_value).
August 8, 2021, 12:58 (GMT)
adaptive_cloth: AdaptiveMesh: collapse edges: run flip edges

It is important that the total update to faces of the mesh (collapse
followed by flip edges) is added to the new_active_faces.
August 8, 2021, 12:39 (GMT)
adaptive_cloth: AdaptiveMesh: collapse edges: initial steps

There are todos but the code roughly works.
August 8, 2021, 12:38 (GMT)
adaptive_cloth: mesh: is vert on seam or boundary
August 8, 2021, 12:37 (GMT)
adaptive_cloth: mesh: is edge collapseable: make function const
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021