Commit Graph

  • 471d3ec5ff Added libcpuid for improved CPU detection. Added separate functions for querying logical & physical CPU count. Lasse Öörni 2011-11-27 17:45:03 +0000
  • b1ba025970 Fixed hyperthreading detection again. Send frame update events in Engine::Update(), not in Timer::BeginFrame(). Lasse Öörni 2011-11-27 13:40:40 +0000
  • 998333b4b5 Fixed GCC build. Lasse Öörni 2011-11-27 12:26:10 +0000
  • e8c8a33ea0 Fixed hyperthreading detection code. Lasse Öörni 2011-11-27 12:11:26 +0000
  • 92128e4bc4 Detect hyperthreading and halve amount of worker threads only if detected. Lasse Öörni 2011-11-27 01:08:09 +0000
  • 1fbbf5f2cd Limit the amount of worker threads to half the available CPU cores. Lasse Öörni 2011-11-26 20:00:29 +0000
  • c5f6516aee Migrated to AngelScript 2.22.1 WIP. Lasse Öörni 2011-11-26 11:19:20 +0000
  • 47f77d1d1c Fixed GLSL shaders. Lasse Öörni 2011-11-24 18:47:58 +0000
  • 3cf25e801a Do not use "camera centered" coordinates for light calculations. Lasse Öörni 2011-11-24 18:38:03 +0000
  • 04a7049bdf Slight optimizations in light-related operations. Lasse Öörni 2011-11-24 16:26:45 +0000
  • 7cb8985e05 Convert to vertex lights when pixel light count exceeded. Lasse Öörni 2011-11-23 22:47:19 +0000
  • 8b61a23cd0 Updated to newest ODE from svn. Lasse Öörni 2011-11-21 19:37:19 +0000
  • a69b8b7568 Fixed vertex lighting shader variation names. Lasse Öörni 2011-11-21 08:59:59 +0000
  • bc5dd97e4b Allow 6 vertex lights. Lasse Öörni 2011-11-21 07:54:31 +0000
  • a51afb0631 Initial vertex lighting support. Lasse Öörni 2011-11-21 00:17:52 +0000
  • 67a0650cdb Fixed missing copy constructor specifiers in script classes. Lasse Öörni 2011-11-19 13:42:53 +0000
  • a48c7ccdfb Migrated to new scriptarray add-on. Lasse Öörni 2011-11-19 13:14:15 +0000
  • 691b72d500 Added missing volatile keyword. Lasse Öörni 2011-11-18 08:34:56 +0000
  • 59b855087c Fixed typo. Lasse Öörni 2011-11-18 00:32:03 +0000
  • f53f75f6f3 Fixed raycast early-out logic. Lasse Öörni 2011-11-18 00:31:21 +0000
  • 5cf7e09324 Added Octree raycast that returns only a single drawable result. Fixed conditions in raycast code. Lasse Öörni 2011-11-18 00:16:01 +0000
  • 929a37f782 Fixed uninitialized shadow batch zone. Lasse Öörni 2011-11-17 22:22:32 +0000
  • 57070cafc3 Limit to three worker threads for more consistent performance. Ensure the FPU is set up similarly on each thread to avoid for example small errors in shadow camera calculations. Lasse Öörni 2011-11-17 21:31:40 +0000
  • 75c33d8b5c Changed the global script property arguments to GetArguments() function, as it performs an expensive vector to array conversion on each call. Lasse Öörni 2011-11-17 18:34:49 +0000
  • 79c229b67e For global per-frame light sorting, give priority to directional lights so that they will most likely be combined with the ambient pass. Lasse Öörni 2011-11-16 23:26:02 +0000
  • 4c3be1f600 Added List::Resize(). Store light queues into a list instead of a vector for cleaner code. Fixed copy-pasting local nodes in editor not making the components local. Lasse Öörni 2011-11-16 22:57:20 +0000
  • 61b0277fdd Added kerning support to fonts. Lasse Öörni 2011-11-16 20:56:43 +0000
  • cbac6a30a5 Optimized large scene modify operations in the editor. Lasse Öörni 2011-11-14 23:36:39 +0000
  • 642cde63d5 Cleaned up Unlit shader code. Lasse Öörni 2011-11-13 22:14:30 +0000
  • b068022660 Use function pointers directly for preparing AngelScript context. Use bilinear filtering also in non-hardware shadow map mode for consistency between Direct3D9 & OpenGL. Lasse Öörni 2011-11-13 22:04:19 +0000
  • 47ffc91908 Reverted AngelScript fixes due to assert in debug mode and NinjaSnowWar not working. Lasse Öörni 2011-11-13 21:45:19 +0000
  • f568ce93e6 Applied AngelScript patch from SVN and removed AS_OLD workaround. Lasse Öörni 2011-11-13 17:09:37 +0000
  • 3313a7a66b Updated script API. Lasse Öörni 2011-11-12 21:53:41 +0000
  • 1b08deec28 Fixed editor gizmo movement in local axes mode. Added local Z-direction ambient color gradient support to Zone. Draw Zone debug geometry as an oriented bounding box. Shader code cleanup. Lasse Öörni 2011-11-12 21:35:12 +0000
  • dabf92dcbd Use the AS_OLD define instead of script workaround for the VariantMap crash. Lasse Öörni 2011-11-10 08:29:42 +0000
  • 2f0d3caecd Migrated to AngelScript 2.22.0. Lasse Öörni 2011-11-10 00:05:05 +0000
  • 1ae6e878f7 Added an initialization-time test to TestScene script for disabling unnecessary shadowcasters. Lasse Öörni 2011-11-09 08:13:30 +0000
  • baefa6fb4e Corrected the constness of WorkQueue::IsCompleted(). Lasse Öörni 2011-11-07 23:11:28 +0000
  • 8a52455faa Added shadow mask feature, which allows selective shadow casting by different lights. Documented multithreading. Lasse Öörni 2011-11-07 20:11:20 +0000
  • 787f1d5de0 Code cleanup. Lasse Öörni 2011-11-07 07:51:27 +0000
  • 0da41425b5 Fixed debug mode assert. Do not build raycast work items if no worker threads. Lasse Öörni 2011-11-04 19:55:18 +0000
  • d470af37cb Added command line option to disable worker threads. Lasse Öörni 2011-11-04 08:44:54 +0000
  • 39bbcd1b81 Reverted to the previous worker thread sleeping behaviour as on other systems no performance gain was observed. Lasse Öörni 2011-11-03 23:17:01 +0000
  • f50422a04b Repositioned the sleep in the worker thread for improved performance in starting work. Lasse Öörni 2011-11-03 13:35:03 +0000
  • 8a57a3ee18 Threaded ray query. Lasse Öörni 2011-11-03 08:38:23 +0000
  • 950e37beb1 Refactored raycast query handling in preparation to threading it. Lasse Öörni 2011-11-03 07:55:48 +0000
  • 14678bfad0 Fixed editor script. Lasse Öörni 2011-11-02 19:43:15 +0000
  • 6a502fad89 Cleaned up WorkQueue code. Removed WorkerThread.cpp & .h. Lasse Öörni 2011-11-02 19:19:10 +0000
  • b204b2031d Removed directional light shadowcaster occlusion for potentially taking much CPU time for relatively little gain, and/or being inaccurate. Lasse Öörni 2011-11-02 19:07:42 +0000
  • f3b5dae787 Threaded occlusion check for the main view. Fixed worker thread work distribution in Octree & View. Lasse Öörni 2011-11-02 18:17:51 +0000
  • db5fbec28f Get main view zones, occluders, lights and geometries using one octree query. Lasse Öörni 2011-11-02 10:16:01 +0000
  • d958692faf Further work item building optimizations. Lasse Öörni 2011-11-02 00:47:30 +0000
  • 714414a755 Code cleanup and work item building optimization in Octree & View. Lasse Öörni 2011-11-02 00:04:52 +0000
  • f2b5b45f59 Added Pause() & Resume() functions to WorkQueue. Lasse Öörni 2011-11-01 22:56:57 +0000
  • 0bc0b668ab For some performance gain, use only a mutex to synchronize the work queue, instead of an event. Lasse Öörni 2011-11-01 19:21:41 +0000
  • 6b504a0b21 Refactored occlusion buffer allocation to be thread-safe. Thread queries for directional shadowed lights as well. Lasse Öörni 2011-11-01 18:16:15 +0000
  • 4bdc1cf2c1 Create worker threads in Engine. Refactored the WorkQueue implementation into a separate Signal class. Lasse Öörni 2011-11-01 11:37:21 +0000
  • 7df7b2eaac Profiling blocks cleanup. Threaded zone query. Reduced the amount of temporary vectors used in View. Lasse Öörni 2011-11-01 08:48:41 +0000
  • cccb072a3d Threaded light queries. Lasse Öörni 2011-10-31 19:26:15 +0000
  • 80656971de Removed SpinLock class. Lasse Öörni 2011-10-31 17:26:07 +0000
  • d29885dd9f Clamp max. amount of worker threads. Lasse Öörni 2011-10-31 16:36:09 +0000
  • 9e7295d666 Threaded batch sorting. Lasse Öörni 2011-10-31 08:18:09 +0000
  • aadc22f05a Changed WorkItem to a value type to make it easier to construct work queue tasks. Lasse Öörni 2011-10-31 07:56:48 +0000
  • f843523ee8 Removed the start/stop mechanism from WorkQueue. Lasse Öörni 2011-10-31 07:22:32 +0000
  • 8c11839139 Optimized octree reinsertion of AnimatedModel by recalculating the bounding box during the threaded update. Lasse Öörni 2011-10-31 00:53:46 +0000
  • f5bb9e5487 Work queue & octree reinsertion optimizations. Lasse Öörni 2011-10-30 23:57:26 +0000
  • 313610c346 Fixed GCC build. Log amount of created worker threads. Lasse Öörni 2011-10-30 21:30:03 +0000
  • f9d04676f8 Queue octree updates & reinsertions in a PODVector instead of a HashSet. Lasse Öörni 2011-10-30 20:50:43 +0000
  • d976a8043b Reverted TestSceneOld.as modifications. Lasse Öörni 2011-10-30 19:24:15 +0000
  • 721885ba4a Divide geometry updates explicitly into main thread, worker threads, and none. Lasse Öörni 2011-10-30 19:22:26 +0000
  • c8089b1687 Initial work queue & multithreading support. Lasse Öörni 2011-10-30 18:08:39 +0000
  • 7dad787a9d Added SpinLock class. Lasse Öörni 2011-10-29 19:27:06 +0000
  • 62e5541039 Removed the duplicate FrameInfo structure for shadow rendering as unnecessary. Lasse Öörni 2011-10-29 12:32:05 +0000
  • 353270e6c7 UpdateDistance() / UpdateGeometry() refactoring. LOD levels are calculated in UpdateDistance(), while UpdateGeometry() is strictly used for preparing GPU resources, and is called after culling and preparing batches. Fixed possible bug in FindZone(). Lasse Öörni 2011-10-29 12:18:47 +0000
  • 668da79dc4 Added SM3 requirement to instancing shaders. Lasse Öörni 2011-10-27 20:35:44 +0000
  • 41f5aeae88 Reduce shader permutations by requiring diffuse map for normal & specular mapping. Lasse Öörni 2011-10-27 20:08:25 +0000
  • 163688c577 Removed unnecessary GLSL shader variations. Lasse Öörni 2011-10-27 19:57:37 +0000
  • 0be37e8495 Shader refactoring. Forward shader split to Ambient, BlinnPhong, Unlit & Volumetric. Added support for multiple variation groups to ShaderCompiler & GLShaderProcessor. Lasse Öörni 2011-10-27 19:51:14 +0000
  • 960b8de398 Folded GetShadowPos() back into the lighting shader code as the function contains light-specific #ifdefs. Lasse Öörni 2011-10-27 07:56:33 +0000
  • 8fb7ee1a69 Fixed GLSL code. Lasse Öörni 2011-10-27 07:00:39 +0000
  • bef427937c Lighting shader code cleanup. Automatically set black fog color for additive blending, so that shaders do not necessarily have to take it into account themselves. Lasse Öörni 2011-10-27 06:57:47 +0000
  • 75d74ea3f1 Removed unnecessary #ifdef from varyings. Lasse Öörni 2011-10-26 22:24:13 +0000
  • ce811badc3 Removed unnecessary shader permutations. Lasse Öörni 2011-10-26 22:20:46 +0000
  • dd9597a5ae Removed unnecessary #ifdef. Lasse Öörni 2011-10-26 21:27:11 +0000
  • 0a6538f069 Further shader cleanup. Lasse Öörni 2011-10-26 21:15:12 +0000
  • d0cdfd6f1e Shader code cleanup. Lasse Öörni 2011-10-26 20:27:39 +0000
  • d5c42e8c2c Added Node::LookAt(). Added Quaternion::FromAxes(). Lasse Öörni 2011-10-25 22:04:11 +0000
  • 7e4bc727b4 Cleaned up Batch & instancing code. BatchGroup inherits from Batch to reduce unnecessary copying of values. Lasse Öörni 2011-10-25 20:08:34 +0000
  • b60a806058 Updated changelog in the docs as well. Lasse Öörni 2011-10-23 21:14:46 +0000
  • 530a6f02ef Removed CoreData/Models directory. Lasse Öörni 2011-10-23 20:40:07 +0000
  • f4afb2e092 Moved the manipulator gizmo to Data directory for consistency. Lasse Öörni 2011-10-23 20:36:08 +0000
  • 80130159ac Cleaned up graphics features change handling. Lasse Öörni 2011-10-23 20:01:49 +0000
  • 6e51dffdeb Updated readme. Allow to switch force SM2 / force fallback modes at runtime. Lasse Öörni 2011-10-23 18:18:47 +0000
  • 35e58c42f9 Added select/deselect all in the editor. Lasse Öörni 2011-10-23 16:28:28 +0000
  • 58eb27c25c Further fix for not rendering unnecessary shadow casters. Lasse Öörni 2011-10-23 14:53:11 +0000
  • d1ca0fd6cc Do not render unnecessary directional light shadow map splits. Lasse Öörni 2011-10-23 14:18:16 +0000
  • 9c7908ca82 Do not show unused rendering passes in profiling. Lasse Öörni 2011-10-23 12:31:41 +0000
  • 9d077e78a8 Code cleanup. Fixed lit base pass optimization working only for the first subgeometry of an object. Calculate per-subgeometry distances in UpdateDistance() for StaticModel & AnimatedModel. Lasse Öörni 2011-10-23 12:17:57 +0000
  • 5f65f9a530 Dirty the zone if its priority changes. Lasse Öörni 2011-10-22 20:02:20 +0000
  • 9fad97bbcc Changed gizmo update order so that it does not lag visually by one frame. Lasse Öörni 2011-10-22 19:04:09 +0000