Commit Graph

1223 Commits

Author SHA1 Message Date
78a4e24614 svn merge ^/trunk/blender -r43009:43033 2011-12-31 12:03:36 +00:00
ba8d1b940f option to build without remesh modifier for cmake and scons 2011-12-31 03:34:44 +00:00
289c8b5758 Add remesh modifier (dual contouring).
This patch adds a new remeshing modifier. The algorithm is based on
the paper "Dual Contouring of Hermite Data", and the implementation
was contributed to Blender by Dr. Tao Ju.

The contributed code is in intern/dualcon, and was modified to compile
under gcc and work on 64-bit systems. Files not needed for Blender
were removed and a small C wrapper was added in order to interface it
with Blender. The rest of the patch is just standard modifier stuff.

Reviewed by Sergey, code review link:
http://codereview.appspot.com/5491053/

The remesh icon was contributed by Zafio:
http://blenderartists.org/forum/showthread.php?240751-Request-for-modifier-icon/page2.
Thanks to everyone in that thread for the icon proposals and
discussion.

Documentation and examples on the Blender wiki:
http://wiki.blender.org/index.php/User:Nicholasbishop/RemeshModifier

In case the history is needed for anything, check the remesh-modifier
branch of this git repository:
https://gitorious.org/~nicholasbishop/blenderprojects/nicholasbishop-blender
2011-12-30 21:11:40 +00:00
ab5bef6fbb bmesh mirror modifier cleanup
* vertex map was a dynamicly realloc'd array when the final size was known, use a fixed array instead.
* vertex map was being calculated even when not used.
* face tesselation was being called twice.
* an unused deform group array was being created.
2011-12-29 09:15:06 +00:00
eee1ad6e56 bmesh mirror modifier wasn't doing UV mirror at all. 2011-12-29 07:29:44 +00:00
6b587bc5a1 svn merge ^/trunk/blender -r42957:42967 2011-12-29 06:44:51 +00:00
f951cbb90c remove unused initFlags option in mirror modifier 2011-12-29 06:32:50 +00:00
c058d252d1 minor edits to trunk mirror modifier, use unsigned ints since the vertex values are unsigned + minor formatting edits 2011-12-29 06:07:34 +00:00
b527e9f0ac array had its own unused vertgroup_flip_name function. removed. 2011-12-29 04:07:57 +00:00
c174f5682c syncing modifiers with trunk - only small changes 2011-12-29 04:04:27 +00:00
85a97f64a7 add UNLIKELY / LIKELY util defines to help optimize iterators that are called a lot, only defined for gcc at the moment.
also some cmake formatting edits.
2011-12-29 01:46:58 +00:00
cb8090d4c8 svn merge ^/trunk/blender -r42940:42953 2011-12-28 22:55:45 +00:00
59457e0184 cache customdata checks to avoid looking up on each call to mesh_loops_to_mface_corners() 2011-12-28 22:37:09 +00:00
fe2131367b Fix #29696: Crash on exit of edit mode after deleting contents of fluid domain
Added NULL-check to copying material number and flags when loading cache
2011-12-28 17:59:56 +00:00
f7609ed5f5 svn merge ^/trunk/blender -r42918:42920 2011-12-28 11:20:45 +00:00
0b00bb236c make MOD_dynamicpaint.c use more typical gpl2+ text and some formatting edits in DNA 2011-12-28 11:08:38 +00:00
ff2eb8d72f svn merge ^/trunk/blender -r42914:42918 2011-12-28 10:27:25 +00:00
2e92b14bc6 copy BLI_edgehash changes from bmesh branch, main change is use of mempool. 2011-12-28 10:20:37 +00:00
2da527b017 un-inline edgehash functions, BLI_edgehash_insert was far too big to inline.
and have edge hash use unsigned ints since edge verts are unsigned ints for MEdge's
2011-12-28 10:06:10 +00:00
86b184dc9b un-inline edgehash functions, BLI_edgehash_insert especially was too large to inline 2011-12-28 09:47:24 +00:00
f89aeae10c sync some edits with bmesh 2011-12-28 07:43:06 +00:00
dab41e0499 macro for getting next/previous MPoly loops 2011-12-28 07:10:27 +00:00
4bc4c018d1 set mloop edge and vertex as unsigned ints since face/edge reference verts as unsigned ints too 2011-12-28 04:43:29 +00:00
de14457abf option to save bmesh files in older mesh format so they can load in older versoons of blender.
- saves UV's and VCols
- skips NGons
- resulting files load in both BMesh and Trunk.

