Commit Graph

10192 Commits

Author SHA1 Message Date
Lasse Öörni
9ce5d0b836 Added initial PostProcess class. Not yet used and does not render anything yet. 2011-12-19 21:57:56 +00:00
Lasse Öörni
194e0f567c Fixed shader parameter overwrite with non-shadowed spot lights.
Do not draw the light stencil volume in forward rendering if no batches need it.
2011-12-19 07:57:21 +00:00
Lasse Öörni
80345e3e30 Shader parameter code cleanup.
Slight optimization to defining polyhedrons from a bounding box or a frustum.
2011-12-18 23:28:18 +00:00
Lasse Öörni
7b293186cf Fixed point light shader parameter overwrite.
To simplify code, assume that HLSL parameter overlap always occurs.
2011-12-18 22:09:29 +00:00
Lasse Öörni
c77dc68bc8 Doxygen formatting fix. 2011-12-18 18:02:43 +00:00
Lasse Öörni
a341b9ea4f Cleaned up Menu code.
Added Node::Clone().
2011-12-18 17:45:11 +00:00
Lasse Öörni
f58e2595bf Rewrite node & component IDs when instantiating content from file.
Added choice to instantiate content as either replicated or local.
Fixed popup menu & editor hierarchy window update bugs.
2011-12-18 13:44:03 +00:00
Lasse Öörni
7f2f278c58 Added Scene::Instantiate() & Scene::InstantiateXML(), which load a partial scene from binary or XML.
Added editor functions Load node & Save node, which use the above functionality.
Fixed threading crash with multiple shadowed directional lights.
2011-12-18 00:57:50 +00:00
Lasse Öörni
1e1496e7d4 Refactored setting variants from strings.
Refactored nodes and components to write their type & ID when saving, instead of the parent node doing that.
Do not save attribute types into the XML format scene, as they are known.
When loading a node hierarchy, store also the root node reference into the SceneResolver.
Fixed bugs in async binary scene loading.
Removed the redundant .dat file extension filter from the editor. Instead .bin should be always used for binary scenes.
2011-12-17 18:37:23 +00:00
Lasse Öörni
de2d2f58c9 Removed explicit HLSL register allocations to allow for defining more custom shader parameters. 2011-12-16 08:32:56 +00:00
Lasse Öörni
a3c6e580c3 Added Graphics::GetFloatFormat(). 2011-12-15 21:06:00 +00:00
Lasse Öörni
a4aed67509 Optimized deferred shadowed directional light shader in both HLSL & GLSL. 2011-12-14 22:51:03 +00:00
Lasse Öörni
c057b66c38 Fixed parameters of Matrix3x4 & Matrix4 Decompose() when exposed to script. 2011-12-14 10:00:30 +00:00
Lasse Öörni
2d5cfd889e Restored earlier use of forward lighting shader interpolators to fix rendering bugs on Intel 3150. 2011-12-14 08:29:19 +00:00
Lasse Öörni
b3aa4c6c37 Removed unneeded shader code. 2011-12-13 22:26:52 +00:00
Lasse Öörni
35c21f06d7 Removed the fallback shadow code, as GPUs that actually need it are also too low-performance to render shadows acceptably. 2011-12-13 22:22:46 +00:00
Lasse Öörni
a207ec96c1 Updated script API documentation. 2011-12-13 21:32:15 +00:00
Lasse Öörni
97d66e82b4 Exposed Matrix classes to script. 2011-12-13 21:30:59 +00:00
Lasse Öörni
8fcba14bfb Disable light buffer optimization if opaque objects with zero lightmask exist. 2011-12-13 11:49:58 +00:00
Lasse Öörni
bea4a7d9f6 Use replace blend mode for the first light volume, and skip light buffer clear if applicable. 2011-12-13 11:22:31 +00:00
Lasse Öörni
9abf84de11 Cleaned up SceneResolver related code. Moved post-load ApplyAttributes() to Node. 2011-12-13 09:23:28 +00:00
Lasse Öörni
ff3f24017d For slight optimization, use a stenciled fullscreen quad to clear the rendertarget in light pre-pass mode. 2011-12-13 08:09:45 +00:00
Lasse Öörni
b6b8279174 Added a mechanism for resolving possibly changed component & node ID attributes after scene load.
Fixed incorrect world transforms for parented nodes in networking.
2011-12-12 23:35:12 +00:00
Lasse Öörni
9e4a9362cb Node::SetParent() retains the world transform.
Added GetDerivedComponent() to Node.
Added SetWorldPosition() and related functions to Node.
Added unparent command (Ctrl+U) to the editor.
2011-12-12 22:12:05 +00:00
Lasse Öörni
bb8d706428 Corrected the data type of the FogParams uniform.
Removed unused GLSL code.
2011-12-12 07:47:55 +00:00
Lasse Öörni
95e9d73403 Output unnormalized normals to the G-buffer as a slight optimization, as the light volume shader will normalize in any case. 2011-12-11 23:55:11 +00:00
Lasse Öörni
86d9004c63 Small optimization to GLSL material pass shader. 2011-12-11 23:22:26 +00:00
Lasse Öörni
b9e62689f2 Freed up pixel shader uniforms.
Allow defining material specular color instead of just intensity.
2011-12-11 23:16:49 +00:00
Lasse Öörni
534aed5ccf Fixed offsetof for new GCC. 2011-12-11 21:48:35 +00:00
Lasse Öörni
cbe84013ad Code cleanup in Renderer::Update(). 2011-12-11 17:05:57 +00:00
Lasse Öörni
9478103cd0 #ifdef vertex lighting shader code.
Added missing dependency for GLSL shaders.
2011-12-11 11:15:23 +00:00
Lasse Öörni
720a19dea3 #ifdef the shadow HLSL/GLSL code to potentially speed up shader compilation. 2011-12-11 10:49:52 +00:00
Lasse Öörni
d14b968e79 Removed unused G-buffer shader code. 2011-12-11 10:38:21 +00:00
Lasse Öörni
51cf76b99a Renamed SetLinkedDepthBuffer() -> SetLinkedDepthStencil(). 2011-12-10 16:36:59 +00:00
Lasse Öörni
d892a120e7 Reverted the OpenGL viewport reset logic. 2011-12-10 15:57:48 +00:00
Lasse Öörni
8c14956ebe Documentation update. 2011-12-10 15:35:45 +00:00
Lasse Öörni
dec13dac7a Draw render-to-texture views upside down on OpenGL so that they match the UV coordinates of regular textures.
Fixed possible incorrect viewport after render target change on OpenGL.
Fixed incorrect G-buffer vertical offset coordinates on OpenGL.
2011-12-10 13:21:43 +00:00
Lasse Öörni
c334b471e0 Exposed texture formats to script.
Fixed directional lights in light pre-pass mode when using the same camera for multiple views with different aspect ratios.
2011-12-09 23:57:10 +00:00
Lasse Öörni
f564e2bc83 Documentation update. 2011-12-09 21:19:39 +00:00
Lasse Öörni
5dd9673112 Moved debug geometry rendering before possible framebuffer blit so that it will be properly depth tested in all cases. 2011-12-09 20:06:10 +00:00
Lasse Öörni
b7c0187bae Code cleanup.
Use edge filter only on the backbuffer.
2011-12-09 07:58:34 +00:00
Lasse Öörni
f953254296 Renamed "edgefilter" command line parameter to "fxaa" for less typing. 2011-12-08 23:31:47 +00:00
Lasse Öörni
0f04185efb Fixed edge filter for OpenGL. 2011-12-08 23:23:58 +00:00
Lasse Öörni
b2fae0ccb4 Added FXAA edge filter.
Updated readme for upcoming release.
2011-12-08 23:19:04 +00:00
Lasse Öörni
6b94f902c7 Better check for whether vertex lights have been processed. 2011-12-08 07:08:13 +00:00
Lasse Öörni
d53e808ece Fixed double-lighting bug in light pre-pass mode. 2011-12-08 06:59:00 +00:00
Lasse Öörni
d7884cbfa5 Fixed missing masked pointlight rotation on OpenGL light pre-pass mode. 2011-12-07 22:12:46 +00:00
Lasse Öörni
29cc6d87aa Fixed variable name. 2011-12-07 12:44:39 +00:00
Lasse Öörni
ff247d839a Fixed incorrect viewport size compare. 2011-12-07 07:29:43 +00:00
Lasse Öörni
784530e79a Use scissor test to avoid clearing outside the viewport on OpenGL. 2011-12-06 22:45:48 +00:00