Commit Graph

452 Commits

Author SHA1 Message Date
982cd94269 Fixed uninitialized causing almost infinite loop.
Wind is media friction now, to have consitent relaxing when the squall is gone, fixed direrction.
2005-04-06 10:29:04 +00:00
331c25dda4 fixed small glitch multiplying nodemass twice (thanks ton)
claened up sbObjectStep(...) to follow 'time step rules'
added really care for framerate in scene
renamed arguments in softbody_calc_forces(...); and softbody_apply_forces(...); for better reading
fixed particle integration to be ODE solver compatible
2005-04-05 20:28:32 +00:00
6bf71582b9 Adds OpenGL includes for details see:
http://projects.blender.org/tracker/index.php?func=detail&aid=2387&group_id=9&atid=127

Kent
2005-04-05 15:02:21 +00:00
7a377bcb05 - Made SoftBody work with Particle Force Fields.
- Added new (Particle) Deflector; type Wind.
  Wind gives constant directional force. It is animatable (Ipos) and reacts
  to Object scaling. Also uses FallOff. Works for particles and SoftBody
  quick movie check; http://www.blender.org/bf/0001_0250.avi
  test file is in download.blender.org/demo/test/wind_soft.blend

- Added MaxDist option for forcefields, to control its influence better.
  Is drawn as circle in 3d window.

Forcefields are a bit weak still... should react to scaling, or not; in
that case drawing should indicate it (done for spherical field now).
2005-04-04 18:09:47 +00:00
f10c10310f - change make_orco_displist_mesh to use current editmesh as source
if needed.
 - don't return cached subsurf during editmode, order is messed up (fixes
   orco rendering).
2005-04-04 12:22:33 +00:00
dfdb1bbd8a - dropped user specified vertex data functions for ccgsubsurf,
didn't really add value. hardcoded to use float[3] now.
2005-04-04 05:21:20 +00:00
93c66febd7 - removed DispListMesh.{editedge,editface}
- removed displistmesh_from_{mesh,editmesh}
 - removed EditVert.ssco
 - removed unused functions for DispListMesh DerivedMesh

 Still need lots more testing for this stuff.
2005-04-04 04:50:41 +00:00
876d8ef7b5 - removed subsurf.c from SConscript 2005-04-04 04:21:01 +00:00
b88711b531 - moved subsurf_calculate_limit_positions to using ccgsubsurf
- removed ME_CCG_SUBSURF define
 - dropped CCGSubSurf from editing menu... subsurf is always
   CCG now.

 NOTE: If you saved a file with CCGSubSurf set on the button
 will show up blank (will still work as a subsurf). Just change
 type back to Catmull-Clark.

 Wave bye-bye to HyperMesh...
2005-04-04 04:20:32 +00:00
0b02d592b8 - work-in-progress: subsurf level 0 now just acts like a regular mesh,
before it would follow subsurf code path by creating fake displistmesh,
   etc... kinda fun for testing but just annoying now.
 - change to creasing behavior, to make sure that with full creasing effect
   is just simple subdivision.
2005-04-04 03:38:21 +00:00
5c85bb9cd2 - kinda crazy, but replaced old ME_SIMPLE_SUBDIV method with just
using regular ccgsubsurf but with crease set to full.
2005-04-04 02:55:56 +00:00
7b0a661413 - sorry, forgot to save before commit, part of vertex normal fix 2005-04-03 22:02:03 +00:00
da01fb62ac - added vertex normal calculation functionality to CCG subsurf (CCGSS
is fast, but can be rather tedious to work with...)
 - vertex normals for smooth faces draw correctly now... this code also
   switched to drawing with GL_QUAD_STRIP which can be quite a bit faster
   (depends how fast graphics card calcs lighting, I get 50% faster here)
2005-04-03 21:52:10 +00:00
41ad061a09 Error in Softbody goal-min and goal-max correction. It was giving
not as result the range as indicated!
2005-04-03 20:57:31 +00:00
9ec8778288 SoftBody:
- on add new SoftBody, it creates automatically edges in Mesh now, gives
  too confusing results otherwise
- if no edges exist in mesh, it also doesnt add diagonals for faces in
  softbody

Transform;

