Commit Graph

9612 Commits

Author SHA1 Message Date
Lasse Öörni
1ab5dd3e8d Fixed crash if OpenGL version or extensions are not satisfied. 2012-03-23 00:00:24 +00:00
Lasse Öörni
139ef6d6e2 Removed the light to light queue map. Instead store the light queue pointer directly to the light. 2012-03-21 08:13:57 +00:00
Lasse Öörni
1f89e97116 Insert drawable into the proper octant (instead of root) immediately when OnNodeSet() is called. 2012-03-21 00:13:34 +00:00
Lasse Öörni
b7f5a6c997 Reverted use of HashSet in Octree for updates & reinsertions. Instead use vectors of weak pointers to Drawables to require no explicit cleanup when removed. 2012-03-20 18:39:57 +00:00
Lasse Öörni
97142c1db1 Eliminated n^2 algorithms from event subscribing and octree updates. 2012-03-20 16:33:46 +00:00
Lasse Öörni
66f3fd4097 Added function to get API-independent projection matrix.
Preallocate light queues once per frame instead of resizing the light queue container multiple times.
2012-03-19 20:13:53 +00:00
Lasse Öörni
265d59dfb0 Use occlusion for coarse culling of octants before testing drawable occlusion in worker threads.
More specialized octree queries moved to View.
2012-03-19 08:08:57 +00:00
Lasse Öörni
6c1536627e Refactor of the OctreeQuery class. Use a separate subclass for shadowcaster-only queries. 2012-03-18 23:06:54 +00:00
Lasse Öörni
612a0c2dee Fixed erroneous occlusion culling in orthographic mode.
Use two smaller Z-biases (before and after viewport transform) for occlusion instead of one large.
2012-03-18 22:19:55 +00:00
Lasse Öörni
6fbf8d0404 Increased occlusion buffer Z-accuracy.
Use similar calculations for occluders and occludees to minimize errors.
Decreased default minimum occluder screen size to allow better occluder fusion of small occluders.
2012-03-18 19:33:23 +00:00
Lasse Öörni
fec5d379fd Re-added camera frustum & projection matrix caching. 2012-03-18 14:38:27 +00:00
Lasse Öörni
dd28073cfc Optimized shadowed point light shadowcaster queries.
Removed redundant camera frustum recalculations from shadow processing.
2012-03-17 23:12:06 +00:00
Lasse Öörni
5a6dfe6c19 Added missing spaces. 2012-03-11 14:15:40 +00:00
Lasse Öörni
72794673d1 Fixed crash if a window message was received before the Input subsystem had initialized itself.
Fixed profiler output indent off by one.
Updated script API.
2012-03-11 13:49:01 +00:00
Lasse Öörni
9ab2bf4c14 Added top-level profiling blocks for frame execution. Explicitly call Profiler::BeginFrame() and EndFrame() in Time subsystem to not depend on event subscription order. Profiler max. display depth in DebugHud can be specified. 2012-03-11 12:21:02 +00:00
Lasse Öörni
9b2e4e694a Fixed character encoding. 2012-03-09 15:35:45 +00:00
Lasse Öörni
ce4c4ae96f Do not use the "preferred resource path" mechanism when explicitly choosing a path via UI. 2012-03-09 13:43:17 +00:00
Lasse Öörni
c5f5be8ef0 Added beneficial AssImp processing flags. 2012-03-09 13:38:34 +00:00
Lasse Öörni
3735bd6916 Strip double quotes from arguments.
Fixed String::EndsWith().
Fixed crash in AssetImporter when instantiating an Octree component.
2012-03-03 23:52:40 +00:00
Lasse Öörni
e10da28c4b Reverted PrintLine() to use printf() to allow seeing the tools' intermediate output in the MSVC output window.
Make sure that minidump code is only compiled in on MSVC.
2012-03-03 13:05:25 +00:00
Lasse Öörni
acd6f5be5c Fixed PrintRaw() on Unix. 2012-03-01 22:35:25 +00:00
Lasse Öörni
89d3dc38e9 Fixed conflict with IOAPI.cpp Print() functions. 2012-03-01 21:51:51 +00:00
Lasse Öörni
3805401100 Fixed WString returning length one char too long.
Use WriteConsoleW on Windows for printing to the console.
Allow to exit NinjaSnowWar server by a console command.
2012-03-01 19:27:05 +00:00
Lasse Öörni
a542fae7b6 Centralized printing to the console. 2012-03-01 08:33:07 +00:00
Lasse Öörni
481468e2a0 Replaced further Win32 API calls with Unicode variants.
Win32 console input reading using Unicode.
2012-02-29 23:46:05 +00:00
Lasse Öörni
1efdb25d9d Use PeekMessageW() & DispatchMessageW() for consistency. 2012-02-29 23:11:21 +00:00
Lasse Öörni
0804e9d4ec Sort drawable's lights only if necessary (over the maximum light count.)
Handle lights that are converted from per-pixel to per-vertex correctly even if drawable has both opaque & transparent batches.
2012-02-29 14:24:38 +00:00
Lasse Öörni
cc51e1a40c Reverted code which was only needed when SetDepthStencil() committed the FBO changes. 2012-02-29 08:39:17 +00:00
Lasse Öörni
961f65b467 Flush changes to the current FBO first before cleaning up a rendersurface from other FBOs. 2012-02-28 23:04:36 +00:00
Lasse Öörni
9d15b80fc4 Audio::IsInterpolated() -> Audio::GetInterpolation().
Fixed comments in the audio library.
2012-02-28 22:58:25 +00:00
Lasse Öörni
26e2ebca26 Fixed enemy motion bugs in networked NinjaSnowWar.
Added possibility to disable physics interpolation. This is useful on a network server to ensure clients do not receive interpolated (and possibly non-physical) node transforms.
Changed default network update FPS to 30 (half of the default physics FPS.)
2012-02-28 21:03:42 +00:00
Lasse Öörni
cd00810139 Updated docs for upcoming release. 2012-02-28 18:51:31 +00:00
Lasse Öörni
9a5443ebc4 Store depth bits into Texture2D also in renderbuffer mode. 2012-02-28 18:50:52 +00:00
Lasse Öörni
7ed9a4815d More complete multi-FBO implementation. 2012-02-28 13:11:34 +00:00
Lasse Öörni
e42f16dfbe Set GL_NONE drawbuffer on the depth-only FBO. 2012-02-28 00:39:13 +00:00
Lasse Öörni
f83b968576 To reduce Linux / NVIDIA performance issues, use another FBO for shadow rendering. Commit FBO changes only at SetDepthStencil(). 2012-02-28 00:24:35 +00:00
Lasse Öörni
f78a0cab6d Set also the third texture coordinate wrap mode on OpenGL. 2012-02-27 21:15:31 +00:00
Lasse Öörni
6014f87a0f Added mention to only install libgl1-mesa-dev if OpenGL headers/libs do not already exist. 2012-02-27 08:09:11 +00:00
Lasse Öörni
bc8b45b061 Restored AngelScript typeid caching. 2012-02-26 21:54:05 +00:00
Lasse Öörni
281703c8e5 Use HashMap instead of Map in Font for improved performance. 2012-02-26 20:53:52 +00:00
Lasse Öörni
a7daef9b49 Reverted the busywait code because of unpredictable effect on slower machines. 2012-02-26 20:25:23 +00:00
Lasse Öörni
f4650362c0 Spinwait using a dummy calculation to get accurate frame limiting. 2012-02-26 18:39:55 +00:00
Lasse Öörni
911f9e4c5b Removed the "flush GPU" feature as it was causing erratic timing. The downside is increased input lag when vsync is on.
Increased NinjaSnowWar physics FPS to 100Hz for less likely snowball tunnelling.
Set the player yaw from mouse movement each frame also in singleplayer NinjaSnowWar.
When a physical Node's rotation only changes, do not force the rendering position automatically as the new physics position.
2012-02-26 16:00:52 +00:00
Lasse Öörni
ff9df846d1 Fixed physics transform interpolation when physics timestep is lower than framerate.
Use high resolution timer for frame timestep to avoid jitter at vsync frequency.
Rewrote frame limiting.
Elapsed time API changed.
2012-02-26 13:07:52 +00:00
Lasse Öörni
51eec4e987 Marked todo's into the IO library.
Moved the cursor/function key char input check into GLFW.
2012-02-26 11:57:36 +00:00
Lasse Öörni
3afbeb83ea Added a documentation page on Unicode.
Restructured the quickstart-examples, and fixed the C++ quickstart code.
2012-02-26 11:35:03 +00:00
Lasse Öörni
d66fb61091 Fixed texts defined in XML not showing. 2012-02-26 00:24:26 +00:00
Lasse Öörni
01d893df98 Decode the text from UTF8 once during Text::SetText() for easier processing. 2012-02-26 00:19:21 +00:00
Lasse Öörni
80a2fe0f30 Keep track of mouse cursor show/hide on OSX as it stacks like on Windows. 2012-02-25 23:12:42 +00:00
Lasse Öörni
715a8196e8 Fixed erroneous mouse move on windowed/fullscreen toggle on X11. 2012-02-25 22:04:04 +00:00