Commit Graph

9836 Commits

Author SHA1 Message Date
Lasse Öörni
50653416da Reverted earlier shadow split refactoring due to unnecessary shadowcasters being rendered. 2012-04-22 23:46:37 +00:00
Lasse Öörni
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.
2012-04-22 22:12:35 +00:00
Lasse Öörni
504ffaa93d Code cleanup. 2012-04-22 20:16:41 +00:00
Lasse Öörni
91f6f87472 Explicitly mark changed nodes to avoid going through the whole scene in PrepareNetworkUpdate(). 2012-04-22 18:48:09 +00:00
Lasse Öörni
9635059778 Sort light and shadow batches as separate work items to optimize for large object count. 2012-04-22 11:57:03 +00:00
Lasse Öörni
ee39c40667 Fixed crash when point light shadow query was incorrectly threaded.
Use while-loop for all octree query inner loops.
2012-04-22 00:56:22 +00:00
Lasse Öörni
0380c2d403 Moved a compare outside the OctreeQuery inner loop. 2012-04-22 00:16:31 +00:00
Lasse Öörni
de30801744 Removed manual unrolling. 2012-04-22 00:02:45 +00:00
Lasse Öörni
2bde036977 Moved drawable iteration inside the OctreeQuery virtual function. 2012-04-21 23:58:14 +00:00
Lasse Öörni
0937a62115 Octree query micro-optimizations. 2012-04-21 23:37:43 +00:00
Lasse Öörni
5d069ec2a1 Process the first shadow map split without going through the work queue. 2012-04-21 22:34:17 +00:00
Lasse Öörni
8d30afc776 Process multiple shadow splits as threaded work items. 2012-04-21 21:43:21 +00:00
Lasse Öörni
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.
2012-04-21 12:50:48 +00:00
Lasse Öörni
e0571d46eb Removed kNet message priority sorting to improve CPU performance when sending a high volume of network messages. 2012-04-20 22:55:50 +00:00
Lasse Öörni
1bf4b7d976 Do not use "inactive FPS" if it is higher than "max FPS." 2012-04-20 16:44:33 +00:00
Lasse Öörni
41c2efde36 Code cleanup, reorganization of network profiling blocks. 2012-04-20 07:44:48 +00:00
Lasse Öörni
2f25825361 Added error logging for scene checksum error. 2012-04-19 23:35:51 +00:00
Lasse Öörni
1c2cc43f14 Refactoring of how network updates to clients are collected. This removes costly, redundant Variant compares that were performed per-user. 2012-04-19 23:25:30 +00:00
Lasse Öörni
45243975c1 Removed "BeginRendering" profiling block where no significant work is done. Renamed "EndRendering" block to "Present." 2012-04-18 22:53:39 +00:00
Lasse Öörni
ee5c66210e Reworked profiler output. 2012-04-18 22:46:57 +00:00
Lasse Öörni
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.
2012-04-18 19:54:48 +00:00
Lasse Öörni
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. 2012-04-18 11:05:57 +00:00
Lasse Öörni
8c2b820d71 Added warning for possible crash situation. 2012-04-18 07:39:51 +00:00
Lasse Öörni
be16c000d1 Changed variable name to be more descriptive.
Changed Serializable variables from protected to private.
2012-04-18 06:51:17 +00:00
Lasse Öörni
a4a0458981 Removed Connection's own framenumber as redundant.
Removed unnecessary double Find() for a node's replication state.
2012-04-17 21:14:21 +00:00
Lasse Öörni
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. 2012-04-17 20:32:45 +00:00
Lasse Öörni
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.
2012-04-16 21:45:40 +00:00
Lasse Öörni
9baf3bad64 Fixed crash in FileWatcher on exit when FileSystem had already been destroyed.
Added start/end caching to Map & Set.
Container code cleanup.
2012-04-16 19:58:11 +00:00
Lasse Öörni
7ea084bc4b Added missing DebugNew.h includes. 2012-04-16 07:35:46 +00:00
Lasse Öörni
c48f640a18 Changed several structures to HashMap / HashSet for better performance. 2012-04-16 07:15:33 +00:00
Lasse Öörni
58d7858839 Optimized storage of specific event senders.
Fixed Color::ToUInt().
Added missing profile block for physics debug draw.
2012-04-15 23:07:41 +00:00
Lasse Öörni
c25d16b14e Optimized Color::ToUInt(). 2012-04-15 20:37:01 +00:00
Lasse Öörni
8455ba5ce0 Adjusted attribute order in editor. 2012-04-15 19:27:51 +00:00
Lasse Öörni
dcb2b5146a Removed volatile keyword from as_callfunc_x86.cpp when compiling for Linux. 2012-04-15 18:21:41 +00:00
Lasse Öörni
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.
2012-04-15 16:47:33 +00:00
Lasse Öörni
9ead094d5a Removed the physics world maximum timestep, as it is already governed by the Engine's minimum FPS. 2012-04-15 13:19:42 +00:00
Lasse Öörni
32fa940130 Handle world transform update of parented RigidBodies correctly.
Updated physics documentation.
2012-04-15 11:42:02 +00:00
Lasse Öörni
2a6e4cf21b Fixed network replication of RigidBody linear & angular factor. 2012-04-15 00:10:06 +00:00
Lasse Öörni
1e493ba802 Networked rigidbodies should work now. 2012-04-14 23:50:18 +00:00
Lasse Öörni
e8974fae47 NinjaSnowWar single player mode fixed to work with Bullet physics.
Physics bugfixes.
Heightfield shape removed for now due to buggy collision.
2012-04-14 19:27:26 +00:00
Lasse Öörni
7524eb27a9 Clear inbuilt script object type search cache when compiling script code to prevent crash if a failed script module compile is attempted several times. 2012-04-14 10:24:15 +00:00
Lasse Öörni
3bb70d065e Draw debug geometry for individual RigidBodies or CollisionShapes.
Fixed CollisionShape shapetype being uninitialized.
2012-04-13 21:21:31 +00:00
Lasse Öörni
187f179af6 Exposed missing physics enums to script.
Added collision event mode to RigidBody, which allows to filter out unneeded collision events.
2012-04-13 11:37:02 +00:00
Lasse Öörni
69a8f4f6e0 Added back collision events and physics raycasting. 2012-04-12 23:08:44 +00:00
Lasse Öörni
402bf1f59e Fixed possible incorrect cylinder shape size assignment. 2012-04-12 20:14:12 +00:00
Lasse Öörni
2c535ab11a Refactored back to using only CollisionShape component, which has an enum for the shape type. Restored the SetBox(), SetSphere() etc. API for CollisionShape. 2012-04-12 20:00:19 +00:00
Lasse Öörni
f612c26287 Renamed Heightfield dimensions -> numPoints to be more descriptive. 2012-04-12 07:05:15 +00:00
Lasse Öörni
90f2a80612 Added heightfield & convex hull shapes.
Adapted TestSceneOld to the new physics components.
Do not create scaled copies of triangle mesh collision vertex data, instead scale the collision shape.
2012-04-11 22:22:10 +00:00
Lasse Öörni
731dc2d6ca Optimized collision shape update to not recreate the whole compound shape every time something changes.
Remove a sub-shape from the compound shape first before deleting it.
2012-04-11 18:01:44 +00:00
Lasse Öörni
3e812ec1e0 Fixed physics update bug that caused physics framerate dependency and instability. 2012-04-11 15:42:58 +00:00