Commit Graph

47594 Commits

Author SHA1 Message Date
Brecht Van Lommel
8b2b470d44 Fix for bug #8898: QMC AO not working correct on objects pointing
directly at the camera in some cases.
2008-04-10 12:52:48 +00:00
Brecht Van Lommel
1fe5302cce Point Cache Refactoring
=======================

Caching and Baking:
- The point cache is now cleared on DAG_object_flush_update(), and not cleared for time dependency graph updates.
- There is now a Bake button instead of Protect. Also cache start and end frames were added to softbody and particles.
- The cloth autoprotect feature was removed.
- The Ctrl+B menu now also bakes cloth and particles next to softbody and fluids. Additionally there are now frree bake and free cache menu entries.
- The point cache api has been changed. There is now a PTCacheID struct for each point cache type that can be filled and then used to call the point cache functions.
- PointCache struct was added to DNA and is automatically allocated for each physics type.
- Soft body now supports Bake Editing just like cloth.
- Tried to make the systems deal consistently with time ipo's and offsets. Still not sure it all works correct, but too complicated to solve completely now.

Library Linking:
- Added some more warnings to prevent editing settings on library linked objects.
- Linked objects now read from the cache located next to the original library file, and never write to it. This restores old behavior for softbodies. For local simulation the mesh and not the object should be linked.
- Dupligroups and proxies can't create local point caches at the moment, how to implement that I'm not sure. We probably need a proxy point cache for that to work (ugh).

Physics UI:
- Renamed deflection panel to collision for consistency and reorganized the buttons. Also removed some softbody collision buttons from the softbody panel that were duplicated in this panel for cloth.
- Tweaked field panel buttons to not jump around when changing options.
- Tabbing e.g. Soft Body Collision into the Soft Body panel, it now only shows Collision to make the panel names readable.
- I tried to make enabled/disabling physics more consistent, since all three system did things different. Now the two modifier buttons to enable the modifier for the viewport and rendering are also duplicated in the physics panels. Toggling the Soft Body and Cloth buttons now both remove their modifiers.
- Fixed modifier error drawing glitch.

Particles:
- Particles are now recalculated more often than before. Previously it did partial updates based on the changes, but that doesn't work well with DAG_object_flush_update() ..
- Fixed memory leak loading keyed particle system. Now keys are not written to file anymore but always created after loading.
- Make particle threads work with autothreads.

Continue Physics:
- The timeline play now has a Continue Physics option in the playback menu, which keeps the simulations going without writing them to the cache.
- This doesn't always work that well, some changes are not immediately updated, but this can be improved later. Still it's fun to get a feel for the physics.

Todo:
- Point cache can get out of sync with and undo and changing a file without saving it.
- Change the point cache file format to store a version (so old point cache files can be either converted or at least ignored), and to do correct endian conversion.
- Menu item and/or buttons for Ctrl+B.
- A system("rm ..") was changed to remove() since the former is very slow for clearing point caches. These system() calls were already giving trouble in a bug in the tracker, but really most use of this system("") should be changed and tested.
- The Soft Body Collision and Clot Collision panel titles don't mention there's point cache settings there too, doing that makes them unreadable with the default panel setup.. but may need to make the names longer anyway.
2008-04-10 11:39:20 +00:00
Brecht Van Lommel
36288dabb8 Fix for render scemode in the python api, forgot to commit this file
when i changed it from a short to an int.
2008-04-10 11:34:36 +00:00
Daniel Genrich
b955a53425 Cloth bugfix for new timescaling feature 2008-04-09 19:10:03 +00:00
Brecht Van Lommel
ec1262944e Bugfix: scaling images anti-aliased with either the width or height
staying the same did not work correct (showed up in the sequencer).
2008-04-09 17:14:02 +00:00
Daniel Genrich
906666a4d8 Cloth enhancement for upcomming cache changes: support different speed using clmd->sim_parms->timescale 2008-04-09 16:38:26 +00:00
Campbell Barton
235f793f28 Made aspx/y into floats so we can render precise regions (for apricot terrain baking) 2008-04-09 15:46:26 +00:00
Daniel Genrich
9f6080cf1b Cloth/Collision modifier now gets add to the tail of the modifier stack as that is normal behaviour for all other modifiers, too. 2008-04-09 15:28:46 +00:00
Joshua Leung
e324cbd1e1 Action Editor - Renamed 'AfterTrans Delete Dupli-Frames' to 'AutoMerge Keys' for 2008-04-09 10:33:15 +00:00
Stephen Swaney
d30cc5f2d8 API Doc for new Object attributes trackAxis and upAxis.
contributed by Cedric Paille.  Thanks!

