Revision 44ed77b by Martin Poirier July 5, 2005, 00:30 (GMT) |
Added some missing quaternions fonctions: QuatMulVecf Multiplies vector (3-float) by quaternion (rotation). Assumes it recieves a unit quaternion QuatConj Quaternion conjugate QuatInv Quaternion inverse (does not assume a unit quat) QuatMulf Quaternion multiplication with scalar QuatDot Quaternion dot product printquat debug print function |
Revision 1ec178e by Martin Poirier July 4, 2005, 23:32 (GMT) |
MSVC 6.0 projectfiles update for the removal of IKA files. |
Revision 4fb314b by Ton Roosendaal July 4, 2005, 20:09 (GMT) |
Action constraint works again. Needs revision though... do that with testfiles i get from Bassam. :) Further removed old code that was ifdeffed hanging around still. |
Revision a4e959b by Ton Roosendaal July 4, 2005, 17:41 (GMT) |
Merging error... rotating bones in pose-mode, with an action inserted accidentally flushed recalc of Pose. So it popped back to the action state, preventing editing new keypositions. |
Revision 71f3e88 by Martin Poirier July 4, 2005, 05:16 (GMT) |
Fixing pose mode transform. With new system, very easy to do in the end (figuring it out was less so). No need to go down parent chains or anything of the sort, just apply parent pose and we're all set. Ton's commit reverted back before my include files cleanup in transform, recleaning. Also, as mentionned by bjornmose, declaration after instruction choked MSVC. Fixed. |
Revision d59894a by Ton Roosendaal July 3, 2005, 18:10 (GMT) |
Old define in engine still... |
Revision 28a1e82 by Ton Roosendaal July 3, 2005, 17:35 (GMT) |
Result of 2 weeks of quiet coding work in Greece :) Aim was to get a total refresh of the animation system. This is needed because; - we need to upgrade it with 21st century features - current code is spaghetti/hack combo, and hides good design - it should become lag-free with using dependency graphs A full log, with complete code API/structure/design explanation will follow, that's a load of work... so here below the list with hot changes; - The entire object update system (matrices, geometry) is now centralized. Calls to where_is_object and makeDispList are forbidden, instead we tag objects 'changed' and let the depgraph code sort it out - Removed all old "Ika" code - Depgraph is aware of all relationships, including meta balls, constraints, bevelcurve, and so on. - Made depgraph aware of relation types and layers, to do smart flushing of 'changed' events. Nothing gets calculated too often! - Transform uses depgraph to detect changes - On frame-advance, depgraph flushes animated changes Armatures; Almost all armature related code has been fully built from scratch. It now reveils the original design much better, with a very clean implementation, lag free without even calculating each Bone more than once. Result is quite a speedup yes! Important to note is; 1) Armature is data containing the 'rest position' 2) Pose is the changes of rest position, and always on object level. That way more Objects can use same Pose. Also constraints are in Pose 3) Actions only contain the Ipos to change values in Poses. - Bones draw unrotated now - Drawing bones speedup enormously (10-20 times) - Bone selecting in EditMode, selection state is saved for PoseMode, and vice-versa - Undo in editmode - Bone renaming does vertexgroups, constraints, posechannels, actions, for all users of Armature in entire file - Added Bone renaming in NKey panel - Nkey PoseMode shows eulers now - EditMode and PoseMode now have 'active' bone too (last clicked) - Parenting in EditMode' CTRL+P, ALT+P, with nice options! - Pose is added in Outliner now, with showing that constraints are in the Pose, not Armature - Disconnected IK solving from constraints. It's a separate phase now, on top of the full Pose calculations - Pose itself has a dependency graph too, so evaluation order is lag free. TODO NOW; - Rotating in Posemode has incorrect inverse transform (Martin will fix) - Python Bone/Armature/Pose API disabled... needs full recode too (wait for my doc!) - Game engine will need upgrade too - Depgraph code needs revision, cleanup, can be much faster! (But, compliments for Jean-Luc, it works like a charm!) - IK changed, it now doesnt use previous position to advance to next position anymore. That system looks nice (no flips) but is not well suited for NLA and background render. TODO LATER; We now can do loadsa new nifty features as well; like: - Kill PoseMode (can be option for armatures itself) - Make B-Bones (Bezier, Bspline, like for spines) - Move all silly button level edit to 3d window (like CTRL+I = add IK) - Much better & informative drawing - Fix action/nla editors - Put all ipos in Actions (object, mesh key, lamp color) - Add hooks - Null bones - Much more advanced constraints... Bugfixes; - OGL render (view3d header) had wrong first frame on anim render - Ipo 'recording' mode had wrong playback speed - Vertex-key mode now sticks to show 'active key', until frame change -Ton- |
Revision 99a8747 by Martin Poirier June 30, 2005, 04:11 (GMT) |
Warning hunt: INIT_MINMAX and INIT_MINMAX2 are always used on floats but use doubles for initializing, giving countless warnings. Added the nice 'f' to tell compilers that we want floats. |
Revision a344dca by Martin Poirier June 28, 2005, 07:58 (GMT) |
Transform stuff Cleanup in transform.c: removed uneeded includes and removed REPEAT experiment. Split off manipulator init function, no need to resort on hacks to setup stuff before starting transform anymore. Fix0r3d single axis projection for constraints. It deals with perspective correctly now (as much as planar constraints). |
June 27, 2005, 15:57 (GMT) |
Bug reported by Jean-Baptiste. (Inexed 0 0 0 instead of 0 1 2 I also removed dos linebreaks. Kent |
Revision ece2733 by Brecht Van Lommel June 26, 2005, 15:37 (GMT) |
Patch by Martin Poirier: display normalized coordinates in image window, with a few small modifications: - also display normalized coords while transforming - adapt step size & precision for button - moved option to 'View' menu Also made sure pixel snapping when transforming uv's is off by default. |
Revision 08169d7 by Alexander Ewering June 25, 2005, 22:51 (GMT) |
The overlapping curves/material indices problem got a bit out of control. - For avoiding the 'overlapping character problem' in Text objects, I had changed the sorting code for filling nurbs to use nu->charidx (a new variable incremented with each new character) instead of nu->mat_nr (which used to work for material indices inside a 2D Curve). - This broke material indices in normal 2D Curves completely, thus: - nu->charidx is now not only used for seperating characters in text objects for filling, but also for normal 2D curves when they contain material indices. In fact, charidx is just set to the material index. - There's compatibility code in readfile.c that sets nu->charidx to nu->mat_nr when reading curves from files that are not text objects - So, the big conclusion: Instead of using material indices for creating 'filling groups', filldisplist() now uses nu->charidx, which is set appropriately when reading old files and assigning/deleting material indices in curves. - This is all pretty obscure and hard to explain. If I haven't been clear, ask. - If it breaks anything, complain! |
Revision da76fc6 by Alexander Ewering June 25, 2005, 12:18 (GMT) |
Fix a potential issue with vfontb/i/bi not getting freed when converting font to curve. (Sorry, I had typed a 10000k commit log last time, then it errored and I really don't feel like retyping it all.) |
Revision bb7b3c4 by Joseph Gilbert June 24, 2005, 17:23 (GMT) |
- update to add lorem.c dependency |
Revision eb41fcd by Daniel Dunbar June 24, 2005, 05:30 (GMT) |
- bug fix, crash with edges with no face in subsurf |
Revision 83f988c by Daniel Dunbar June 23, 2005, 23:44 (GMT) |
- bug fix, vertex normal calculation during incremental update was not correct (although fairly unnoticable). - bug fix, vertex normal calculation didn't normalize face normals before summing... silly mistake p.s. perhaps the Crystal Space bla bla naming conversation is not most appropriate for the commit list? |
Revision 0a92e15 by Martin Poirier June 22, 2005, 05:45 (GMT) |
Segfault waiting to happen. This is way old code that I did, I blame my rusty C skills from back then (and the fact that lazy evaluation would make it work correctly). :) |
Revision 9020455 by Alexander Ewering June 21, 2005, 15:10 (GMT) |
Removed a debug print |
Revision 7e4e8b9 by Daniel Dunbar June 21, 2005, 14:51 (GMT) |
- fix strange declaration of adduplicate that just used matrix argument as flag... confusing and weird. |
Revision 50b4a5a by Daniel Dunbar June 21, 2005, 14:14 (GMT) |
- #ifndef O_BINARY section should be after includes which would define it... |
|
|
|


Master Commits
MiikaHweb | 2003-2021