Lasse Öörni
0ea1679976
Optionally use SSE instruction set.
2012-04-25 18:38:24 +00:00
Lasse Öörni
317a502b7e
Updated to newest kNet.
2012-04-24 20:31:20 +00:00
Lasse Öörni
172a097b1c
Mark nodes and components separately for network update, instead of looping node's all components when one of them changes.
2012-04-24 16:12:56 +00:00
Lasse Öörni
8a4351b8ec
Removed the IsLoading() flag from Serializable. Instead implemented separately in AnimatedModel, which is the only component that needs that information.
2012-04-24 07:16:32 +00:00
Lasse Öörni
496a21d984
Optimized CalculateLodLevels() when it's a no-op.
2012-04-23 21:50:51 +00:00
Lasse Öörni
c936e216d9
Optimized StaticModel batch structure for less cache misses.
2012-04-23 21:20:31 +00:00
Lasse Öörni
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.
2012-04-23 20:44:04 +00:00
Lasse Öörni
71beb9e343
Optimized UpdateDistance() for case of 1 submesh only.
2012-04-23 19:12:00 +00:00
Lasse Öörni
3bec77f823
More descriptive profiler block names.
2012-04-23 19:01:55 +00:00
Lasse Öörni
5bc2c61d88
Reorganized Node, Component, Drawable & Camera member variables for more optimal access.
...
Several Camera getter functions changed to const.
2012-04-23 18:41:38 +00:00
Lasse Öörni
7a06dc73e5
Avoid Component::GetWorldTransform() and related functions where possible to avoid extra indirection and function call.
2012-04-23 18:05:57 +00:00
Lasse Öörni
5640824c9a
Fixed Camera not properly notified of node transform changes.
...
Added caching of camera view matrix.
2012-04-23 17:47:29 +00:00
Lasse Öörni
43e044b321
Fixed GLShaderProcessor.
2012-04-23 16:32:33 +00:00
Lasse Öörni
df4cd6214d
Ensure existence of default material by dynamically creating it if necessary.
...
Minor optimization to View::GetTechnique().
2012-04-23 16:12:52 +00:00
Lasse Öörni
19f604d105
Removed unnecessary if statement.
2012-04-23 12:25:54 +00:00
Lasse Öörni
79a59c2e72
Moved the lit base pass check earlier for improved forward rendering performance with large object count.
2012-04-22 23:53:25 +00:00
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