Blender Git Commit Log

Git Commits -> Revision 991eac8

Revision 991eac8 by Sergey Sharybin (master)
December 13, 2010, 21:22 (GMT)
Initial implementation of mdisps layer interpolation

Sculpt data shouldn't be lost when making topology changes without
quads<->tris face converison.

General idea:
- Go through all grid points of each corner and convert per-corner
coordiante to per-face cooredinate
- Apply weights and convert new point to per-corner coordinate
- Use bilinear interpolation to get needed displacement vector

Some additional work was necessery:
- Two neighbour corners could have different displacements along common
boundary. multires_mdisp_smooth_bounds() makes displacement "symmetrical"
- Point could change it's corner, so displacement vector should be flipped
in some way. In some cases it's not only flipping, because corner could
be mapped with some rotation. It's not solved for triangular faces yet,
so only z-axis displacement would be interpolated for tris.

More limitations:
- Interpolation will give incorrect result after quad<->triangle
face conversion.
- When face normal was fillped displacement would change it's direction too.

Commit Details:

Full Hash: 991eac85ff682f66fdf5e73638fb5ebb66cf5bd2
SVN Revision: 33646
Parent Commit: bfe5ae9
Lines Changed: +384, -42

3 Modified Paths:

/source/blender/blenkernel/BKE_multires.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/customdata.c (+256, -42) (Diff)
/source/blender/blenkernel/intern/multires.c (+127, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021