Commit Graph

9836 Commits

Author SHA1 Message Date
Lasse Öörni
a69b8b7568 Fixed vertex lighting shader variation names. 2011-11-21 08:59:59 +00:00
Lasse Öörni
bc5dd97e4b Allow 6 vertex lights. 2011-11-21 07:54:31 +00:00
Lasse Öörni
a51afb0631 Initial vertex lighting support. 2011-11-21 00:17:52 +00:00
Lasse Öörni
67a0650cdb Fixed missing copy constructor specifiers in script classes. 2011-11-19 13:42:53 +00:00
Lasse Öörni
a48c7ccdfb Migrated to new scriptarray add-on. 2011-11-19 13:14:15 +00:00
Lasse Öörni
691b72d500 Added missing volatile keyword. 2011-11-18 08:34:56 +00:00
Lasse Öörni
59b855087c Fixed typo. 2011-11-18 00:32:03 +00:00
Lasse Öörni
f53f75f6f3 Fixed raycast early-out logic. 2011-11-18 00:31:21 +00:00
Lasse Öörni
5cf7e09324 Added Octree raycast that returns only a single drawable result.
Fixed conditions in raycast code.
2011-11-18 00:16:01 +00:00
Lasse Öörni
929a37f782 Fixed uninitialized shadow batch zone. 2011-11-17 22:22:32 +00:00
Lasse Öörni
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.
2011-11-17 21:31:40 +00:00
Lasse Öörni
75c33d8b5c Changed the global script property arguments to GetArguments() function, as it performs an expensive vector to array conversion on each call. 2011-11-17 18:34:49 +00:00
Lasse Öörni
79c229b67e For global per-frame light sorting, give priority to directional lights so that they will most likely be combined with the ambient pass. 2011-11-16 23:26:02 +00:00
Lasse Öörni
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.
2011-11-16 22:57:20 +00:00
Lasse Öörni
61b0277fdd Added kerning support to fonts. 2011-11-16 20:56:43 +00:00
Lasse Öörni
cbac6a30a5 Optimized large scene modify operations in the editor. 2011-11-14 23:36:39 +00:00
Lasse Öörni
642cde63d5 Cleaned up Unlit shader code. 2011-11-13 22:14:30 +00:00
Lasse Öörni
b068022660 Use function pointers directly for preparing AngelScript context.
Use bilinear filtering also in non-hardware shadow map mode for consistency between Direct3D9 & OpenGL.
2011-11-13 22:04:19 +00:00
Lasse Öörni
47ffc91908 Reverted AngelScript fixes due to assert in debug mode and NinjaSnowWar not working. 2011-11-13 21:45:19 +00:00
Lasse Öörni
f568ce93e6 Applied AngelScript patch from SVN and removed AS_OLD workaround. 2011-11-13 17:09:37 +00:00
Lasse Öörni
3313a7a66b Updated script API. 2011-11-12 21:53:41 +00:00
Lasse Öörni
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.
2011-11-12 21:35:12 +00:00
Lasse Öörni
dabf92dcbd Use the AS_OLD define instead of script workaround for the VariantMap crash. 2011-11-10 08:29:42 +00:00
Lasse Öörni
2f0d3caecd Migrated to AngelScript 2.22.0. 2011-11-10 00:05:05 +00:00
Lasse Öörni
1ae6e878f7 Added an initialization-time test to TestScene script for disabling unnecessary shadowcasters. 2011-11-09 08:13:30 +00:00
Lasse Öörni
baefa6fb4e Corrected the constness of WorkQueue::IsCompleted(). 2011-11-07 23:11:28 +00:00
Lasse Öörni
8a52455faa Added shadow mask feature, which allows selective shadow casting by different lights.
Documented multithreading.
2011-11-07 20:11:20 +00:00
Lasse Öörni
787f1d5de0 Code cleanup. 2011-11-07 07:51:27 +00:00
Lasse Öörni
0da41425b5 Fixed debug mode assert.
Do not build raycast work items if no worker threads.
2011-11-04 19:55:18 +00:00
Lasse Öörni
d470af37cb Added command line option to disable worker threads. 2011-11-04 08:44:54 +00:00
Lasse Öörni
39bbcd1b81 Reverted to the previous worker thread sleeping behaviour as on other systems no performance gain was observed. 2011-11-03 23:17:01 +00:00
Lasse Öörni
f50422a04b Repositioned the sleep in the worker thread for improved performance in starting work. 2011-11-03 13:35:03 +00:00
Lasse Öörni
8a57a3ee18 Threaded ray query. 2011-11-03 08:38:23 +00:00
Lasse Öörni
950e37beb1 Refactored raycast query handling in preparation to threading it. 2011-11-03 07:55:48 +00:00
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