TODO - add an option in the UI to access this.
2011-12-27 08:39:55 +00:00
dab71f9b12 svn merge ^/trunk/blender -r42882:42886 2011-12-27 04:08:21 +00:00
397d7d949f remove unneeded casts from 'unsigned int' to 'int' 2011-12-27 03:54:23 +00:00
2cd5436a81 svn merge ^/trunk/blender -r42839:42871 2011-12-25 21:31:19 +00:00
eb3beca8d4 replace u_int64_t with cc99's uint64_t as suggested by Nicholas Bishop. 2011-12-24 03:03:42 +00:00
ddcf56366d change customdata mask from an 'unsigned int' to an 'u_int64_t', since BMesh branch has run out of bits 2011-12-23 20:30:23 +00:00
4ced91da47 svn merge ^/trunk/blender -r42778:42839 2011-12-23 08:41:53 +00:00
4045b46676 Some small perf tweaks to weightvg proximity: do not use indices in case all vertices are affected... 2011-12-22 14:04:25 +00:00
1fef05084e svn merge ^/trunk/blender -r42761:42776 2011-12-20 22:08:24 +00:00
cceef0d44f svn merge ^/trunk/blender -r42759:42761 2011-12-20 21:28:57 +00:00
738fdc7b6f New modifier type: eModifierTypeType_NonGeometrical, for modifiers affecting CustomData layers only (e.g. UVProject and WeightVG ones).
Also, allow applying to obdata those modifiers, even with shapekeys, but do not allow applying them *as* shapekey (as shapekeys do not have CD layers).

Fix [#29636] Vertex Weight Mix modifier "apply" button don't work.

Note: applying whit shape keys currently always uses base shape, not current one (for apply to obdata as well as apply to shapekey), but this is another topic...
2011-12-20 14:15:59 +00:00
2bfad340ff Fix a small typo-bug in UVProject modifier (using v3 instead of v4 to detect tri/quad faces). Seems it was harmless, though... 2011-12-20 09:57:01 +00:00
efb4eff353 svn merge ^/trunk/blender -r42722:42742 2011-12-20 01:33:14 +00:00
41c992ce85 Much cleaner and satisfying code in weightvg modifiers' "init": copy only the CD_DEFORMVERT data layer (if it's the org one), and not the whole DerivedMesh!
Quite oddly, for Proximity mod, this increases the performances of the apply func (about 20-25%, e.g. from 0.04 to 0.03 sec), but decreases the global framerate (e.g. in TEST_5 scene of testing file, I lose about 7%, from 4.6 to 4.3fps (open ATI driver)...).
2011-12-19 14:09:36 +00:00
2457d4f5ab svn merge ^/trunk/blender -r42680:42722 2011-12-19 10:40:48 +00:00
90ef435145 Fix a bug in CustomData_duplicate_referenced_layer(_named) functions: MEM_dupallocN does not work with complex layers like CD_MDEFORMVERT ones, so rather use copy func when available. 2011-12-19 08:26:53 +00:00
65f2cbdd0f remove windows only benchmark functions, use PIL_time.h's TIMEIT macros instead. 2011-12-18 22:35:52 +00:00
64567ffb87 Minor tweaking to WeightVGProximity modifier code (not really usefull currently, but mandatory for other future changes…) 2011-12-18 21:46:26 +00:00
84236c2502 use 2d copy functions with UV's in more places. 2011-12-17 03:46:38 +00:00
db6cb30941 svn merge ^/trunk/blender -r42669:42670 2011-12-16 23:50:55 +00:00
3311164b24 Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation:

mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B)
mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B)

For branch maintainers, it should be relatively simple to fix things manually,
it's also possible run this script after merging to do automatic replacement:
http://www.pasteall.org/27459/python
2011-12-16 19:53:12 +00:00
862dc635ed svn merge ^/trunk/blender -r42617:42655 2011-12-15 23:59:02 +00:00
9996188791 New fix for [#29543] Hook modifier: falloff + vgroup influence broken
Don't know why, but creating a dm when there was none broke multi hooks on curves (see #29567)... So as a valid dm is only mandatory for meshes when a vgroup is set, only create it in those cases!
2011-12-15 08:57:48 +00:00
40a2c1a292 more vertex weight edits,
* replace inline loops with api calls.
* change constraints so verts with 0.0 weight are ignored like they are everywhere else.
2011-12-14 22:54:38 +00:00
6254cc1c70 2 new bevel options for the operator and the modifier.
* even offset, uses same shell distance method as solidify to give even with beveled faces.
* distance offset, this is mostly for compatibility with the modifier in trunk which uses the bevel width as a distance rather then a percentage. at the moment this is awkward for the operator since it makes percent act differently where the 0-1 range doesnt make sense.

still need to bring back more options from trunks bevel modifier.
2011-12-13 09:57:19 +00:00
65f3b93f14 svn merge ^/trunk/blender -r42521:42550 2011-12-10 05:38:00 +00:00
a88b29c062 Bugfix [#29567] Second Hook Modifier fails on Curve Object
This was broken in r.42515. In particular, rigs with Spline IK would break,
since they often use curves with hook modifiers controlling the control-points
of those curves.
2011-12-10 03:37:37 +00:00