Commit Graph

1223 Commits

Author SHA1 Message Date
Campbell Barton 23baf8c9c3 code cleanup: check defgroup_name_index() return value != -1, rather then checking >= 0.
also remove unused bmesh decimator code.
2012-10-22 17:19:05 +00:00
Campbell Barton 3526ae9805 add vertex group option to decimate modifier, handy if you want to pin some parts of the geometry. 2012-10-22 15:39:06 +00:00
Campbell Barton ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00
Campbell Barton a4b2783169 small optimization for BLI_heap(), give some speedup in decimeter.
- use unsigned ints only (where mixing signed/unsigned)
- turn heap_swap into an inline function, add SWAP_TVAL macro to swap values using a temp value as storage.
- added type checking SHIFT3/4 macros

also style cleanup for CTR_Map
2012-10-22 03:25:53 +00:00
Campbell Barton 226a5ee834 remove LOD_Decimator (c++ decimator), now replaced by bmesh decimator. also remove CTR c++ classes that are no longer used. 2012-10-22 02:39:26 +00:00
Campbell Barton 2342209c95 enable bmesh decimator by default. 2012-10-22 02:09:41 +00:00
Campbell Barton 248b2fc6d6 bmesh-decimator update
- update face normals when triangulating.
- avoid divide by zero when interpolating customdata on a zero length edge.
- replace zero float comparisons with fabsf() < FLT_EPSILON to avoid numeric error.

also renamed BLI_heap_empty() --> BLI_heap_is_empty() so its obviously readonly function.
2012-10-21 15:20:53 +00:00
Bastien Montagne 26d0492653 A final bunch of UI messages fixes and tweaks, and some BKE_report()<->BKE_reportf() fixes. 2012-10-21 14:02:30 +00:00
Campbell Barton d599b643b7 style cleanup: bge, switch statements mostly.
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
Campbell Barton f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
Campbell Barton 8944dab58a bmesh decimator support for loop & edge customdata. (most importantly UVs and vertex colors). 2012-10-20 17:31:07 +00:00
Campbell Barton 23d43396ff code cleanup: quiet -Wshadow warning, var name changes for splice functions and add assert for BM_edge_splice() when edges don't use the same vertices. 2012-10-20 09:56:40 +00:00
Campbell Barton e527ce552e add option to initialize heap with a known number of elements, since this may be known in advance - it avoids re-allocing too much. 2012-10-19 10:40:32 +00:00
Campbell Barton 9b07c98bb4 code cleanup: minor style change & quiet warning, also add assert for BM_vert_splice() to check for invalid use. 2012-10-19 03:07:58 +00:00
Lukas Toenne d3eb9dddd6 Better fix for #32846. Instead of using time change or object recalc condition, set an explicit object flag to disable particle system modifier update during dupli list creation. This is more transparent and should prevent issues with hair path generation being skipped. 2012-10-18 15:54:24 +00:00
Lukas Toenne 7061fa7cf1 Fix #32887, ParticleInstance: crash with hidden particle system + children.
The issue here is that the particle instance modifier (pimd) accesses data from the linked particle system modifier (psmd). This data is only correctly generated when the psmd is enabled; here the design violates the modifier principle of providing valid object data (or rather DM) even when disabled.

The solution in this case is to make a custom isDisabled check for the pimd to see if the psmd is enabled. This means the pimd won't work for disabled psmd, but doesn't crash.
2012-10-17 09:49:32 +00:00
Lukas Toenne 66295d709c Fix/workaround #32846, dupli group + particle instances gets messed up in Cycles viewport rendering.
Caused by modifier updates during dupli-list generation. The dupli-list generation temporarily changes the ob->obmat matrix, which in turn leads to wrong particle states if used for reset. Skip the particle update if no timestep is performed or initialization required.

Proper solution for this problem would be to avoid changing the object data (= particles) state altogether in modifiers, which are usually only writing to DM data and not touching the object or base mesh. This would require a well designed physics framework and integrating it into current particles is close to impossible.
2012-10-16 14:55:36 +00:00
Campbell Barton 8e01b8959e style cleanup 2012-10-14 13:08:19 +00:00
Daniel Genrich cb634b9100 Google Summer of Code project: "Smoke Simulator Improvements & Fire".
Documentation & Test blend files:
------------------
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements

