Commit Graph

  • 4666520d0b Improved ragdoll stability in TestScene. Create ragdolls when hit by the boxes (both TestScene & TestSceneOld.) Fixed component ID clash when creating ragdolls in networked TestScene. Constraints can specify rotation frame directly. Specifying the axis is still provided for convenience, but does not give exact control over the orientation. Constraint adjusts static world position automatically when the own body position is edited. Optimized away redundant Constraint recreation when deserializing attributes. Added RemoveComponent by component type to Node. Show also write-only properties in the generated scripting API documentation. Lasse Öörni 2012-05-07 19:44:43 +0000
  • ceb111c609 Ragdoll tweaks. Lasse Öörni 2012-05-07 16:05:57 +0000
  • 2488c6772a Improved ragdoll creation. Lasse Öörni 2012-05-07 12:38:31 +0000
  • 70c58f43d9 Added SetWorldPosition() to Constraint. Initial ragdoll test in TestScene. Lasse Öörni 2012-05-07 07:30:40 +0000
  • 9f331e56db Changed Constraint API to specify the other body position / axis explicitly, and to specify limits as Vector2. Fixed bugs in assigning parented RigidBody transforms after simulation step. Optimized Constraint SetPosition() / SetAxis() to not recreate the constraint. Lasse Öörni 2012-05-07 00:15:20 +0000
  • b01fc7b60b Added rigid body queries to PhysicsWorld. Lasse Öörni 2012-05-06 20:29:03 +0000
  • c554abccb8 Fixed crash related to incorrect constraint reference tracking. Lasse Öörni 2012-05-06 17:50:26 +0000
  • b636b3a211 Keep track of constraints to release them properly before deleting the rigid body. Lasse Öörni 2012-05-06 16:20:59 +0000
  • 5f66411903 Fixed missing calls to MarkNetworkUpdate() in Constraint. Cleaned up applying constraint limits. Lasse Öörni 2012-05-06 13:12:27 +0000
  • 011c8e8e8f Updated version history for impending new release. Lasse Öörni 2012-05-06 12:38:07 +0000
  • 0c98c92182 Do not create a new directional light when drawing a fullscreen quad. Lasse Öörni 2012-05-06 12:33:29 +0000
  • 8cdc6f69d2 Properly clean up event handlers referring to a deleted object. Added cone twist constraint. Added angular motion limits to the slider constraint. Improved batch group hashing. Lasse Öörni 2012-05-06 11:59:47 +0000
  • 4335295b87 Added slider constraint. Lasse Öörni 2012-05-05 23:10:45 +0000
  • 8b366d2db8 Set up hinge constraint frames manually. Lasse Öörni 2012-05-05 21:16:08 +0000
  • 5570d120a1 Added DebugNew.h include to Scene. Lasse Öörni 2012-05-05 18:36:15 +0000
  • 3ad1136dcb Added missing include. Lasse Öörni 2012-05-05 18:21:46 +0000
  • 54c7de95d8 Tidied up Container code. Added more asserts to shared/weak pointers. Store per-object event handlers into a linked list instead of a map. Lasse Öörni 2012-05-05 17:35:39 +0000
  • e5d42e36c8 Generalized the constraint code to save the other body relative position/axis, instead of world relative position/axis. Constraint code cleanup. Lasse Öörni 2012-05-03 21:51:54 +0000
  • 3203ee410f Take node scale into account when offsetting the constraint. Use the constraint's local position for editing, but save a hidden world position attribute for static constraints to potentially combat limit violation error in repeated scene save/load. Lasse Öörni 2012-05-03 20:17:23 +0000
  • 5c4904288a Fixed hinge constraint breaking. Fixed constraint not being created if rigid body did not initially exist. Changed constraint position & axis to be serialized in world space for reliability. Lasse Öörni 2012-05-02 22:13:09 +0000
  • 9123d1c3d3 Eliminated unnecessary recreation/readdition of physics components when attributes change. Increased the default smoothing snap threshold. Lasse Öörni 2012-05-01 22:09:33 +0000
  • ef421ef32d Initial Bullet constraint implementation. Changed DrawDebugGeometry() to be a virtual function in Component. Lasse Öörni 2012-05-01 19:26:29 +0000
  • 2c5a034bf5 Fixed includes. Lasse Öörni 2012-04-30 17:45:10 +0000
  • a556679a42 Fixed crash caused by assigning Geometry shared ptr's in multiple threads. Lasse Öörni 2012-04-30 16:29:23 +0000
  • d62812df86 Comments cleanup and Batch refactoring. Lasse Öörni 2012-04-30 15:21:22 +0000
  • 4548687d1b Set Skybox distance to a fixed 0. Store StaticModel per-geometry extra data to a structure instead of separate arrays. Lasse Öörni 2012-04-29 21:22:25 +0000
  • 48190acfca Eliminated most virtual function calls from getting Drawable batches. Lasse Öörni 2012-04-29 18:20:44 +0000
  • 31e027b354 Maximum amount of sorted instances can be configured in Renderer. By default 1000. Moved the NetworkState pointer back to Serializable, as there was not much practical benefit. Lasse Öörni 2012-04-29 16:20:23 +0000
  • a7494cedc4 Removed NetworkState pointer from Serializable for better class memory layout control. Lasse Öörni 2012-04-29 13:36:46 +0000
  • a84ed27df9 Updated to AngelScript 2.23.1. Removed link time code generation from the release build as it greatly increases compile time, but does not seem to provide observable performance benefit. Lasse Öörni 2012-04-29 13:10:22 +0000
  • e6fe0d6cf0 Removed convenience GetWorldTransform() from Component to make it explicit that an indirection to the parent node is being made. Added inverse transform caching to Zone. Added light nullcheck to Batch. Lasse Öörni 2012-04-29 12:01:37 +0000
  • 132847926d Do not unnecessarily calculate batch sort key or choose shaders for instanced batches. Lasse Öörni 2012-04-29 10:43:45 +0000
  • ecdfec3e80 Small optimization to drawable collecting. Lasse Öörni 2012-04-28 17:50:30 +0000
  • e1bd04e5dd Store batch groups into a HashMap for slightly better performance. Lasse Öörni 2012-04-28 17:37:01 +0000
  • 25fa4a2926 Optimized drawables' view space Z range calculation. Lasse Öörni 2012-04-28 15:30:08 +0000
  • b4330ccc46 Optimized CheckVisibilityWork. Lasse Öörni 2012-04-28 13:24:52 +0000
  • 092c6e5bb5 Correct the minimum Z if no geometries at all. Lasse Öörni 2012-04-28 12:22:59 +0000
  • 987a168d9e Optimized away unnecessary structures from View. Lasse Öörni 2012-04-28 12:11:55 +0000
  • dbbf2f3310 Do not use octree query to find zone. Instead mark the drawable's zone inconclusive (temporary) if necessary. Lasse Öörni 2012-04-28 10:49:42 +0000
  • d8eb85b9b4 Added SphereCast function to PhysicsWorld. Applied kNet bugfix. Restored custom kNet UDP flow control mechanism. Lasse Öörni 2012-04-26 20:03:54 +0000
  • 2ff2fc81fa Moved Squish back to its own directory. Lasse Öörni 2012-04-26 06:51:08 +0000
  • 08f7d03fcc Tidied up root CMakeLists.txt. Lasse Öörni 2012-04-25 23:03:58 +0000
  • ec593273b8 Moved a slimmed down version of Squish (only DXT decompression) directly to the Resource library. Lasse Öörni 2012-04-25 22:51:24 +0000
  • a5b035d886 Added possibility to run OpenGL mode without hardware DXT support (for severely broken drivers.) Lasse Öörni 2012-04-25 21:26:52 +0000
  • 40709f2d63 Added GetCompressedTextureSupport() to Graphics. Always true on Direct3D9. Lasse Öörni 2012-04-25 21:23:37 +0000
  • 2f4165bf0f Added Squish library for DXT decompression. Lasse Öörni 2012-04-25 21:07:35 +0000
  • 0ea1679976 Optionally use SSE instruction set. Lasse Öörni 2012-04-25 18:38:24 +0000
  • 317a502b7e Updated to newest kNet. Lasse Öörni 2012-04-24 20:31:20 +0000
  • 172a097b1c Mark nodes and components separately for network update, instead of looping node's all components when one of them changes. Lasse Öörni 2012-04-24 16:12:56 +0000
  • 8a4351b8ec Removed the IsLoading() flag from Serializable. Instead implemented separately in AnimatedModel, which is the only component that needs that information. Lasse Öörni 2012-04-24 07:16:32 +0000
  • 496a21d984 Optimized CalculateLodLevels() when it's a no-op. Lasse Öörni 2012-04-23 21:50:51 +0000
  • c936e216d9 Optimized StaticModel batch structure for less cache misses. Lasse Öörni 2012-04-23 21:20:31 +0000
  • da921892b2 Rearranged Octant variables for more optimal access. Slimmed down Object, Serializable & Node for better cache performance by storing event handlers in a Map instead of HashMap and abstracting per-object network replication state into a separately allocated structure NetworkState. Lasse Öörni 2012-04-23 20:44:04 +0000
  • 71beb9e343 Optimized UpdateDistance() for case of 1 submesh only. Lasse Öörni 2012-04-23 19:12:00 +0000
  • 3bec77f823 More descriptive profiler block names. Lasse Öörni 2012-04-23 19:01:55 +0000
  • 5bc2c61d88 Reorganized Node, Component, Drawable & Camera member variables for more optimal access. Several Camera getter functions changed to const. Lasse Öörni 2012-04-23 18:41:38 +0000
  • 7a06dc73e5 Avoid Component::GetWorldTransform() and related functions where possible to avoid extra indirection and function call. Lasse Öörni 2012-04-23 18:05:57 +0000
  • 5640824c9a Fixed Camera not properly notified of node transform changes. Added caching of camera view matrix. Lasse Öörni 2012-04-23 17:47:29 +0000
  • 43e044b321 Fixed GLShaderProcessor. Lasse Öörni 2012-04-23 16:32:33 +0000
  • df4cd6214d Ensure existence of default material by dynamically creating it if necessary. Minor optimization to View::GetTechnique(). Lasse Öörni 2012-04-23 16:12:52 +0000
  • 19f604d105 Removed unnecessary if statement. Lasse Öörni 2012-04-23 12:25:54 +0000
  • 79a59c2e72 Moved the lit base pass check earlier for improved forward rendering performance with large object count. Lasse Öörni 2012-04-22 23:53:25 +0000
  • 50653416da Reverted earlier shadow split refactoring due to unnecessary shadowcasters being rendered. Lasse Öörni 2012-04-22 23:46:37 +0000
  • 00522a44a7 Optimized GetBatch() in StaticModel & AnimatedModel by caching the current LOD geometries into a flat array. Optimized network client smoothing update by unsubscribing from the smoothing event if nothing to do. Minor optimizations in View. Lasse Öörni 2012-04-22 22:12:35 +0000
  • 504ffaa93d Code cleanup. Lasse Öörni 2012-04-22 20:16:41 +0000
  • 91f6f87472 Explicitly mark changed nodes to avoid going through the whole scene in PrepareNetworkUpdate(). Lasse Öörni 2012-04-22 18:48:09 +0000
  • 9635059778 Sort light and shadow batches as separate work items to optimize for large object count. Lasse Öörni 2012-04-22 11:57:03 +0000
  • ee39c40667 Fixed crash when point light shadow query was incorrectly threaded. Use while-loop for all octree query inner loops. Lasse Öörni 2012-04-22 00:56:22 +0000
  • 0380c2d403 Moved a compare outside the OctreeQuery inner loop. Lasse Öörni 2012-04-22 00:16:31 +0000
  • de30801744 Removed manual unrolling. Lasse Öörni 2012-04-22 00:02:45 +0000
  • 2bde036977 Moved drawable iteration inside the OctreeQuery virtual function. Lasse Öörni 2012-04-21 23:58:14 +0000
  • 0937a62115 Octree query micro-optimizations. Lasse Öörni 2012-04-21 23:37:43 +0000
  • 5d069ec2a1 Process the first shadow map split without going through the work queue. Lasse Öörni 2012-04-21 22:34:17 +0000
  • 8d30afc776 Process multiple shadow splits as threaded work items. Lasse Öörni 2012-04-21 21:43:21 +0000
  • 1a9dced05b Updated to AngelScript 2.23.1 WIP. Fixed crash at exit when a script contains an array of Node handles. Fixed missing sound type enum in the editor. Added Ambient sound type. Fixed incorrect occlusion when a drawable is set for no occlusion, but the parent octant is occluded. Removed unnecessary node lookup in network replication. Added GetScene() to Component for convenience. Lasse Öörni 2012-04-21 12:50:48 +0000
  • e0571d46eb Removed kNet message priority sorting to improve CPU performance when sending a high volume of network messages. Lasse Öörni 2012-04-20 22:55:50 +0000
  • 1bf4b7d976 Do not use "inactive FPS" if it is higher than "max FPS." Lasse Öörni 2012-04-20 16:44:33 +0000
  • 41c2efde36 Code cleanup, reorganization of network profiling blocks. Lasse Öörni 2012-04-20 07:44:48 +0000
  • 2f25825361 Added error logging for scene checksum error. Lasse Öörni 2012-04-19 23:35:51 +0000
  • 1c2cc43f14 Refactoring of how network updates to clients are collected. This removes costly, redundant Variant compares that were performed per-user. Lasse Öörni 2012-04-19 23:25:30 +0000
  • 45243975c1 Removed "BeginRendering" profiling block where no significant work is done. Renamed "EndRendering" block to "Present." Lasse Öörni 2012-04-18 22:53:39 +0000
  • ee5c66210e Reworked profiler output. Lasse Öörni 2012-04-18 22:46:57 +0000
  • c710fb4ef6 Further optimization of network updates. Use a HashMap to store replicated and local nodes and components separately. Query depended on scene nodes only once per network frame, not per user. Cache the network attribute infos to Serializable. Fixed incorrect transform snapping in networked NinjaSnowWar. Allow to execute arbitrary AngelScript from the NinjaSnowWar headless server console. Added maximum block time to Profiler. Lasse Öörni 2012-04-18 19:54:48 +0000
  • 66a860144a Added separate Equals() function to Vector & Quaternion classes to perform comparison with epsilon. Equality operator does not use epsilon. This optimizes network sync somewhat. Lasse Öörni 2012-04-18 11:05:57 +0000
  • 8c2b820d71 Added warning for possible crash situation. Lasse Öörni 2012-04-18 07:39:51 +0000
  • be16c000d1 Changed variable name to be more descriptive. Changed Serializable variables from protected to private. Lasse Öörni 2012-04-18 06:51:17 +0000
  • a4a0458981 Removed Connection's own framenumber as redundant. Removed unnecessary double Find() for a node's replication state. Lasse Öörni 2012-04-17 21:14:21 +0000
  • 1cf5d99d44 Optimized network server operation by using HashMap instead of Map where applicable and by querying Serializable attributes once per network frame, instead of per user. Lasse Öörni 2012-04-17 20:32:45 +0000
  • 08ac95dbf7 Fixed continuous collision detection to work with the compound shape. Added CCD radius & motion threshold attributes to RigidBody. Use CCD for NinjaSnowWar snowballs to prevent their tunneling through the ground. Lasse Öörni 2012-04-16 21:45:40 +0000
  • 9baf3bad64 Fixed crash in FileWatcher on exit when FileSystem had already been destroyed. Added start/end caching to Map & Set. Container code cleanup. Lasse Öörni 2012-04-16 19:58:11 +0000
  • 7ea084bc4b Added missing DebugNew.h includes. Lasse Öörni 2012-04-16 07:35:46 +0000
  • c48f640a18 Changed several structures to HashMap / HashSet for better performance. Lasse Öörni 2012-04-16 07:15:33 +0000
  • 58d7858839 Optimized storage of specific event senders. Fixed Color::ToUInt(). Added missing profile block for physics debug draw. Lasse Öörni 2012-04-15 23:07:41 +0000
  • c25d16b14e Optimized Color::ToUInt(). Lasse Öörni 2012-04-15 20:37:01 +0000
  • 8455ba5ce0 Adjusted attribute order in editor. Lasse Öörni 2012-04-15 19:27:51 +0000
  • dcb2b5146a Removed volatile keyword from as_callfunc_x86.cpp when compiling for Linux. Lasse Öörni 2012-04-15 18:21:41 +0000
  • 51c9160eae Removed CCD Radius parameter for now as continuous collision detection is not supported for all collision shapes. Changed the way RigidBody attributes are applied to reduce unnecessary re-adding of the body to the simulation world during deserialization. Lasse Öörni 2012-04-15 16:47:33 +0000
  • 9ead094d5a Removed the physics world maximum timestep, as it is already governed by the Engine's minimum FPS. Lasse Öörni 2012-04-15 13:19:42 +0000
  • 32fa940130 Handle world transform update of parented RigidBodies correctly. Updated physics documentation. Lasse Öörni 2012-04-15 11:42:02 +0000
  • 2a6e4cf21b Fixed network replication of RigidBody linear & angular factor. Lasse Öörni 2012-04-15 00:10:06 +0000