Commit Graph

10202 Commits

Author SHA1 Message Date
Lasse Öörni
14678bfad0 Fixed editor script. 2011-11-02 19:43:15 +00:00
Lasse Öörni
6a502fad89 Cleaned up WorkQueue code. Removed WorkerThread.cpp & .h. 2011-11-02 19:19:10 +00:00
Lasse Öörni
b204b2031d Removed directional light shadowcaster occlusion for potentially taking much CPU time for relatively little gain, and/or being inaccurate. 2011-11-02 19:07:42 +00:00
Lasse Öörni
f3b5dae787 Threaded occlusion check for the main view.
Fixed worker thread work distribution in Octree & View.
2011-11-02 18:17:51 +00:00
Lasse Öörni
db5fbec28f Get main view zones, occluders, lights and geometries using one octree query. 2011-11-02 10:16:01 +00:00
Lasse Öörni
d958692faf Further work item building optimizations. 2011-11-02 00:47:30 +00:00
Lasse Öörni
714414a755 Code cleanup and work item building optimization in Octree & View. 2011-11-02 00:04:52 +00:00
Lasse Öörni
f2b5b45f59 Added Pause() & Resume() functions to WorkQueue. 2011-11-01 22:56:57 +00:00
Lasse Öörni
0bc0b668ab For some performance gain, use only a mutex to synchronize the work queue, instead of an event. 2011-11-01 19:21:41 +00:00
Lasse Öörni
6b504a0b21 Refactored occlusion buffer allocation to be thread-safe. Thread queries for directional shadowed lights as well. 2011-11-01 18:16:15 +00:00
Lasse Öörni
4bdc1cf2c1 Create worker threads in Engine.
Refactored the WorkQueue implementation into a separate Signal class.
2011-11-01 11:37:21 +00:00
Lasse Öörni
7df7b2eaac Profiling blocks cleanup.
Threaded zone query.
Reduced the amount of temporary vectors used in View.
2011-11-01 08:48:41 +00:00
Lasse Öörni
cccb072a3d Threaded light queries. 2011-10-31 19:26:15 +00:00
Lasse Öörni
80656971de Removed SpinLock class. 2011-10-31 17:26:07 +00:00
Lasse Öörni
d29885dd9f Clamp max. amount of worker threads. 2011-10-31 16:36:09 +00:00
Lasse Öörni
9e7295d666 Threaded batch sorting. 2011-10-31 08:18:09 +00:00
Lasse Öörni
aadc22f05a Changed WorkItem to a value type to make it easier to construct work queue tasks. 2011-10-31 07:56:48 +00:00
Lasse Öörni
f843523ee8 Removed the start/stop mechanism from WorkQueue. 2011-10-31 07:22:32 +00:00
Lasse Öörni
8c11839139 Optimized octree reinsertion of AnimatedModel by recalculating the bounding box during the threaded update. 2011-10-31 00:53:46 +00:00
Lasse Öörni
f5bb9e5487 Work queue & octree reinsertion optimizations. 2011-10-30 23:57:26 +00:00
Lasse Öörni
313610c346 Fixed GCC build. Log amount of created worker threads. 2011-10-30 21:30:03 +00:00
Lasse Öörni
f9d04676f8 Queue octree updates & reinsertions in a PODVector instead of a HashSet. 2011-10-30 20:50:43 +00:00
Lasse Öörni
d976a8043b Reverted TestSceneOld.as modifications. 2011-10-30 19:24:15 +00:00
Lasse Öörni
721885ba4a Divide geometry updates explicitly into main thread, worker threads, and none. 2011-10-30 19:22:26 +00:00
Lasse Öörni
c8089b1687 Initial work queue & multithreading support. 2011-10-30 18:08:39 +00:00
Lasse Öörni
7dad787a9d Added SpinLock class. 2011-10-29 19:27:06 +00:00
Lasse Öörni
62e5541039 Removed the duplicate FrameInfo structure for shadow rendering as unnecessary. 2011-10-29 12:32:05 +00:00
Lasse Öörni
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().
2011-10-29 12:18:47 +00:00
Lasse Öörni
668da79dc4 Added SM3 requirement to instancing shaders. 2011-10-27 20:35:44 +00:00
Lasse Öörni
41f5aeae88 Reduce shader permutations by requiring diffuse map for normal & specular mapping. 2011-10-27 20:08:25 +00:00
Lasse Öörni
163688c577 Removed unnecessary GLSL shader variations. 2011-10-27 19:57:37 +00:00
Lasse Öörni
0be37e8495 Shader refactoring. Forward shader split to Ambient, BlinnPhong, Unlit & Volumetric.
Added support for multiple variation groups to ShaderCompiler & GLShaderProcessor.
2011-10-27 19:51:14 +00:00
Lasse Öörni
960b8de398 Folded GetShadowPos() back into the lighting shader code as the function contains light-specific #ifdefs. 2011-10-27 07:56:33 +00:00
Lasse Öörni
8fb7ee1a69 Fixed GLSL code. 2011-10-27 07:00:39 +00:00
Lasse Öörni
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.
2011-10-27 06:57:47 +00:00
Lasse Öörni
75d74ea3f1 Removed unnecessary #ifdef from varyings. 2011-10-26 22:24:13 +00:00
Lasse Öörni
ce811badc3 Removed unnecessary shader permutations. 2011-10-26 22:20:46 +00:00
Lasse Öörni
dd9597a5ae Removed unnecessary #ifdef. 2011-10-26 21:27:11 +00:00
Lasse Öörni
0a6538f069 Further shader cleanup. 2011-10-26 21:15:12 +00:00
Lasse Öörni
d0cdfd6f1e Shader code cleanup. 2011-10-26 20:27:39 +00:00
Lasse Öörni
d5c42e8c2c Added Node::LookAt().
Added Quaternion::FromAxes().
2011-10-25 22:04:11 +00:00
Lasse Öörni
7e4bc727b4 Cleaned up Batch & instancing code. BatchGroup inherits from Batch to reduce unnecessary copying of values. 2011-10-25 20:08:34 +00:00
Lasse Öörni
b60a806058 Updated changelog in the docs as well. 2011-10-23 21:14:46 +00:00
Lasse Öörni
530a6f02ef Removed CoreData/Models directory. 2011-10-23 20:40:07 +00:00
Lasse Öörni
f4afb2e092 Moved the manipulator gizmo to Data directory for consistency. 2011-10-23 20:36:08 +00:00
Lasse Öörni
80130159ac Cleaned up graphics features change handling. 2011-10-23 20:01:49 +00:00
Lasse Öörni
6e51dffdeb Updated readme.
Allow to switch force SM2 / force fallback modes at runtime.
2011-10-23 18:18:47 +00:00
Lasse Öörni
35e58c42f9 Added select/deselect all in the editor. 2011-10-23 16:28:28 +00:00
Lasse Öörni
58eb27c25c Further fix for not rendering unnecessary shadow casters. 2011-10-23 14:53:11 +00:00
Lasse Öörni
d1ca0fd6cc Do not render unnecessary directional light shadow map splits. 2011-10-23 14:18:16 +00:00