- fixed stupid 'used unitialized' gcc warning (sorry theeth!)
- made dualAxisConstraint() accept string too
- little cleanup of prints in using Manipulators
2005-04-03 20:13:10 +00:00
8d92e6ced2 Added more dependencies to softbody, for correct recalc
For example; subsurfed softbody after play anim (ALT+A) didn't get
cleared correctly. Darn where_is_object stuff!
2005-04-03 16:57:16 +00:00
90df59630e More softbody goodness;
- Added Softbody effect for Lattices (not too useful yet without
  vertexgroups though)
- Added default vertex "goal" value + button, to be assigned when no
  vertexgroup exists (or vertex isn't in the group)
- Made softmin and softmax work as documented (defining min and max range)
- made changes in buttons send 'update' signal to softbody

And:

- added Nkey Properties to show lattice coordinates
2005-04-02 19:52:32 +00:00
d4de0b5dec - fix for drawing of hidden edges in editmode (w/ optimal off)
kinda hacky because it is in derivedmesh implementation not drawing
   logic where I would prefer it to be.
2005-04-02 18:37:18 +00:00
0d78b56c5b - mesh was drawing edges underneath selected edges in optimal mode,
waste of time!
 - made solid face drawing respect hidden faces
 - made selection work for hidden face drawing when select visible is on
2005-04-02 18:21:50 +00:00
88ea754045 Added signal OB_SB_REDO for ob->softflag to force a recalc.
Now used after weight painting, so it updates immediately.
2005-04-02 15:55:15 +00:00
24c9f65056 - got tired of str[n]casecmp not declared warnings
- added BLI_str[n]casecmp, use instead of regular versions
 - rewrote BLI_str[n]casecmp to not be stupid
2005-04-02 15:36:57 +00:00
bdb86d7c67 Integration stage of Softbody project
User level notes are in Wiki here;
http://wiki.blender.org/bin/view.pl/Blenderdev/Softbodies
And will be added in blender3d.org CMS later.

Tech level notes are still pending, but here's the most relevant ones;

- made ob->soft struct SoftBody to hold all settings, and read/save in
  files
- added (temporal!) conversion for the old settings. So: read old files
  with softbody experiments now, and save over!
- cleaned API calls for softbody, which are only 5 of them now:
  sbNew()
  sbFree()
  sbObjectStep()          (animation steps)
  sbObjectToSoftbody()    (full re-initialize data)
  sbObjectReset()         (only reset motion)
- API calls accepts time in frames now, within softbody.c it converts

Further, internally code was cleaned some (missing tabs etc). Also tried
to keep a well defined structure with hints how to add support for more
objects. Can write notes about that...
2005-04-02 13:57:23 +00:00
b8e4f1d2aa - bug fix for old subsurf, crash when using meshes with free vertices 2005-04-01 19:51:28 +00:00
e2d8df3e78 - part of creasing changes 2005-04-01 03:02:13 +00:00
1065f9d6ed - apply spike crease bug fix to ccgsubsurf 2005-04-01 02:52:55 +00:00
4ef0170bfa - take out compile time conditional behavior of creasing for ccg
subsurf (always on)
 - bug fix, creasing wasn't evaluated properly after incremental change
2005-04-01 02:07:34 +00:00
bb29f12924 - potential fix for crash on amd64 2005-03-31 17:15:44 +00:00
9259ff35a4 - switch to drawing aging in and out of optimal mode
- switch to not using arena allocator in editmode for ccgsubsurf (memory
   doesn't get freed during incremental)
2005-03-31 16:54:47 +00:00
1ed8f77f6b - disable overriding color (to show aging) during selection drawing 2005-03-31 16:16:22 +00:00
cfbab6f6a4 - fix warnings for gcc
- some subsurf settings not correctly changed in editmode
2005-03-31 16:08:29 +00:00
9c91e1a954 - adapt caching check for G.editMesh->derived 2005-03-31 15:55:31 +00:00
f0a8a93292 - removed USE_CCGSUBSURF define (always on now)
- added G.editMesh->derived pointer... idea is to use this
   for mesh derived from editmesh instead of Mesh->derived (as the
   derived mesh tends to vary depending on what it came from).

   This part could be cleaner, also there may problems with it not
   being invalidated correctly.

 - And most importantly: In case people were beginning to worry all
   these edits were just crazy zr stuff, the big point comes about:
   Incremental subsurf calculation is now enabled. This gives massive
   speed improvements when editing a large mesh.

   For the eye-candy happy: try setting G.rt==52 before entering editmode
   and the edges and vertices (in optimal mode) will switch to displaying
   visually the age since a region has last been calculated. Lots of
   fun!
2005-03-31 15:44:05 +00:00
0d35a1dd1e - fix some signed/unsigned comparison warnings 2005-03-31 15:15:12 +00:00
84ccd0dcde - zero derived and decimated pointers on copy 2005-03-30 18:06:42 +00:00
cc4320e790 - added dlm->medge for displistmesh_from_mesh 2005-03-30 17:40:51 +00:00
489b38fa40 - Claims of speed improvement last night were slightly
overrated. Turns out there was a bug in recalc code where
   in editmode mesh was getting reevaluated all the time (because
   ob->disp doesn't get built in editmode). This should fix.
 - Fix some normal calculation/backwards face drawing
2005-03-30 17:32:23 +00:00
fef6e0012e - initial commit of a real (as in not just copying the DispListMesh)
DerivedMesh implementation of CCGSubSurf. Only used in editmode at
   the moment, and does not draw smooth normals correctly.
 - Just in its own this brings a rather large speedup for editing
   subsurfs.
2005-03-30 08:12:27 +00:00
e5d1411283 - add editedge and editface for displistmesh_from_editmesh 2005-03-30 06:39:55 +00:00
f8248b23a7 - fix another minor use of wrong mface bug 2005-03-30 06:24:34 +00:00
347619f501 - fix silly bug in mesh DerivedMesh tex drawing func (only was drawing
first face.
 - change DerivedMesh callback prototypes to help eliminate errors
2005-03-30 05:57:40 +00:00
cfd90889e2 - made some DerivedMesh drawing functions more generic (take callback
to determine if element should be drawn and to set draw options),
   which meant some could be combined - eases implementation of new
   DerivedMesh types and keeps more app specific logic out of DerivedMesh
   implementations.
2005-03-30 00:32:10 +00:00
70687a2e84 - removed dlm->flag 2005-03-29 17:20:28 +00:00
03e364aba6 - remove free_displist_by_type
- free derived mesh on freedisplist_object... bit of a hack but
   just to be safe. oh dependency graph where are you!
2005-03-29 17:10:07 +00:00
e229722d5b - added Mesh->derived and Mesh->decimated DerivedMesh pointers
- removed DL_MESH displist type!!!! Now store a DerivedMesh directly.
 - May still be some issues left having to do with releasing this
   at the right time (old code just splashed free_displist all
   over the place).
2005-03-29 16:43:39 +00:00
53437f9536 - it is possible to rotate with MetaBalls in edit mode now 2005-03-29 10:03:30 +00:00
ea92a56193 - simplify extverts handling 2005-03-29 07:58:56 +00:00
4a5a9f4e49 - added drawFacesTex function to DerivedMesh with implementations
- switched drawmesh.c to use new functions
 - WHEE! This is last such function that has to be written for the time
   being, and also effectively marks the end of DL_MESH! DispListMesh still
   hangs around as a kind of interchange format but should also die once
   DerivedMesh provides more intimate mesh access.

   DL_MESH (the displist type for DispListMesh) is still used to hold
   the DispListMesh, but that will die as soon as new subsurf switches to
   using a bonafide DerivedMesh implementation. There is also one silly
   usage for the decimator that is easy to kill.
 - Oh, and I also made potatoe mode draw mesh vertex colors - seemed to
   be more uniform behavior.
2005-03-29 07:51:00 +00:00
4c511daa88 - fix shadedisplist to use derivedmesh
- also a bug fix! Made subsurfs now use tface colors when shading
   displist.
2005-03-29 06:46:11 +00:00
2b82405829 - zero DispListMesh.{editedge,editface} on copy
- calc normals for mesh displistmesh's
2005-03-28 21:53:26 +00:00
67eaf69f3f - added mesh_get_derived_render
- cancelled previous commit to add RE_findTFAce, instead just added
   a MemArena to render struct... free'd at end of render, can be used
   to store other data as well
 - switch rendering to using DerivedMesh API... this is slightly more
   inefficient now because it is doing some unnecessary copying. Can
   be fixed by defining a DerivedMesh function to convert the object
   into a render object (on todo list)
2005-03-28 21:49:49 +00:00