Fix broken indentation in Constraint doc.
2008-04-09 07:27:37 +00:00
Stephen Swaney
daeedc1144 fix compiler warnings - deja vu all over again.
buttons_object.c:2326: warning: too many arguments for format 
buttonns_object.c:3829: warning: ordered comparison of pointer with integer zero
2008-04-08 16:50:20 +00:00
Brecht Van Lommel
61bbccaee7 Optimization for the sequencer wipe effect, was doing a lot of unnecessary
computations for each pixel making it quite slow.
2008-04-08 16:28:55 +00:00
Campbell Barton
fa5d0309b2 setting the blend value for a sequencer strip would crash when the strip had both char and float buffers. 2008-04-08 15:07:40 +00:00
Martin Poirier
ca982d2a23 Proper fix for camera transform with snap.
Please email me or report a bug when such problem arise, it's simpler if done properly the first time.
2008-04-08 13:40:05 +00:00
Daniel Genrich
589e641f97 Sorry, reverting bad things in modifier.c 2008-04-08 12:58:25 +00:00
Daniel Genrich
fef157ac07 Cloth bugfix: used old dm instead of new created result derivedmesh; Code cleanup + deactivation of unsued selfcollision code in kdop.c + little speedup there 2008-04-08 12:55:35 +00:00
Campbell Barton
2af8964d7c moving the camera on the local Z axis while in the camera view didn't work when snapping was enabled (even though the CTRL key was not pressed) 2008-04-08 11:57:10 +00:00
Jens Ole Wund
aed7f950d0 bug fix
UI panel issues with soft bodies 
code cleaning .. remove some G.rt code
2008-04-07 21:58:12 +00:00
Brecht Van Lommel
6dec5db1e6 Fix for bug #8073: texture nodes connected to a viewer could crash.
Also fixed a bug where procedural buffers did not convert correctly
to different buffer types (e.g. value -> rgba would give red).
2008-04-07 15:21:25 +00:00
Stephen Swaney
77639a5cde Doh! Typo - replace [Y] with [Z]. 2008-04-07 14:16:26 +00:00
Campbell Barton
7c15baff16 added an optional arg for object.getBoundBox(worldspace) - so you can get localspace boundboxes, this is useful when getting a dipli's boundbox where the objects worldspace matrix has no useful meaning. 2008-04-07 13:16:56 +00:00
Campbell Barton
66e74e6057 annoyance with python api, Blender.Library.Datablocks should always return an empty list, rather then None when there is no datablocks. 2008-04-07 10:12:21 +00:00
Janne Karhu
391191a7e3 Silly copypaste mistake. Thanks for noticing! 2008-04-07 05:54:19 +00:00
Campbell Barton
e4d25da698 fix for [#6342] Collada 1.4 import (of perhaps corrupt collada files) leads to a complete crash of Blender 2.43 under Windows XP
NMesh wasnt checking 16max material limit, also made collada import work with the user scripts dir.
2008-04-06 20:13:14 +00:00
Benoit Bolsee
34771ef405 add KX_GameObject::rayCastTo() PyDoc 2008-04-06 20:02:41 +00:00
Benoit Bolsee
88ce1c0638 Removed my own patch #8208: export SCA_ISensor::Evaluate() to Python. It was only useful for the ray sensor and the new rayCastTo() function provides better functionality 2008-04-06 19:14:04 +00:00
Campbell Barton
108bed660a reversing 14289, it included Ton's homedir as a default path and disabled scriptlinks by default 2008-04-06 19:04:17 +00:00
Benoit Bolsee
e7384c9dd2 Commit patch #8799: Realtime SetParent function in the BGE
This patch consists in new KX_GameObject::SetParent() and KX_GameObject::RemoveParent() functions to create and destroy parent relation during game. These functions are accessible through python and through a new actuator KX_ParentActuator. Function documentation in PyDoc.
The object keeps its orientation, position and scale when it is parented but will further rotate, move and scale with its parent from that point on. When the parent relation is broken, the object keeps the orientation, position and scale it had at that time.
The function has no effect if any of the X/Y/Z scale of the object or its new parent are below Epsilon.
2008-04-06 18:30:52 +00:00
Stephen Swaney
6c3bd2a02d fix compiler warnings.
I'm not sure about the intent for this one:

warning: too many arguments for format:
 sprintf(md->name, "FluidParticleSystem", BLI_countlist(&ob->particlesystem));

Something for Janne ?
2008-04-06 13:44:50 +00:00
Benoit Bolsee
9edb6c7510 Patch #8740: enable negative axis radar sensor 2008-04-05 22:08:15 +00:00
Stephen Swaney
6e5984ce39 Python API - read access to Track and Up axis attributes for Object.
Part of Patch 8557.  Contributed by Cedric Paille.  Thanks!

Still waiting for API doc for new attributes.  Finger is poised
over Revert button...
2008-04-05 21:33:06 +00:00
Jens Ole Wund
83906a614b bug fix soft body can resume with point cache
sneak in .. springs preload
2008-04-05 21:29:17 +00:00
Stephen Swaney
d0004bed8c fix compiler warning: comparison between signed and unsigned 2008-04-05 14:49:41 +00:00
Benoit Bolsee
cc33fcfe7b Commit patch #2439: Mesh replacement in BGE will react properly to armature deform
Changing the mesh of an object that has a deform controller (armature) is now properly handled. The new mesh must have vertex groups matching the armature bones. In simple terms, the new mesh must deform correctly when you assign it to the object in Blender and you test the action. It will deform the same when you replace the object mesh during the game.
2008-04-05 13:33:08 +00:00
Campbell Barton
8fdfd4cc4c PyAPI - setting a buttons string value crashed. suspect this is a 64bit problem since replacing the string length of int, with Py_ssize_t or long prevented the crash. worked around the problem by removing the PyString_AsStringAndSize command.
wizard_curve2tree - removing id properties didnt work. exit button used a callback it didnt need to.
2008-04-04 23:12:20 +00:00
Martin Poirier
c3905009c4 No need for unions in transform code.
Unneeded size optimisation.

There's much better way to tackle this if it really is a problem.
2008-04-04 22:21:24 +00:00
Benoit Bolsee
1bdc909555 BGE bug [#4839] fixed: joystick keeps working after an overlay scene is removed 2008-04-04 20:39:31 +00:00
Campbell Barton
b46ef6ecb3 fix own bug with scripts drawing, could crash when a script failed 2008-04-04 16:32:13 +00:00
Campbell Barton
5b06c03884 selecting a new scripts dir didnt rebuild the menu's 2008-04-04 16:11:27 +00:00
Campbell Barton
dd944e88ee wire was being drawn for solid curve objects in editmode when it should not have been. 2008-04-04 15:57:13 +00:00
Campbell Barton
e8e1007386 moved some duplicate lines into their own function 2008-04-04 15:22:19 +00:00
Campbell Barton
6b6e5eb4c9 Restore bezier handles to their original flag if the transform is canceled, for IPO's and curve edit mode.
Also retopo was running of curve transform was canceled.
2008-04-04 15:06:50 +00:00
Brecht Van Lommel
eb667866df Fix for bug #8870: crash converting curve to mesh. The object was being
used for curve deform, but after conversion wasn't a curve anymore, and
there was no check for this.
2008-04-04 12:33:01 +00:00
Brecht Van Lommel
4574dbea98 Bugfix: crash with strand surface AAO and layer ipo's. 2008-04-03 00:40:53 +00:00
Janne Karhu
feb603248e Fix for bug: [#8610] Hair Particle 'cut' edit mode not respecting backface culling / z-depth
-Cut-brush didn't use depth testing at all, now it does, but unfortunately this changes the behavior of the brush so that cutting is not perfect for hairs that are partly visible from behind an edge of the emitter (this change effects the brush only when z-buf clipping is used of course)
2008-04-02 23:59:25 +00:00
Janne Karhu
78b250f693 Fix for bug: [#8576] Heir always in the back 2008-04-02 23:12:05 +00:00
Brecht Van Lommel
5dbe42af07 Fix to make grass render the same on solaris as linux, by doing
pointer comparisons in qsort. This works for glibc according to
the documentation, and appears to work on solaris too.
2008-04-02 22:18:32 +00:00
Janne Karhu
49c65433cc Fix for bug: [#8117] Particles with fluid broken
-Handling of fluid particles was not coded at all
-Now things should work properly, but as fluid particles are not very familiar to me I'd appreciate some thorough testing
2008-04-02 17:48:46 +00:00
Campbell Barton
bab535ce1a removed printf 2008-04-02 16:22:43 +00:00
Campbell Barton
8a6f9f2a88 Sculpts calc_area_normal() could result in a zero length vector if all faces were pointing away from the view.
deal with this by making 2 average vectors, one for front pointing faces, and another for back pointing faces,
also removed an unneeded acos().
2008-04-02 16:19:12 +00:00