b7c32f5887Fixed unlit shaders possibly referring to nonexistent vertex normal, causing the D3D debug runtime to complain. Set z = w in skybox vertex shader, instead of rewriting depth in the pixel shader. Fixed GLSL shaders.
Lasse Öörni
2011-09-27 18:29:06 +0000
8f921642cdReturned to Blinn-Phong equation for more pleasing specular highlights.
Lasse Öörni
2011-09-27 06:59:55 +0000
80a6948b22Large rendering architecture refactoring. Optimized shaders to do more work in the vertex shader. Deferred rendering removed, at least for now. Switched to RGB normal maps, with specular intensity in the alpha channel. Removed NormalMapTool. Optimization of light influence on objects by stencil masking. Split shadowed lights are now rendered in one pass. A virtual shadow depth cube texture is used for point lights. Refactored shadow map allocation. Allow to use lower resolution shadow maps than quarter size. Added the Polyhedron math object, used for improved shadow map focusing. Reversed the convention for the plane intercept parameter. Math-related code cleanup.
Lasse Öörni
2011-09-26 21:56:31 +0000
7e00d6aa1dRemoved PortAudio from Direct3D9 build, as it is not used. Fixed check in setting the scissor rectangle.
Lasse Öörni
2011-09-22 17:02:25 +0000
babd8050a1Eliminated temporary vector allocation during instanced rendering.
Lasse Öörni
2011-09-16 20:27:06 +0000
18edecbb70Added release history.
Lasse Öörni
2011-09-11 08:02:10 +0000
9160dbb0c9Fixed shadow quality settings in the editor.
Lasse Öörni
2011-09-11 07:30:08 +0000
f67165bcf3Documentation fixes.
Lasse Öörni
2011-09-10 20:06:37 +0000
fe495f6bccAdded deferred fallback mode, which renders the G-buffer in 2 passes. Made the OpenGL extensions mandatory to unify expected functionality with Direct3D9 mode.
Lasse Öörni
2011-09-10 19:28:59 +0000
1e086c84f6For less confusing code, do not allocate a depth stencil into colorShadowMaps_ in fallback mode. Instead define a separate variable shadowDepthStencil_.
Lasse Öörni
2011-09-09 21:10:39 +0000
cbad673d09Show profiler by default in TestSceneOld.
Lasse Öörni
2011-09-09 20:49:21 +0000
d6a3f89393Added low-quality (1-sample) shadow filtering option. Refactored fallback shaders so that they are compiled as variations into the SM2 directory.
Lasse Öörni
2011-09-09 20:41:56 +0000
514ef8966dFixed OpenGL path. Documentation update.
Lasse Öörni
2011-09-09 07:51:13 +0000
a25592dfe9Fixed uninitialized variable.
Lasse Öörni
2011-09-08 23:24:13 +0000
292ebed51fAdded initial fallback mode (no MRT, no hardware shadows.)
Lasse Öörni
2011-09-08 23:12:48 +0000
c65998f0e3For a slight speed gain, do not draw a GBufferFill fullscreen quad when hardware depth is available, instead just clear the diffuse buffer.
Lasse Öörni
2011-09-08 07:03:47 +0000
1fd39c6922Fixed TestSceneOld to randomize the scene similarly as in Urho3D 1.0. Comments cleanup.
Lasse Öörni
2011-09-08 06:40:58 +0000
91500591c3Reverted the previous shader parameter query optimization. Instead, added possibility to rehash a hashmap/hashset manually to a specified bucket count.
Lasse Öörni
2011-09-07 06:48:03 +0000
1c06a3b463Use HashMap instead of Map for the shader variations.
Lasse Öörni
2011-09-06 21:28:32 +0000
0e337f493dOptimized checking whether shader parameters need updating.
Lasse Öörni
2011-09-06 20:44:06 +0000
e2e29ff790Re-enabled AngelScript type caching. Eliminated constant reallocation of lighting related helper hashsets/hashmaps in View.
Lasse Öörni
2011-09-06 19:11:29 +0000
b9d7839d94OctreeQuery micro-optimizations.
Lasse Öörni
2011-09-06 06:50:42 +0000
ad6243870bUpdated to newest kNet & AngelScript. Fixed spot light shadow map focusing. Code cleanup.
Lasse Öörni
2011-09-05 19:17:44 +0000
a5089929b6Documentation update.
Lasse Öörni
2011-09-05 07:02:03 +0000
fc3896fe02Added configurable instancing group minimum size and maximum triangles per instanced object.
Lasse Öörni
2011-09-05 06:39:28 +0000
80aee649dfRe-enabled lit base pass optimization, with more careful checks to ensure proper rendering order. Fixed temporal AA shader GLSL syntax for ATI GPUs. Code cleanup.
Lasse Öörni
2011-09-04 14:30:42 +0000
8f2005f7b8Fixed temporal antialiasing shader when INTZ depth is not used.
Lasse Öörni
2011-09-02 18:44:31 +0000
a4508509eeDocumentation edits.
Lasse Öörni
2011-09-01 10:42:31 +0000
56be63eca6Fixed shader code.
Lasse Öörni
2011-09-01 07:21:40 +0000
a89cb22161Replaced edge filtering with temporal antialiasing with ghosting prevention.
Lasse Öörni
2011-09-01 07:19:32 +0000
6b86e66f93More pleasant formatting of shader variation not found -error.
Lasse Öörni
2011-08-30 11:52:51 +0000
c590973745Print one-time error if shader variation is not found.
Lasse Öörni
2011-08-30 06:55:24 +0000
275391a561Fixed SplitPath() getting confused by ./ character sequence.
Lasse Öörni
2011-08-29 22:20:56 +0000
fc3651ab51Fixed CMakeLists.txt
Lasse Öörni
2011-08-29 20:16:54 +0000
3c0298dcf8Updated documentation on G-buffer setup.
Lasse Öörni
2011-08-29 20:00:26 +0000
630edabb4bFixed directional lights and fog in OpenGL orthographic mode.
Lasse Öörni
2011-08-29 18:22:11 +0000
40c8306691Added triple buffering option. On OpenGL it is a no-op. Removed the pass HashMap from Technique. Now it is just a static array.
Lasse Öörni
2011-08-29 17:45:48 +0000
e5ad79494bRe-enabled INTZ depth support in deferred mode.
Lasse Öörni
2011-08-29 07:06:41 +0000
5a64681f0bOptimize forward lighting when material has zero specular strength.
Lasse Öörni
2011-08-29 01:17:14 +0000
da685e99dePorted optimizations and code cleanup from the prepass-branch.
Lasse Öörni
2011-08-29 00:53:05 +0000
7fe5961cdeFixed occlusion buffer precision issues close to the near clip plane.
Lasse Öörni
2011-08-27 12:17:14 +0000
bd75b09b65Optimized depth tests used in light volume rendering and stencil masking.
Lasse Öörni
2011-08-26 06:25:55 +0000
836ff51412Fixed physics and script errors in TestSceneOld. Enabled maximum shader optimization.
Lasse Öörni
2011-08-25 21:04:40 +0000
f0ecda9785Fixed numerical stability in Quaternion matrix constructor. Fixed spotlight wrong size in deferred rendering. Removed "first light" optimization pass due to buggy interactions with alpha blending. Fixed morphWeights property naming on AnimatedModel. Fixed missing shader combinations. Ported the GraphicsTest example from Urho3D 1.0.
Lasse Öörni
2011-08-24 03:52:41 +0000
b6e09d2655Renamed FinishUpdate() to ApplyAttributes() to be more descriptive, and to not confuse with frame updates.
Lasse Öörni
2011-08-23 06:43:18 +0000
47eae408b5Updated script API reference.
Lasse Öörni
2011-08-22 22:25:32 +0000
945375d0eeAdded mass axis parameter to RigidBody so that the axis of cylinder and capsule shapes is not hardcoded. Fixed RigidBody mass not being properly set on the client. Re-enabled replication of snowball collisionshapes in NinjaSnowWar as the erroneous physics interactions caused by missing masses are no longer a problem.
Lasse Öörni
2011-08-22 22:24:26 +0000
3dc01e1a20Fixed TestScene.as not saving the scene correctly if working directory was not Bin.
Lasse Öörni
2011-08-22 21:52:38 +0000
6f5f3c252bSpecify diameter instead of radius for sphere, capsule and cylinder CollisionShapes so that switching between shape types is more intuitive. Capsule and cylinder shapes are now upright by default. Fixed geometry offset staying if it was first set, but then zeroed after assigning the rigid body. Fixed geometry offset not updating after the rigid body is assigned.
Lasse Öörni
2011-08-22 21:35:23 +0000
3f7fffbf49Some renames. CollisionGroup -> CollisionLayer, Scene::GetNodeByID() -> GetNode(), Ray::Distance() -> HitDistance(). Moved all hit distance tests to Ray. Tundra scene physics import.
Lasse Öörni
2011-08-22 20:06:27 +0000
7b89315876Case-insensitive filename sort in FileSelector.
Lasse Öörni
2011-08-22 12:01:09 +0000
534da86f8fAdded node parenting support to Tundra scene import.
Lasse Öörni
2011-08-22 11:52:15 +0000
62fac23f11Perform conversion to left-handed coordinate system when importing Tundra scenes.
Lasse Öörni
2011-08-22 11:13:39 +0000
f0362f1758Fixed endless loop in Tundra scene import.
Lasse Öörni
2011-08-22 10:14:12 +0000
ba7e79e82dIf no element is focused, send mouse wheel to the element under cursor.
Lasse Öörni
2011-08-22 08:37:10 +0000
57bcdb2479For optimization, assume that the scene root node does not have a moving rigid body.
Lasse Öörni
2011-08-22 07:13:42 +0000
ad57102acbFixed root node identity assumption in GetWorldTargetTransform().
Lasse Öörni
2011-08-22 07:09:37 +0000
0298cd3e00Removed assumptions of root node's identity transform. Re-added the root node transform attributes so they can be edited, though this is not recommended. Fixed needless creation of almost similar collision meshes caused by floating point inaccuracy. Fixed bug where parenting a node back to the root node would not be replicated correctly on the network.
Lasse Öörni
2011-08-22 07:05:19 +0000
d39446c592Fixed menu item name. Added editor instructions.
Lasse Öörni
2011-08-21 23:59:49 +0000
a133d549acFixed file selector button text.
Lasse Öörni
2011-08-21 23:28:20 +0000
61f7feb268Added "run script" function to the editor. Update the scene hierarchy when a model resource is loaded, in case bone nodes are destroyed/recreated.
Lasse Öörni
2011-08-21 23:16:27 +0000
4fbd837058Refactored user variables & other subindexed attributes handling in the editor. Now the proper editors are used. Added VariantVector struct support, used for editing billboards. Fixed billboard bounding box calculation. Removed the transform attributes from Scene, as currently moving the root node is not supported in rendering & physics.
Lasse Öörni
2011-08-21 22:46:10 +0000
906b528cc5Adding and removing of node user variables in the editor.
Lasse Öörni
2011-08-21 18:57:59 +0000
6a22f5d7d7Fixed crash if a RigidBody is parented to a node without a RigidBody. Fixed garbage being sent to the client if node variables change, but attributes do not. Optimized the network parent node attribute. Added warning prints if the parent is not found on the client.
Lasse Öörni
2011-08-21 17:25:31 +0000
f23a78eec4Fixed crash if physics world was destroyed before other physics components. Disallow to delete or create duplicates of scene-global components (Octree, PhysicsWorld, DebugRenderer) into the root node in the editor.
Lasse Öörni
2011-08-21 16:09:40 +0000
96855411c0Fixed unnecessarily complicated UI element focusing/defocusing logic. Fixed slider bar size and positioning logic. Ensure ListView item visibility also when pressing TAB to cycle focus. Hide console if ESC pressed in the editor.
Lasse Öörni
2011-08-21 15:23:25 +0000
cea5282fd4Fixed draw distance attribute not working correctly. Always use set/get functions for animation LOD bias attribute.
Lasse Öörni
2011-08-21 12:46:46 +0000
10ad7a3dd2Added phantom attribute to CollisionShape. Phantom shapes create collision events, but do not generate contact joints to the physics simulation. Fixed opening resources externally in the editor.
Lasse Öörni
2011-08-21 12:39:28 +0000
6dd8679214Further attribute reorganization. Refactored CollisionShape shape setting functions, which now take default parameters. CollisionShape triangle meshes can now use the size attribute as well. Fixed CollisionShape model not changing when picked with the file selector. Added occluder triangles & instancing parameters to the editor settings dialog.
Lasse Öörni
2011-08-21 11:42:11 +0000
23d51b853ePick resource functionality in editor. Editor script code cleanup. Added missing functions to the script API.
Lasse Öörni
2011-08-21 10:06:52 +0000
bbad36cc63Do not destroy old animation states if skeleton has stayed compatible. Reload also animations in editor (get them from inside the AnimationState variant vector attribute.) Adjust shadow map constant bias according to global shadow map resolution. Reduced shadow cascade fade range in TestScene & NinjaSnowWar.
Lasse Öörni
2011-08-21 09:02:07 +0000
3576a81993Initial node/component attribute editing. Attributes reorganized for editing. Accessor attributes used more for verifying correct value ranges. More editor settings, including rendering quality. PhysicsWorld raycast returns CollisionShapes instead of Nodes. Fixed LineEdit cursor not showing when at text start. Script API fixes.
Lasse Öörni
2011-08-21 08:15:21 +0000
215fb04f72Converted VAR_BUFFER file serialization attributes to VAR_VARIANTVECTOR to make them more readable and/or editable. Moved ResourceRef hash registration from Serializable to XMLElement. Clear delayed method calls when recreating the script object.
Lasse Öörni
2011-08-20 18:42:03 +0000
d0ab5fb7d6Disabled shader branching from lighting calculations as on some GPUs it has a dramatic negative performance impact. Added -noflush command line option to disable GPU command queue flushing before rendering.
Lasse Öörni
2011-08-20 14:12:16 +0000
df6a86b573Use placement new in Variant to avoid heap allocation for non-POD types. VariantMap changed back to Map<ShortStringHash, Variant> to allow fitting inside the VariantValue structure.
Lasse Öörni
2011-08-20 11:27:57 +0000
360ab16f9fDo not replicate the scene ID generator state through the network unnecessarily.
Lasse Öörni
2011-08-20 09:46:08 +0000
861091d375Fixed performance problems caused by offscreen UI elements being queued for rendering unnecessarily. Fixed missing file extension filtering on Unix. Added String::StartsWith() & String::EndsWith() functions.
Lasse Öörni
2011-08-19 22:08:53 +0000
7083ed9c69Removed debug print.
Lasse Öörni
2011-08-19 18:21:02 +0000
d1125f7d35Fixed wrong material assignment in AssetImporter when more than one submesh.
Lasse Öörni
2011-08-19 18:11:21 +0000
84fb81684bDocumentation update.
Lasse Öörni
2011-08-19 10:53:36 +0000
942bf00ca4Fixed animations not continuing after scene load. Removed redundant @'s from editor script code. Added scene update pause/unpause to editor.
Lasse Öörni
2011-08-19 06:32:21 +0000
b7e5971bc1Revert to AABB testing if AnimatedModel's bones have been destroyed.
Lasse Öörni
2011-08-18 22:04:17 +0000
5e2682d3e5Cut/copy/paste in editor. Exposed Serializable::FinishUpdate() to script.
Lasse Öörni
2011-08-18 21:52:59 +0000
16911eab63Added delete support to the editor. Fixed erroneous script API bindings.
Lasse Öörni
2011-08-18 18:46:12 +0000
d94b865fceReverted the change to not support fallback data mode in index & vertex buffers, as it broke AssetImporter. Add resource hashes from ResourceRef or ResourceRefList attributes to ResourceCache in Serializable::LoadXML(), so that resources created during runtime will load properly. Do not automatically assign the scene root node name when saving a scene in the editor. Add the DebugRenderer component to the saved scene in AssetImporter, as it is needed in editing.
Lasse Öörni
2011-08-18 17:58:29 +0000
9bebc4898eSwitched to AngelScript 2.21.1 WIP. Fixed node reparenting removing extra items from the scene hierarchy window in the editor. Guard against cyclic parent-child assignments in Node & UIElement.
Lasse Öörni
2011-08-18 15:25:51 +0000
f8761918a8Initial node reparenting (drag and drop) in the editor. Let user code handle ListView item visibility toggling on doubleclick; do not handle it automatically.
Lasse Öörni
2011-08-18 06:40:17 +0000
5296a4e569Fixed ItemSelected event. Script API fixes. Sorting of the available component types. Working component selection, and new node/new component creation in the editor.
Lasse Öörni
2011-08-17 21:11:26 +0000
fc2567980eAdded the same speed-optimization to ListView::ToggleChildItemsVisible().
Lasse Öörni
2011-08-17 08:47:05 +0000
97eff87a74Fixed scene hierarchy window update. Speed-optimized ListView::SetChildItemsVisible() & ListView::RemoveAllItems() by disabling layout update during processing.
Lasse Öörni
2011-08-17 08:40:23 +0000
d6f774fc54Fixed scene window update partially.
Lasse Öörni
2011-08-17 07:05:21 +0000
b7797e95f2Fixed odd crash in editor script after scene load. Fixed nearclip & farclip related rendering issues.
Lasse Öörni
2011-08-16 22:03:07 +0000
2863a640a8Fixed inconsistent lineedit scrolling behaviour. Lineedit cursor is created as the text element's child for more straightforward code.
Lasse Öörni
2011-08-16 08:32:39 +0000
f1bb8bd2baUpdated to latest kNet. Editor script fixes. Fixed loading resources from script. Fixed crashes when handling events from objects that subsequently get destroyed. Fixed not being able to load elements of type UIElement from xml layouts.
Lasse Öörni
2011-08-15 20:56:53 +0000
30660c705cInitial non-working editor code ported from Urho3D 1.0. Script API fixes.
Lasse Öörni
2011-08-15 15:16:08 +0000
387ac00631Use the variable name uintColor throughout.
Lasse Öörni
2011-08-14 17:44:05 +0000
424f7a957fEnabled warnings in ShaderCompiler. Optimized physics debug geometry drawing. Branch only in expensive pixel shaders (shadowing or specular lighting.) Added more default colors to Color class.
Lasse Öörni
2011-08-14 17:38:03 +0000
409e463bd2Fixed Linux build.
Lasse Öörni
2011-08-14 14:41:18 +0000
110c908ef5Fixed OSX build.
Lasse Öörni
2011-08-14 12:52:44 +0000