Commit Graph

1175 Commits

Author SHA1 Message Date
7a535ed3d9 [#24263] Hooks influence area with vertex group assigned is not effected
changes...
- use vertex weights when hook indices are used.
- use force as well as vertex weights (overall multiplier), before when vertex weights were used force was ignored.
- rearranged the loops to be less confusing.
- falloff now in its own function.
- falloff curve slightly different, smoother towards the center /w 2 less sqrt calls.
2010-10-15 08:32:27 +00:00
fbf208d63f add UNUSED() to modifiers, also removed some unused args. 2010-10-14 06:29:17 +00:00
Nick Samarin
90ab716cd5 synched with trunk at revision 32129 2010-10-03 16:28:28 +00:00
81b6d308a7 [#23673] Modifier construction gives correct result in viewport but incorrect in render.
When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals.

It would have been easy to fix this by always calculating normals on deform modifiers, but slow.

To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals.
2010-09-30 10:51:36 +00:00
bbfbbe8e13 bugfix, screw modifier was overwriting its own calculated normals of the original verts. 2010-09-27 20:48:50 +00:00
57527cb0ac - Save MDISPS layer when applying modifier.
All sculpting used to disappear before. Save MDISPS if new mesh has got the same faces amount.
  NOTE: maybe some other layers should be saved?
- Apply multires modififier if MDISPS was auto-created.
  Multires's applyModifier used to return unchanged DM when MDISPS was auto-created.
- Set multires totlvl from MDISPS layer when new multires was added to mesh with existing MDISPS layer.
2010-09-26 18:29:54 +00:00
f88ad3f048 bugfix [#23595] Texture paint with a node based brush produces artifacts
also changed displace modifier not to link object depgraph when not using object texturespace.
2010-09-23 12:03:34 +00:00
4eaa10aa02 == Multires ==
Fixed bug #23657, "Modifiers dosen't work when you select diffrent mesh for object"

Multires modifier now adds empty mdisps if they're missing, rather than displaying a warning
Switching an object's mesh will now check for a multires modifier; if found the modifier's total number of levels are reset to match the mesh's mdisps
Switching the mesh also forces a multires update so that sculpted changes aren't lost
2010-09-09 00:14:51 +00:00
82432d0d99 merge from trunk at r31523 2010-09-07 05:47:34 +00:00
7e23353b08 Fix #23680: Explode with Split Edges over SubSurf - crash
Edge splitting function used CDDM_get_faces to get faces array, which isn't correct
for this case: dm's type is ccgDM. Use dm->getFaceArray instead.
2010-09-05 12:17:35 +00:00
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
ddbfb05c84 rna context rename
* context.main & bpy.types.Main --> context.blend_data & bpy.types.BlendData
* context.manager --> context.window_manager
2010-09-02 04:53:05 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
96b138d98b added include for offsetof(), also use <string.h>, not "string.h" 2010-08-13 15:26:37 +00:00
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
15669532a2 header re-shuffle, some headers contained unneeded refereces to other headers, better include inline with the C files that need them 2010-08-10 05:41:51 +00:00
Nick Samarin
7ec16a7c6e fixed bugs (wrong number of triangle in buildMeshAdjacence, wrong face indexes in applyModifier) 2010-08-09 10:20:53 +00:00
46d88bb803 fix for un-initialized variable in screw modifier. 2010-08-06 00:13:44 +00:00
deddb90a41 bugfix [#23179] Screw Modifier looses VGroups
- flip option now flips faces rather then flipping loop order. Now it can copy vertex data in chunks the size of the original vertex count.
- converted macro's to static func's and some general cleanup.
2010-08-05 23:40:21 +00:00
Nick Samarin
f09cd6974e synched with trunk at revision 31065 2010-08-05 13:54:56 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
cc673669c7 use more BLI math funcs (no functional changes) 2010-07-31 10:58:10 +00:00
Nick Samarin
dbc8d4274f - moved navmesh conversion code to ED_Editors project (ED_navmesh_conversion.h and navmesh_conversion.cpp files)
- added new custom data layer CD_Recast
2010-07-30 13:02:32 +00:00
Nick Samarin
870e0e37e5 - fixed bug in steering actuator: calculate 2d distance to target for seeking and fleeing
- added possibility to add navmesh modifier manually in order to transform manually created mesh to navigation mesh (with navigation polygons data layer)
- added possibility to use existed navigation mesh object for navmesh generation (so new object won't be created, but existed object will be updated)
2010-07-29 14:06:48 +00:00
Nick Samarin
14171324b7 - reworked conversion to dtStatNavMesh in KX_NavMeshObject to support navigation mesh editing 2010-07-28 19:43:05 +00:00
Nick Samarin
af1ca0cfc1 - added operators for manual assigning navigation polygon idx to mesh faces in edit mode
- modified conversion process to take into account changes caused by mesh editing
Note: conversion to dtStatNavMesh in KX_NavMeshObject hasn't worked correctly yet
2010-07-27 21:01:00 +00:00
33cb2f93ff Fix #22661: Multires/Sculpt Segfult
- Show error message in multires modifier if there is no MDISPS layer
- Sculpt on basis mesh if there is no the same layer
2010-07-22 11:27:54 +00:00
Nick Samarin
c6ea23c77c synched with trunk at revision 30597 2010-07-21 20:54:53 +00:00
Nick Samarin
b7819807b3 implemented navigation mesh visualization via modifier 2010-07-21 19:44:59 +00:00
c11c196efa part 1 of merge from trunk at r30358; it compiles, but doesn't link quite yet :) 2010-07-19 04:44:37 +00:00
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
Nick Samarin
219e9022b9 - set default value for level height params
- added flag OPTYPE_UNDO for navmesh operator to enable undo operation
2010-07-14 20:09:04 +00:00
16a54c9b8f [#22782] Solidify Thickness negative and positive values are the same result
more a communication problem but Ed Britton raises a valid point that often you want the original faces so changing the default offset to -1.0.
2010-07-14 08:24:24 +00:00
Nick Samarin
81021db4f9 synched with trunk at revision 30243 2010-07-14 07:35:39 +00:00
Nick Samarin
36e27b0765 Added operator for generating navigation mesh for selected blender objects 2010-07-09 22:16:52 +00:00
052ab934aa Fix #20383: mesh deform modifier wasn't working on lattices. 2010-07-05 11:48:13 +00:00
03fa4bb999 Partial cleanup of timing system, with some guidance from Joshua:
* Fractional frames support has been changed to use a new var, scene->r.subframe. 
This is a 0.0-1.0 float representing a subframe interval, used in generating a final float 
frame number to evaluate animation system etc.
* Changed frame_to_float() and some instances of bsystem_time() into a convenience function:
float BKE_curframe(scene) which retrieves the floating point current frame, after subframe
and frame length corrections.
* Removed blur_offs and field_offs globals. These are now stored in render, used to 
generate a scene->r.subframe before render database processing.
2010-06-27 05:39:55 +00:00
Nick Samarin
4fb80f36e2 added actual creation of navigation mesh for navmesh modifier 2010-06-25 21:08:23 +00:00
Nick Samarin
543e64c601 - added new modifier to create navigation mesh (it's empty now)
- added parameters for navmesh modifier
2010-06-25 13:03:57 +00:00
844274c27a Don't evaluate displace modifier with strength 0, avoids multires
subdividing vertex group here in some cases.

(merge from render25 branch)
2010-06-22 15:08:39 +00:00
a648a4699f scale option was only working for panoramic cameras 2010-06-15 21:46:02 +00:00
262cfb59d3 solidify rim material option, use the next material slot for rim faces.
a bit arbitrary but with most cases where solidify is used in durian we get UV texture stretching since there is no way to access the newly created size faces this gives us a way to switch out the material on the rim.
2010-06-13 13:56:13 +00:00
95b9e4171e use utility functions for vertex groups, no functional changes 2010-06-13 00:11:42 +00:00
d9690e9295 Reverting commit 21540, incorrect bugfix. 2010-06-07 19:16:56 +00:00
6a8bff9570 Fixed bug #21540, Array Modifier Capping refresh on open problem.
* Problem was that the modifier directly accessed ob->derivedFinal, but that wasn't being built if the object was on a different layer. Changed to mesh_get_derived_final.

Notes:
* I fixed this for array and boolean, reported in the bug; there might be other places affected by this mistake. It's an easy fix if so.
* The datamask being passed in isn't especially correct. Possibly we should be accessing the datamask being used to build the array modifier DerivedMesh? Anyway, at least this will get the mesh to show up in the viewport.
2010-06-07 18:20:59 +00:00
ae8bba2165 Fix #22331: mesh deform modifier not caculate all shape keys when using 'apply shape keys in edit mode'
This modifier used undeformed coordinates from emDM.
Added method getVertCos to emDM, so meshdeform now could use it
to get deformed coordinates form any derived mesh.
2010-06-07 14:38:59 +00:00
0729a58224 solidify modifier wasnt requesting vertex groups when it needed them. 2010-06-03 22:08:14 +00:00
6d72150312 wave modifier was dividing by zero for each vertex with default settings of falloff == 0.0f.
annoying with --debug-fpe and better to use multiply in the loop.
2010-06-03 19:56:13 +00:00
89320c911e Sculpt & modifiers: patch by Sergey Sharybin, with modifications by me.
Fixes various crashes and redraw problems, most noticeable new feature
is that you can now sculpt on a multires mesh with deforming modifiers
preceding it.

I've left out support for sculpting on multires with enabled modifiers
following it, in this case only the base mesh can be sculpted now. The
code changes needed to do this are just too ugly in my opinion, would
need a more torough redesign which I don't think we should try now. In
my opinion this is also not really an important case, since it's going
to be incredibly slow anyway to run a modifier on a high res mesh while
sculpting.


So, to summarize current state:

* Fastest sculpting: base mesh with no modifiers or multires with only
  modifiers preceding it.
* Slower sculpting: base mesh with modifiers, depends on the speed of
  the modifiers.
* Not supported: multires mesh with modifiers following it.
2010-06-02 18:04:31 +00:00
402a26e79f quiet warnings in screw modifier, also fix bad args for lookat_m4 and polarview_m4 to rotate_m4, however these functions are not used at the moment so it didnt cause any problems. 2010-06-02 07:40:50 +00:00