Credits:
------------------
Miika Hamalainen (MiikaH): Student / Main programmer

Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch
Google: For Google Summer of Code 2012
2012-10-10 13:18:07 +00:00
Campbell Barton 97d4fb4161 code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo too. 2012-10-09 13:36:42 +00:00
Campbell Barton df298490b8 mask data is no longer automatically added when sculpting (except when there is a multi-res modifier). 2012-10-01 05:19:57 +00:00
Sergey Sharybin c1abde5935 Fix #32667: Curve softbodies doesn't render animation (cycles)
Issue was caused by cycles being duplicated curve objects before converting
them to mesh. This duplication will loose pointcache which resulted in object
not being properly deformed.
2012-09-27 14:37:20 +00:00
Campbell Barton 3b2962f2ab remove redundant NULL checks in somepledeform modifier (dcut is never NULL). 2012-09-25 22:05:40 +00:00
Campbell Barton c1ed602060 default simple deforms Relative option to be enabled, IMHO this shouldn't be an option (objects should always work relative to eachother). At least defaulting to ON gives users more predictable behavior (Transforming both objects together keeps them the same relative to eachother). 2012-09-25 03:00:33 +00:00
Campbell Barton f67de7d805 fix for regression in solidify modifier copying loop customdata to rim faces (UV's and vertex colors).
Own fault when fixing rim face flipping r46924
2012-09-25 01:21:21 +00:00
Campbell Barton b0bf816ece fix [#32646] Duplifaces can have wrong orientation with ngons
concave ngons could flip the dupliface, now use the faces normal when calculating the dupli-face.
2012-09-25 00:20:42 +00:00
Campbell Barton 1a1e37f4a8 replace UV project modifier matrix calculation with BKE_camera_params_* functions, double checled combinations of aspect/scale/shift work as before --- but this reduces the likelyhood of discrepancies for sensor size (corner cases). 2012-09-22 03:33:31 +00:00
Campbell Barton 25c96bc9f3 code cleanup: remove unused macros, commet some which may be useful later - or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc 2012-09-20 01:02:39 +00:00
Campbell Barton 0d5d2146eb code cleanup: make shape key api names consistent with our new convention. 2012-09-19 10:12:07 +00:00
Campbell Barton aff591c6e1 code cleanup: typos and set exceptional cases of zero length normals as UNLIKELY(). 2012-09-17 22:22:06 +00:00
Campbell Barton 5dbd603363 code cleanup: remove more invalid/paranoid NULL checks 2012-09-15 07:42:30 +00:00
Campbell Barton e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
Campbell Barton f66d11cf77 fix for missing NULL check in own recent commit, thanks Gaia for pointing this out. 2012-09-12 23:19:08 +00:00
Brecht Van Lommel 272700728f Fix #32338: particle instance modifier did not work well when the mesh had only
vertices. Previously it would hide particles by creating invalid faces, but this
didn't make the vertices actually disappear.

Also found that it could generated corrupt geometry for cases with faces, which
gave wrong subsurf and could crash in edit mode.
2012-09-12 16:42:24 +00:00
Brecht Van Lommel 7ed5d19c24 Fix #32543: screw modifier with smooth shading disabled still had one segment
smooth shaded.
2012-09-12 13:06:31 +00:00
Campbell Barton 5d2e4bb87e code cleanup: capitalize defines. 2012-09-06 01:31:15 +00:00
Campbell Barton aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
Campbell Barton ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
Campbell Barton 65dbeabdc6 style cleanup: indentation, also quiet double promotion warnings for despeckle node. 2012-08-23 16:17:47 +00:00
Campbell Barton 8bd7c3fba2 change curve evaluation functions never to modify curve data (ensures thread safety), now initializations has to be done outside evaluation. 2012-08-21 14:43:51 +00:00
Campbell Barton 626e6cf99e skip allocating texture coords for the displace modifier when they are unused. 2012-08-18 11:48:35 +00:00
Campbell Barton 27a8487070 style cleanup: pep8 & unfinished comment from own commit. 2012-08-14 18:43:15 +00:00
Campbell Barton 3220ef9d95 patch [#32327] Uniform displace modifier
from Fredrik Hansson (fredrikh)

With some edits for python UI.
The patch makes the displace modifier treat an empty texture as white.
2012-08-14 17:36:41 +00:00
Gaia Clary 3ebbfe2c40 new parameter in assign_material() to specify where material shall be assigned: object, obdata, by userpref(default) (as discussed with ideasman_42) 2012-08-12 17:12:07 +00:00
Campbell Barton 0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
Nicholas Bishop a423f55ca9 Avoid recursion in skin modifier's edge matrix calculations
This is a potential fix for bug [#32263] Instant Crash with Skin
modifier.
2012-08-05 23:29:50 +00:00
Campbell Barton c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Campbell Barton 94576f20f4 fix own error in recent commit - possible uninitialized value. 2012-07-28 00:08:26 +00:00
Campbell Barton 4c2de5e0c7 fix some types and incorrect info 2012-07-26 17:41:09 +00:00
Campbell Barton 7f1a76887f workaround for depsgraph update issue with booleans. 2012-07-26 17:14:23 +00:00