Commit Graph

9869 Commits

Author SHA1 Message Date
Lasse Öörni
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.
2012-04-29 13:10:22 +00:00
Lasse Öörni
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.
2012-04-29 12:01:37 +00:00
Lasse Öörni
132847926d Do not unnecessarily calculate batch sort key or choose shaders for instanced batches. 2012-04-29 10:43:45 +00:00
Lasse Öörni
ecdfec3e80 Small optimization to drawable collecting. 2012-04-28 17:50:30 +00:00
Lasse Öörni
e1bd04e5dd Store batch groups into a HashMap for slightly better performance. 2012-04-28 17:37:01 +00:00
Lasse Öörni
25fa4a2926 Optimized drawables' view space Z range calculation. 2012-04-28 15:30:08 +00:00
Lasse Öörni
b4330ccc46 Optimized CheckVisibilityWork. 2012-04-28 13:24:52 +00:00
Lasse Öörni
092c6e5bb5 Correct the minimum Z if no geometries at all. 2012-04-28 12:22:59 +00:00
Lasse Öörni
987a168d9e Optimized away unnecessary structures from View. 2012-04-28 12:11:55 +00:00
Lasse Öörni
dbbf2f3310 Do not use octree query to find zone. Instead mark the drawable's zone inconclusive (temporary) if necessary. 2012-04-28 10:49:42 +00:00
Lasse Öörni
d8eb85b9b4 Added SphereCast function to PhysicsWorld.
Applied kNet bugfix.
Restored custom kNet UDP flow control mechanism.
2012-04-26 20:03:54 +00:00
Lasse Öörni
2ff2fc81fa Moved Squish back to its own directory. 2012-04-26 06:51:08 +00:00
Lasse Öörni
08f7d03fcc Tidied up root CMakeLists.txt. 2012-04-25 23:03:58 +00:00
Lasse Öörni
ec593273b8 Moved a slimmed down version of Squish (only DXT decompression) directly to the Resource library. 2012-04-25 22:51:24 +00:00
Lasse Öörni
a5b035d886 Added possibility to run OpenGL mode without hardware DXT support (for severely broken drivers.) 2012-04-25 21:26:52 +00:00
Lasse Öörni
40709f2d63 Added GetCompressedTextureSupport() to Graphics. Always true on Direct3D9. 2012-04-25 21:23:37 +00:00
Lasse Öörni
2f4165bf0f Added Squish library for DXT decompression. 2012-04-25 21:07:35 +00:00
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