0ca75a4d2dUpdated documentation.
Lasse Öörni
2012-05-07 19:46:00 +0000
4666520d0bImproved 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
ceb111c609Ragdoll tweaks.
Lasse Öörni
2012-05-07 16:05:57 +0000
2488c6772aImproved ragdoll creation.
Lasse Öörni
2012-05-07 12:38:31 +0000
70c58f43d9Added SetWorldPosition() to Constraint. Initial ragdoll test in TestScene.
Lasse Öörni
2012-05-07 07:30:40 +0000
9f331e56dbChanged 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
b01fc7b60bAdded rigid body queries to PhysicsWorld.
Lasse Öörni
2012-05-06 20:29:03 +0000
c554abccb8Fixed crash related to incorrect constraint reference tracking.
Lasse Öörni
2012-05-06 17:50:26 +0000
b636b3a211Keep track of constraints to release them properly before deleting the rigid body.
Lasse Öörni
2012-05-06 16:20:59 +0000
5f66411903Fixed missing calls to MarkNetworkUpdate() in Constraint. Cleaned up applying constraint limits.
Lasse Öörni
2012-05-06 13:12:27 +0000
011c8e8e8fUpdated version history for impending new release.
Lasse Öörni
2012-05-06 12:38:07 +0000
0c98c92182Do not create a new directional light when drawing a fullscreen quad.
Lasse Öörni
2012-05-06 12:33:29 +0000
8cdc6f69d2Properly 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
4335295b87Added slider constraint.
Lasse Öörni
2012-05-05 23:10:45 +0000
8b366d2db8Set up hinge constraint frames manually.
Lasse Öörni
2012-05-05 21:16:08 +0000
5570d120a1Added DebugNew.h include to Scene.
Lasse Öörni
2012-05-05 18:36:15 +0000
3ad1136dcbAdded missing include.
Lasse Öörni
2012-05-05 18:21:46 +0000
54c7de95d8Tidied 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
e5d42e36c8Generalized 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
3203ee410fTake 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
5c4904288aFixed 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
9123d1c3d3Eliminated unnecessary recreation/readdition of physics components when attributes change. Increased the default smoothing snap threshold.
Lasse Öörni
2012-05-01 22:09:33 +0000
ef421ef32dInitial Bullet constraint implementation. Changed DrawDebugGeometry() to be a virtual function in Component.
Lasse Öörni
2012-05-01 19:26:29 +0000
2c5a034bf5Fixed includes.
Lasse Öörni
2012-04-30 17:45:10 +0000
a556679a42Fixed crash caused by assigning Geometry shared ptr's in multiple threads.
Lasse Öörni
2012-04-30 16:29:23 +0000
d62812df86Comments cleanup and Batch refactoring.
Lasse Öörni
2012-04-30 15:21:22 +0000
4548687d1bSet 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
48190acfcaEliminated most virtual function calls from getting Drawable batches.
Lasse Öörni
2012-04-29 18:20:44 +0000
31e027b354Maximum 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
a7494cedc4Removed NetworkState pointer from Serializable for better class memory layout control.
Lasse Öörni
2012-04-29 13:36:46 +0000
a84ed27df9Updated 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
e6fe0d6cf0Removed 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
132847926dDo not unnecessarily calculate batch sort key or choose shaders for instanced batches.
Lasse Öörni
2012-04-29 10:43:45 +0000
ecdfec3e80Small optimization to drawable collecting.
Lasse Öörni
2012-04-28 17:50:30 +0000
e1bd04e5ddStore batch groups into a HashMap for slightly better performance.
Lasse Öörni
2012-04-28 17:37:01 +0000
25fa4a2926Optimized drawables' view space Z range calculation.
Lasse Öörni
2012-04-28 15:30:08 +0000
b4330ccc46Optimized CheckVisibilityWork.
Lasse Öörni
2012-04-28 13:24:52 +0000
092c6e5bb5Correct the minimum Z if no geometries at all.
Lasse Öörni
2012-04-28 12:22:59 +0000
987a168d9eOptimized away unnecessary structures from View.
Lasse Öörni
2012-04-28 12:11:55 +0000
dbbf2f3310Do 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
d8eb85b9b4Added SphereCast function to PhysicsWorld. Applied kNet bugfix. Restored custom kNet UDP flow control mechanism.
Lasse Öörni
2012-04-26 20:03:54 +0000
2ff2fc81faMoved Squish back to its own directory.
Lasse Öörni
2012-04-26 06:51:08 +0000
08f7d03fccTidied up root CMakeLists.txt.
Lasse Öörni
2012-04-25 23:03:58 +0000
ec593273b8Moved a slimmed down version of Squish (only DXT decompression) directly to the Resource library.
Lasse Öörni
2012-04-25 22:51:24 +0000
a5b035d886Added possibility to run OpenGL mode without hardware DXT support (for severely broken drivers.)
Lasse Öörni
2012-04-25 21:26:52 +0000
40709f2d63Added GetCompressedTextureSupport() to Graphics. Always true on Direct3D9.
Lasse Öörni
2012-04-25 21:23:37 +0000
2f4165bf0fAdded Squish library for DXT decompression.
Lasse Öörni
2012-04-25 21:07:35 +0000
0ea1679976Optionally use SSE instruction set.
Lasse Öörni
2012-04-25 18:38:24 +0000
317a502b7eUpdated to newest kNet.
Lasse Öörni
2012-04-24 20:31:20 +0000
172a097b1cMark 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
8a4351b8ecRemoved 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
496a21d984Optimized CalculateLodLevels() when it's a no-op.
Lasse Öörni
2012-04-23 21:50:51 +0000
c936e216d9Optimized StaticModel batch structure for less cache misses.
Lasse Öörni
2012-04-23 21:20:31 +0000
da921892b2Rearranged 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
71beb9e343Optimized UpdateDistance() for case of 1 submesh only.
Lasse Öörni
2012-04-23 19:12:00 +0000
3bec77f823More descriptive profiler block names.
Lasse Öörni
2012-04-23 19:01:55 +0000
5bc2c61d88Reorganized 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
7a06dc73e5Avoid Component::GetWorldTransform() and related functions where possible to avoid extra indirection and function call.
Lasse Öörni
2012-04-23 18:05:57 +0000
5640824c9aFixed Camera not properly notified of node transform changes. Added caching of camera view matrix.
Lasse Öörni
2012-04-23 17:47:29 +0000
43e044b321Fixed GLShaderProcessor.
Lasse Öörni
2012-04-23 16:32:33 +0000
df4cd6214dEnsure existence of default material by dynamically creating it if necessary. Minor optimization to View::GetTechnique().
Lasse Öörni
2012-04-23 16:12:52 +0000
19f604d105Removed unnecessary if statement.
Lasse Öörni
2012-04-23 12:25:54 +0000
79a59c2e72Moved the lit base pass check earlier for improved forward rendering performance with large object count.
Lasse Öörni
2012-04-22 23:53:25 +0000
50653416daReverted earlier shadow split refactoring due to unnecessary shadowcasters being rendered.
Lasse Öörni
2012-04-22 23:46:37 +0000
00522a44a7Optimized 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
504ffaa93dCode cleanup.
Lasse Öörni
2012-04-22 20:16:41 +0000
91f6f87472Explicitly mark changed nodes to avoid going through the whole scene in PrepareNetworkUpdate().
Lasse Öörni
2012-04-22 18:48:09 +0000
9635059778Sort light and shadow batches as separate work items to optimize for large object count.
Lasse Öörni
2012-04-22 11:57:03 +0000
ee39c40667Fixed 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
0380c2d403Moved a compare outside the OctreeQuery inner loop.
Lasse Öörni
2012-04-22 00:16:31 +0000
de30801744Removed manual unrolling.
Lasse Öörni
2012-04-22 00:02:45 +0000
2bde036977Moved drawable iteration inside the OctreeQuery virtual function.
Lasse Öörni
2012-04-21 23:58:14 +0000
0937a62115Octree query micro-optimizations.
Lasse Öörni
2012-04-21 23:37:43 +0000
5d069ec2a1Process the first shadow map split without going through the work queue.
Lasse Öörni
2012-04-21 22:34:17 +0000
8d30afc776Process multiple shadow splits as threaded work items.
Lasse Öörni
2012-04-21 21:43:21 +0000
1a9dced05bUpdated 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
e0571d46ebRemoved 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
1bf4b7d976Do not use "inactive FPS" if it is higher than "max FPS."
Lasse Öörni
2012-04-20 16:44:33 +0000
41c2efde36Code cleanup, reorganization of network profiling blocks.
Lasse Öörni
2012-04-20 07:44:48 +0000
2f25825361Added error logging for scene checksum error.
Lasse Öörni
2012-04-19 23:35:51 +0000
1c2cc43f14Refactoring 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
45243975c1Removed "BeginRendering" profiling block where no significant work is done. Renamed "EndRendering" block to "Present."
Lasse Öörni
2012-04-18 22:53:39 +0000
ee5c66210eReworked profiler output.
Lasse Öörni
2012-04-18 22:46:57 +0000
c710fb4ef6Further 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
66a860144aAdded 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
8c2b820d71Added warning for possible crash situation.
Lasse Öörni
2012-04-18 07:39:51 +0000
be16c000d1Changed variable name to be more descriptive. Changed Serializable variables from protected to private.
Lasse Öörni
2012-04-18 06:51:17 +0000
a4a0458981Removed 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
1cf5d99d44Optimized 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
08ac95dbf7Fixed 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
9baf3bad64Fixed 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
7ea084bc4bAdded missing DebugNew.h includes.
Lasse Öörni
2012-04-16 07:35:46 +0000
c48f640a18Changed several structures to HashMap / HashSet for better performance.
Lasse Öörni
2012-04-16 07:15:33 +0000
58d7858839Optimized 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
c25d16b14eOptimized Color::ToUInt().
Lasse Öörni
2012-04-15 20:37:01 +0000
8455ba5ce0Adjusted attribute order in editor.
Lasse Öörni
2012-04-15 19:27:51 +0000
dcb2b5146aRemoved volatile keyword from as_callfunc_x86.cpp when compiling for Linux.
Lasse Öörni
2012-04-15 18:21:41 +0000
51c9160eaeRemoved 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
9ead094d5aRemoved 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
32fa940130Handle world transform update of parented RigidBodies correctly. Updated physics documentation.
Lasse Öörni
2012-04-15 11:42:02 +0000