Blender Git Commits

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

Page: 5 / 13

August 8, 2021, 12:37 (GMT)
adaptive_cloth: mesh: const version of get checked node of vert
August 7, 2021, 06:31 (GMT)
adaptive_cloth: AdaptiveMesh: flippability: consider abs of 2 terms

Consider the absolute value of the cross_2d values generated because
they are just calculating the area and the assumption is that the
orientation of the triangles shouldn't matter for this test.
August 7, 2021, 06:03 (GMT)
adaptive_cloth: should remesh dump file macro

This helps turn off dumping of the serialized mesh easily.
August 6, 2021, 13:21 (GMT)
adaptive_cloth: mesh: split edge: correct orientation for new face

Set the correct orientation for the new faces formed during the split
edge operation.

By swapping the unwanted vert for the new vert, the orientation is
preserved.
August 6, 2021, 11:12 (GMT)
adaptive_cloth: AdaptiveMesh: edge flip test: only if edge size is ok

Allow the edge flip only if the flipped edges doesn't exceed the edge
size requirement.
August 6, 2021, 05:43 (GMT)
adaptive_cloth: Mesh: edge flippable: no connecting edge ov1, ov2

Ensure that the edge when flipped does not already have a connecting
edge. This leads to a variety of problems like overlapping duplicate
faces or deletion of faces if no duplication is a requirement. Edge
flips should only change the orientation of the edge which is only
through connectivity change, not actually change the number of
edges/faces.
August 6, 2021, 05:05 (GMT)
adaptive_cloth: AdaptiveMesh: flip edges: set edge size

It is important to set the edge size for all the newly created edges.

Limit the number of loops, it can easily become an infinite
loop. There should be a better solution for this but cannot think of
one as of right now.

Always check if the edge is still flippable or not. Again, this
couldn't be solved with a different flip edge algorithm where the new
edge is always added, but right now, that isn't possible.
August 5, 2021, 09:39 (GMT)
adaptive_cloth: AdaptiveMesh: splittable edges indices set changes

Earlier, an edge wouldn't be tested for if one of it's verts was
already selected (for another edge). This would seems almost correct
but leads to non symmetrical remeshing. So it makes sense to get all
the splittable edges, sort them based on their size and then split the
edge only if it still exists in the mesh.

So changes added:
Give the entire set of splittable edges instead of maximally
independent.
Sort the set based on the edge size.
August 5, 2021, 08:35 (GMT)
adaptive_cloth: fix: AdaptiveMesh: anisotropic flip check

Based on the next paper by the same authors, "Folding and Crumpling
Adaptive Sheets". The edge flip criterion is different. So using this
now.
August 5, 2021, 05:44 (GMT)
adaptive_cloth: fix: mesh: flip edge: edge might already exist

It is possible that there might already be an edge between ov1 and ov2
so it is best to not create a new edge between those because edges
between verts should always be unique for all the algorithms to work
correctly.

It is a case that shouldn't show up too often but when it does, it
will be interesting to see what happens in the static remeshing
part. The number of faces remains the same but number of edges can
change (reduce only).
August 4, 2021, 06:59 (GMT)
modifier: adaptive_remesh: collapse edge only if collapseable
August 4, 2021, 06:58 (GMT)
adaptive_cloth: mesh: collapse edges: remove dump file statements
August 4, 2021, 05:57 (GMT)
adaptive_cloth: mesh: is_edge_collapseable()

The collapse edge operation doesn't support one type of edge
collapse. When the collapse is across seams, it is possible for one
vert v1 to be asked to collapsed into multiple verts v2. Now deciding
which v2 to consider is a difficult task, so not handling it right now.
August 4, 2021, 05:12 (GMT)
adaptive_cloth: mesh: collapse edge: tackle edge case

During an across seams collapse edge, it is possible that n1 might
still have v1 attached to it. Take the example of a icosphere's bottom
most vert collapsed into some other neighbouring vert.

For this, make v1.node point to n1 so essentially, v1 has been
converted to v2 instead of removing it.
August 4, 2021, 04:46 (GMT)
adaptive_cloth: mesh: face edge linkage checks improvement

It is not necessary for the face to have it's verts available, because
delete_edge() can remove the verts from the face. So this check
ensures that there is no out of bounds access.
August 4, 2021, 04:01 (GMT)
adaptive_cloth: mesh: collapse edge across seams

It works for most cases. There is one case that is difficult to do
for, when v1 has two v2 to collapse into. Will add a check to make
sure the edge is collapsed only if collapse-able.
August 3, 2021, 16:45 (GMT)
adaptive_cloth: mesh: collapse edge rewrite to fix bugs

Found a lot of bugs in collapse edge routine using the debug
tool so needed a rewrite of this function.

Need to still add across seams support.
August 2, 2021, 05:45 (GMT)
adaptive_cloth: msgpack: store more information for easier debugging

Ideally this wouldn't be needed. This makes it easier to debug the
deserialization part. In case msgpack is used for final caching this
information needs to be removed.
August 1, 2021, 17:13 (GMT)
adaptive_cloth: static_remesh: dump file after each split and flip
August 1, 2021, 17:12 (GMT)
adaptive_cloth: filename_gen: number has 0's to make length 3
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021