Lasse Öörni
5c4904288a
Fixed hinge constraint breaking.
...
Fixed constraint not being created if rigid body did not initially exist.
Changed constraint position & axis to be serialized in world space for reliability.
2012-05-02 22:13:09 +00:00
Lasse Öörni
ef421ef32d
Initial Bullet constraint implementation.
...
Changed DrawDebugGeometry() to be a virtual function in Component.
2012-05-01 19:26:29 +00:00
Lasse Öörni
31e027b354
Maximum amount of sorted instances can be configured in Renderer. By default 1000.
...
Moved the NetworkState pointer back to Serializable, as there was not much practical benefit.
2012-04-29 16:20:23 +00:00
Lasse Öörni
a84ed27df9
Updated to AngelScript 2.23.1.
...
Removed link time code generation from the release build as it greatly increases compile time, but does not seem to provide observable performance benefit.
2012-04-29 13:10:22 +00:00
Lasse Öörni
e6fe0d6cf0
Removed convenience GetWorldTransform() from Component to make it explicit that an indirection to the parent node is being made.
...
Added inverse transform caching to Zone.
Added light nullcheck to Batch.
2012-04-29 12:01:37 +00:00
Lasse Öörni
d8eb85b9b4
Added SphereCast function to PhysicsWorld.
...
Applied kNet bugfix.
Restored custom kNet UDP flow control mechanism.
2012-04-26 20:03:54 +00:00
Lasse Öörni
40709f2d63
Added GetCompressedTextureSupport() to Graphics. Always true on Direct3D9.
2012-04-25 21:23:37 +00:00
Lasse Öörni
2f4165bf0f
Added Squish library for DXT decompression.
2012-04-25 21:07:35 +00:00
Lasse Öörni
5bc2c61d88
Reorganized Node, Component, Drawable & Camera member variables for more optimal access.
...
Several Camera getter functions changed to const.
2012-04-23 18:41:38 +00:00
Lasse Öörni
5640824c9a
Fixed Camera not properly notified of node transform changes.
...
Added caching of camera view matrix.
2012-04-23 17:47:29 +00:00
Lasse Öörni
91f6f87472
Explicitly mark changed nodes to avoid going through the whole scene in PrepareNetworkUpdate().
2012-04-22 18:48:09 +00:00
Lasse Öörni
1a9dced05b
Updated to AngelScript 2.23.1 WIP.
...
Fixed crash at exit when a script contains an array of Node handles.
Fixed missing sound type enum in the editor. Added Ambient sound type.
Fixed incorrect occlusion when a drawable is set for no occlusion, but the parent octant is occluded.
Removed unnecessary node lookup in network replication.
Added GetScene() to Component for convenience.
2012-04-21 12:50:48 +00:00
Lasse Öörni
e0571d46eb
Removed kNet message priority sorting to improve CPU performance when sending a high volume of network messages.
2012-04-20 22:55:50 +00:00
Lasse Öörni
66a860144a
Added separate Equals() function to Vector & Quaternion classes to perform comparison with epsilon. Equality operator does not use epsilon. This optimizes network sync somewhat.
2012-04-18 11:05:57 +00:00
Lasse Öörni
08ac95dbf7
Fixed continuous collision detection to work with the compound shape.
...
Added CCD radius & motion threshold attributes to RigidBody.
Use CCD for NinjaSnowWar snowballs to prevent their tunneling through the ground.
2012-04-16 21:45:40 +00:00
Lasse Öörni
51c9160eae
Removed CCD Radius parameter for now as continuous collision detection is not supported for all collision shapes.
...
Changed the way RigidBody attributes are applied to reduce unnecessary re-adding of the body to the simulation world during deserialization.
2012-04-15 16:47:33 +00:00
Lasse Öörni
9ead094d5a
Removed the physics world maximum timestep, as it is already governed by the Engine's minimum FPS.
2012-04-15 13:19:42 +00:00
Lasse Öörni
32fa940130
Handle world transform update of parented RigidBodies correctly.
...
Updated physics documentation.
2012-04-15 11:42:02 +00:00
Lasse Öörni
8edf0240a1
Migration to Bullet physics underway. Most of physics functionality & examples broken for now.
2012-04-09 18:10:17 +00:00
Lasse Öörni
fbd019cff4
Updated to AngelScript 2.23.0.
2012-04-07 20:26:01 +00:00
Lasse Öörni
a85817a355
Reverted to joint world space positioning for reliability.
...
Added debug geometry visualization for joints.
Added nullchecks to prevent crash by calling DrawDebugGeometry() from script with a null debug renderer pointer.
2012-04-06 17:23:45 +00:00
Lasse Öörni
566489e1fa
Updated the script API documentation.
2012-04-01 18:09:52 +00:00
Lasse Öörni
ff950d7dca
Refactored joint attributes. Now the joint should be created into a node with a rigidbody, and only the connected body needs to be specified.
2012-03-30 23:02:33 +00:00
Lasse Öörni
bea4b8d60b
Allow per-rigidbody disabling of gravity.
2012-03-25 12:57:45 +00:00
Lasse Öörni
c0273f35ca
Removed deprecated SuppressNextChar() function.
2012-03-23 11:45:46 +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
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
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
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
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
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
c64e0cd165
Default to RelWithDebInfo build on GCC. Removed Urho3D executable name debug postfix due to CMake limitations. Copy the executables to Bin directory similarly on both MSVC & GCC.
2012-02-25 12:30:42 +00:00
Lasse Öörni
50226cfdb0
Started work toward Unicode compatibility.
2012-02-24 00:05:06 +00:00
Lasse Öörni
a1049eab4e
Updated to AngelScript 2.23.0 WIP.
...
Removed the AngelScript datatype caching optimization, as it was possibly causing a VariantMap crash in the editor.
2012-02-22 23:18:50 +00:00
Lasse Öörni
7ec5ec4f6e
Added FileWatcher class (for now Windows only) & live resource reloading.
2012-02-22 21:27:16 +00:00
Lasse Öörni
4e67907b8a
Updated to AngelScript 2.22.2.
2012-02-14 21:57:12 +00:00
Lasse Öörni
9b89a1540d
Added resource name sanitation to prevent creation of duplicate resources.
2012-01-15 09:55:50 +00:00
Lasse Öörni
0cc1219607
Added note on selecting 32-bit architecture with Xcode.
2012-01-08 22:17:49 +00:00
Lasse Öörni
667258b618
Updated to newest kNet.
2012-01-02 11:52:01 +00:00
Lasse Öörni
a5681746e1
Added brief documentation on skeletal animation.
...
Added missing morphs attribute to AnimatedModel.
2012-01-01 17:09:14 +00:00
Lasse Öörni
5dbf2b81f9
Added error logging for resource hash collision.
...
Clear both color & depth at the same time for light prepass rendering.
2012-01-01 15:22:43 +00:00
Lasse Öörni
cc3ee34f58
Increased occlusion buffer depth bias.
...
Minor code cleanup.
Updated copyright for 2012.
2012-01-01 00:07:57 +00:00
Lasse Öörni
88645ee31b
Updated script API.
2011-12-31 21:03:31 +00:00
Lasse Öörni
9e871c1987
Removed automatic viewport reset on setting rendertarget to eliminate redundant API calls. However Graphics::ResetRenderTargets() resets the viewport.
2011-12-31 15:05:08 +00:00
Lasse Öörni
d34a73bfb9
Added full deferred rendering in addition to light pre-pass.
...
Added missing vertex colored light pre-pass material shader permutation.
2011-12-31 14:20:29 +00:00
Lasse Öörni
777810d84f
Updated to Open Asset Import Library rev. 1102.
2011-12-30 19:32:45 +00:00
Lasse Öörni
ccbfe5babc
Further documentation fixes.
2011-12-28 15:10:46 +00:00
Lasse Öörni
700b9c6a02
Post-process documentation fix.
2011-12-28 14:38:23 +00:00
Lasse Öörni
408d063cf5
Documentation edits.
2011-12-28 14:36:55 +00:00
Lasse Öörni
3d105cbdb6
Updated readme for new version.
2011-12-28 14:19:18 +00:00
Lasse Öörni
7075513957
Cleaned up bloom shader code.
...
Split SampleOffsets shader parameter to GBufferInvSize and ShadowMapInvSize parameters.
Set Offsets & InvSize parameters for user-defined rendertargets during postprocessing.
Fixed bug on some NVIDIA drivers caused by using tex2Dlod on the hardware depth buffer.
2011-12-28 13:17:21 +00:00
Lasse Öörni
a1c70a3476
Added bloom post-process effect.
...
Added global shader parameters to PostProcess.
Added possibility to specify texture units by number instead of name in materials and postprocesses.
2011-12-28 01:43:48 +00:00
Lasse Öörni
9fc3d48c12
Changed Viewport to be a reference-counted object.
...
Changed the Viewport API to allow easier manipulation of the post-process chain.
Added PostProcess::Clone().
2011-12-27 12:57:03 +00:00
Lasse Öörni
5aa1a38a98
Added documentation for post-processing.
2011-12-26 23:48:56 +00:00
Lasse Öörni
55ce257a9c
Initial postprocessing implementation. Reimplemented the FXAA edge filter using it.
2011-12-26 01:07:37 +00:00
Lasse Öörni
510c606b3d
Removed the redundant GetString() functions from XMLElement.
2011-12-24 20:04:52 +00:00
Lasse Öörni
3a319a2231
Optimized parsing of numbers from strings.
2011-12-24 03:04:35 +00:00
Lasse Öörni
762085c443
Updated script API.
2011-12-24 00:25:02 +00:00
Lasse Öörni
5c27c0f69f
Changed to use pugixml instead of TinyXML.
...
Changed the XMLElement::RemoveChild() interface.
Removed the restriction that XML documents can only be saved to files.
Cleaned up CMakeLists files.
2011-12-23 21:46:49 +00:00
Lasse Öörni
86608f6ba5
Changed PostProcess class to not allocate rendertargets beforehand.
2011-12-23 00:35:42 +00:00
Lasse Öörni
6845f056a5
Refactored NinjaSnowWar example to load the scene and objects from files instead of creating them programmatically.
...
Fixed crash in ParticleEmitter.
Fixed network client trying to load scene file directly instead of going through the resource system.
Fixed AnimatedModel to create bones manually if they are missing after a scene or object load.
Changed TestScene & TestSceneOld to write the scene into the Scenes subdirectory.
2011-12-22 21:18:39 +00:00
Lasse Öörni
97f1fbd7e1
Added relative scale flag to ParticleEmitter XML description file format.
...
Fixed ParticleEmitter documentation.
2011-12-20 23:42:47 +00:00
Lasse Öörni
75beda5f3a
Removed the "unculled drawable" mechanism. Instead added occludee-flag to Drawable.
...
Added missing attributes to ParticleEmitter.
2011-12-20 23:25:22 +00:00
Lasse Öörni
75096fe6f9
Refactored screen-size rendertarget allocation in preparation for postprocessing.
...
Removed the "size 0,0 follows window size" mechanism from Texture2D.
2011-12-20 22:24:09 +00:00
Lasse Öörni
d449b946bd
Additions to the PostProcess API.
...
Exposed PostProcess to script.
Code cleanup.
2011-12-19 23:44:28 +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
a3c6e580c3
Added Graphics::GetFloatFormat().
2011-12-15 21:06:00 +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
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
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
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
f953254296
Renamed "edgefilter" command line parameter to "fxaa" for less typing.
2011-12-08 23:31:47 +00:00
Lasse Öörni
b2fae0ccb4
Added FXAA edge filter.
...
Updated readme for upcoming release.
2011-12-08 23:19:04 +00:00
Lasse Öörni
b9ffb1fc2d
Documentation tweaks.
2011-12-06 22:07:32 +00:00
Lasse Öörni
c4e569879d
Restored the optional lit base pass optimization, but with the limitation of no ambient gradient.
...
Removed unneeded GLSL shader permutations.
2011-12-06 21:36:03 +00:00
Lasse Öörni
31b2a692d5
Fixed multithreading documentation.
2011-12-06 14:57:07 +00:00
Lasse Öörni
8f882f8225
Rewrote the zone ambient color gradient system. Now zones only define one ambient color, but look for neighbor zones' ambient colors when gradient mode is enabled.
...
Fixed missing script bindings to the zone ambient gradient & camera override flags.
Added a default bounding box size for newly created zones.
Added documentation on zones.
2011-12-06 14:48:53 +00:00
Lasse Öörni
738a159c59
Small documentation tweaks.
2011-12-05 22:41:26 +00:00
Lasse Öörni
23f4ba9710
Added more detailed documentation on light pre-pass rendering.
2011-12-05 22:10:05 +00:00
Lasse Öörni
644c37a099
Mark light masks to G-buffer stencil for light culling.
...
Fixed OpenGL forward rendering.
Documentation fixes.
2011-12-03 17:51:18 +00:00
Lasse Öörni
f9bfd4948f
Shader refactoring.
...
Removed ambient + lit pass combining for less shader permutations, and to prime the Z-buffer with a lightweight pass in case there is a large amount of overdraw.
Moved ambient light calculation to the ambient pass vertex shader.
Added render mode toggle to the editor settings.
Note: OpenGL rendering is currently broken.
2011-12-03 14:06:35 +00:00
Lasse Öörni
fefa7bf6cd
Initial light pre-pass rendering. Lighting not rendered yet.
2011-12-01 23:57:16 +00:00
Lasse Öörni
50284fe9b6
Added extra keys to LightTest.
2011-11-29 23:53:12 +00:00
Lasse Öörni
abf00cafa9
Merged pixel shader uniforms.
...
Script code cleanup.
Added LightTest script.
2011-11-29 23:15:34 +00:00
Lasse Öörni
9a080ee900
Cleaned up comments. Removed Object::CreateObject() as unnecessary.
2011-11-28 19:00:28 +00:00
Lasse Öörni
0be96b3fca
Updated documents.
2011-11-28 18:05:15 +00:00
Lasse Öörni
8cb99ac13b
Updated to libcpuid 0.2.0 to not require the CPU core amount sanitation hack.
2011-11-28 09:31:20 +00:00
Lasse Öörni
471d3ec5ff
Added libcpuid for improved CPU detection.
...
Added separate functions for querying logical & physical CPU count.
2011-11-27 17:45:03 +00:00
Lasse Öörni
b1ba025970
Fixed hyperthreading detection again.
...
Send frame update events in Engine::Update(), not in Timer::BeginFrame().
2011-11-27 13:40:40 +00:00
Lasse Öörni
1fbbf5f2cd
Limit the amount of worker threads to half the available CPU cores.
2011-11-26 20:00:29 +00:00
Lasse Öörni
c5f6516aee
Migrated to AngelScript 2.22.1 WIP.
2011-11-26 11:19:20 +00:00
Lasse Öörni
8b61a23cd0
Updated to newest ODE from svn.
2011-11-21 19:37:19 +00:00
Lasse Öörni
a51afb0631
Initial vertex lighting support.
2011-11-21 00:17:52 +00:00
Lasse Öörni
a48c7ccdfb
Migrated to new scriptarray add-on.
2011-11-19 13:14:15 +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
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
3313a7a66b
Updated script API.
2011-11-12 21:53:41 +00:00
Lasse Öörni
2f0d3caecd
Migrated to AngelScript 2.22.0.
2011-11-10 00:05:05 +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
d470af37cb
Added command line option to disable worker threads.
2011-11-04 08:44:54 +00:00
Lasse Öörni
d5c42e8c2c
Added Node::LookAt().
...
Added Quaternion::FromAxes().
2011-10-25 22:04:11 +00:00
Lasse Öörni
b60a806058
Updated changelog in the docs as well.
2011-10-23 21:14:46 +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
bdc29caebd
Reverted to AngelScript 2.21.1 because of crash with VariantMap.
...
Find the zone at far clip plane and use it for the background color.
Added zone mask for drawables, allowing to select which zones they can belong to.
When zone moves or changes its bounding box, clear the cached zone from all drawables that were inside.
2011-10-22 18:49:15 +00:00
Lasse Öörni
1c47bc6f20
Migrated to AngelScript 2.22.0 WIP.
2011-10-21 23:01:30 +00:00
Lasse Öörni
4f9f83eaab
Made the move mode arrows smaller to match the scaling mode axes.
...
Corrected documentation about fallback mode shadow filtering.
2011-10-21 20:05:57 +00:00
Lasse Öörni
4ca9035ba5
Reimplemented the MSVC random number generator to produce same random number output on all platforms.
2011-10-21 19:12:20 +00:00
Lasse Öörni
2b57762508
Added zone property for Drawables in the script API where applicable.
...
Removed the viewmask attribute from Zone as it is not currently used.
2011-10-21 07:13:44 +00:00
Lasse Öörni
15e8c14623
Separated SetIntensitySortValue() into two separate functions.
...
Use the drawable's bounding box in light sort value calculations, instead of just the bounding box center.
Added Rect::Clip().
2011-10-19 23:03:36 +00:00
Lasse Öörni
eba23029c0
Fixed maxLights not exposed to script.
...
Added maxLights setting to TestSceneOld animated models as a test.
Improved drawable light sorting.
2011-10-19 07:27:36 +00:00
Lasse Öörni
63f23313d6
Sort also the postalpha pass back to front.
2011-10-18 06:36:07 +00:00
Lasse Öörni
7f7e8b970d
Added subgeometry centers to the model format for proper sorting of transparent geometries.
2011-10-17 21:59:47 +00:00
Lasse Öörni
7be9585861
Fixed erroneous use of local axis movement when more than one node selected.
...
Split the extra (custom) rendering pass into prealpha and postalpha.
2011-10-17 20:59:13 +00:00
Lasse Öörni
0e6b9508b9
Gizmo improvements.
...
Reduced node transform edit related code duplication in the editor.
Exposed Plane class to script.
2011-10-17 18:55:55 +00:00
Lasse Öörni
b11b0f8de1
Initial gizmo-based node transform editing.
...
Fixed material assignments in the axes model.
Possibility to add unculled drawables to the octree.
2011-10-16 23:59:53 +00:00
Lasse Öörni
4a34382798
Fixed clicking on UI elements clearing the scene node selection in the editor.
2011-10-16 17:52:27 +00:00
Lasse Öörni
a32f0f1c26
Fixed rotation of the axes model.
...
Added ray-frustum intersection test.
Added accurate raycasts for point and spot lights. Directional light now never returns a raycast result, as it has an "infinite" bounding box.
Added better debug visualization of a point light.
Reorganization of the editor script code.
2011-10-16 14:53:14 +00:00
Lasse Öörni
bad42bcc5f
Take node parenting into account when moving nodes in the editor.
...
Added LocalToWorld() & WorldToLocal() functions to Node.
2011-10-15 18:37:55 +00:00
Lasse Öörni
83dbac20fc
Fixed Camera's view override flags not exposed to script.
2011-10-15 13:28:28 +00:00
Lasse Öörni
a436badf8f
More documentation updates.
2011-10-14 18:43:17 +00:00
Lasse Öörni
2e32aace3c
Documentation update.
2011-10-14 18:20:32 +00:00
Lasse Öörni
dd131fbd66
Added missing file.
...
Updated script API.
2011-10-14 17:43:54 +00:00
Lasse Öörni
4dd0c17651
Editor multi-edit & multi-delete.
...
Reversed node selection logic: select nodes by default, and components when Shift is held down. This is to avoid mistakenly deleting components and leaving nodes intact when intending to do a node multi-delete.
2011-10-12 22:15:38 +00:00
Lasse Öörni
58843be1fa
Initial multiselection in the editor.
2011-10-12 13:17:04 +00:00
Lasse Öörni
407ffc684b
Do not close the scene hierarchy or node/component edit window with ESC.
2011-10-09 17:43:59 +00:00
Lasse Öörni
d9524b79ad
Added light & zone picking to editor.
2011-10-09 17:17:09 +00:00
Lasse Öörni
a9c5641371
Return to xGxR encoded normal maps and separate specular maps.
...
Instead of double buffered VBOs, avoid glMapBuffer & glUnmapBuffer in "discard" mode and use a CPU-side buffer instead.
Reduce UI & DebugRenderer vertex buffer size if grossly too large.
Updated documentation. Suggest AMD's Compressonator utility for normal map processing.
2011-10-07 21:30:02 +00:00
Lasse Öörni
2f74622427
Converted DebugGeometry to use a vertex buffer instead of using immediate rendering.
...
Removed immediate rendering.
2011-10-05 07:05:33 +00:00
Lasse Öörni
71d2e019e6
Use a vertex buffer for UI rendering instead of several immediate mode draw operations. The vertex buffer is locked and updated once per frame, instead of several smaller locks.
2011-10-04 21:49:22 +00:00
Lasse Öörni
653327dd15
Added E_NETWORKUPDATESENT event.
...
Added direct script access to the Controls object of Connection, instead of going through setter & getter.
Improved NinjaSnowWar controls responsiveness during low FPS, by checking for action button presses separately, and accumulating button presses for networking.
2011-10-04 16:26:19 +00:00
Lasse Öörni
4e18121be0
Updated documentation.
2011-10-04 06:50:01 +00:00
Lasse Öörni
7f09ddcb14
Simplified shader register mapping code.
2011-10-02 14:12:30 +00:00
Lasse Öörni
7d96303e39
Finalized support for overlapping Direct3D9 shader parameters, or the same shader parameters using different registers in different shaders.
2011-10-02 11:17:45 +00:00
Lasse Öörni
0e84c54306
Added shader parameter register count information in the D3D shader file format.
...
Added tracking of last assigned shader parameter per hardware register to D3D9Graphics. This allows reusing shader registers for different parameters in different shaders.
Removed the ElapsedTime shader parameter, as wrapping it is problematic depending on the calculations it would be used for.
Removed support for bool & int shader parameters from Graphics, as bool constants are not supported in OpenGL 2.0, and int parameters are not (at least currently) needed, and can lead to worse performance.
2011-10-01 09:28:27 +00:00
Lasse Öörni
589c0ee141
Expanded the lit base pass optimization to cover also the first spot or point light affecting a drawable.
...
Do not render light to stencil if camera is inside the light volume.
Added optimization for directional light shadow casters that are fully occluded by another shadow caster: do not render the lit pass for them.
Removed the alpha masking hint. Alpha test no longer gives the batch a lower priority.
2011-09-29 22:53:16 +00:00
Lasse Öörni
80a6948b22
Large 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.
2011-09-26 21:56:31 +00:00
Lasse Öörni
18edecbb70
Added release history.
2011-09-11 08:02:10 +00:00
Lasse Öörni
f67165bcf3
Documentation fixes.
2011-09-10 20:06:37 +00:00
Lasse Öörni
fe495f6bcc
Added deferred fallback mode, which renders the G-buffer in 2 passes.
...
Made the OpenGL extensions mandatory to unify expected functionality with Direct3D9 mode.
2011-09-10 19:28:59 +00:00
Lasse Öörni
d6a3f89393
Added low-quality (1-sample) shadow filtering option.
...
Refactored fallback shaders so that they are compiled as variations into the SM2 directory.
2011-09-09 20:41:56 +00:00
Lasse Öörni
514ef8966d
Fixed OpenGL path.
...
Documentation update.
2011-09-09 07:51:13 +00:00
Lasse Öörni
292ebed51f
Added initial fallback mode (no MRT, no hardware shadows.)
2011-09-08 23:12:48 +00:00
Lasse Öörni
ad6243870b
Updated to newest kNet & AngelScript.
...
Fixed spot light shadow map focusing.
Code cleanup.
2011-09-05 19:17:44 +00:00
Lasse Öörni
a5089929b6
Documentation update.
2011-09-05 07:02:03 +00:00
Lasse Öörni
fc3896fe02
Added configurable instancing group minimum size and maximum triangles per instanced object.
2011-09-05 06:39:28 +00:00
Lasse Öörni
a4508509ee
Documentation edits.
2011-09-01 10:42:31 +00:00
Lasse Öörni
a89cb22161
Replaced edge filtering with temporal antialiasing with ghosting prevention.
2011-09-01 07:19:32 +00:00
Lasse Öörni
3c0298dcf8
Updated documentation on G-buffer setup.
2011-08-29 20:00:26 +00:00
Lasse Öörni
40c8306691
Added triple buffering option. On OpenGL it is a no-op.
...
Removed the pass HashMap from Technique. Now it is just a static array.
2011-08-29 17:45:48 +00:00
Lasse Öörni
f0ecda9785
Fixed 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.
2011-08-24 03:52:41 +00:00
Lasse Öörni
b6e09d2655
Renamed FinishUpdate() to ApplyAttributes() to be more descriptive, and to not confuse with frame updates.
2011-08-23 06:43:18 +00:00
Lasse Öörni
47eae408b5
Updated script API reference.
2011-08-22 22:25:32 +00:00
Lasse Öörni
6f5f3c252b
Specify 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.
2011-08-22 21:35:23 +00:00
Lasse Öörni
3f7fffbf49
Some renames. CollisionGroup -> CollisionLayer, Scene::GetNodeByID() -> GetNode(), Ray::Distance() -> HitDistance().
...
Moved all hit distance tests to Ray.
Tundra scene physics import.
2011-08-22 20:06:27 +00:00
Lasse Öörni
0298cd3e00
Removed 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.
2011-08-22 07:05:19 +00:00
Lasse Öörni
d39446c592
Fixed menu item name.
...
Added editor instructions.
2011-08-21 23:59:49 +00:00
Lasse Öörni
906b528cc5
Adding and removing of node user variables in the editor.
2011-08-21 18:57:59 +00:00
Lasse Öörni
10ad7a3dd2
Added 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.
2011-08-21 12:39:28 +00:00
Lasse Öörni
23d51b853e
Pick resource functionality in editor.
...
Editor script code cleanup.
Added missing functions to the script API.
2011-08-21 10:06:52 +00:00
Lasse Öörni
3576a81993
Initial 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.
2011-08-21 08:15:21 +00:00
Lasse Öörni
d0ab5fb7d6
Disabled 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.
2011-08-20 14:12:16 +00:00
Lasse Öörni
84fb81684b
Documentation update.
2011-08-19 10:53:36 +00:00
Lasse Öörni
5e2682d3e5
Cut/copy/paste in editor.
...
Exposed Serializable::FinishUpdate() to script.
2011-08-18 21:52:59 +00:00
Lasse Öörni
16911eab63
Added delete support to the editor.
...
Fixed erroneous script API bindings.
2011-08-18 18:46:12 +00:00
Lasse Öörni
9bebc4898e
Switched 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.
2011-08-18 15:25:51 +00:00
Lasse Öörni
f1bb8bd2ba
Updated 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.
2011-08-15 20:56:53 +00:00
Lasse Öörni
700520f320
Further comments and code cleanup.
2011-08-14 09:28:40 +00:00
Lasse Öörni
de67af8825
CoreData / Data reorganization.
...
Comments cleanup.
Removed the fallback-data mechanism from IndexBuffer and VertexBuffer as unnecessary.
2011-08-13 15:43:52 +00:00
Lasse Öörni
bf2b9ded9a
Switched to Open Asset Import Library svn revision 1062.
2011-08-11 21:54:28 +00:00
Lasse Öörni
e22483e482
Added viewmask parameter to octree queries to avoid manual viewmask checking in View and to allow partial scene queries for logic.
...
Reordered ray query parameters; added default query parameters to script.
Renamed BeginRender & EndRender events to BeginRendering & EndRendering.
2011-08-09 15:48:32 +00:00
Lasse Öörni
dca6687166
In absence of packet loss, use dynamic send rate increase/decrease based on utilization.
...
Removed unused UDPMessageConnection code.
2011-08-01 00:03:06 +00:00
Lasse Öörni
57e8e910af
Fixed missing alwaysUpdateOwner script property in NetworkPriority.
2011-07-31 17:22:27 +00:00
Lasse Öörni
b694ad047e
Refactored interest management into the NetworkPriority component.
...
Fixed setter functions referring to the Set class in Doxygen comments.
2011-07-31 17:19:00 +00:00
Lasse Öörni
6d552a8193
Use fixed size 24 bit network object IDs for more deterministic bandwidth use.
...
ReadID() / WriteID() renamed to ReadFileID() / WriteFileID().
2011-07-30 20:57:28 +00:00
Lasse Öörni
bd76a14249
Fixed Unix build. Fixed counting of enemies in multiplayer NinjaSnowWar. Disabled snowball CollisionShape replication due to divergent simulation on the client. Removed previousControls from Connection as it is potentially unreliable if multiple controls packets arrive between updates.
2011-07-29 22:57:14 +00:00
Lasse Öörni
abe05c6a53
MinGW is no longer officially supported.
...
Documentation update.
2011-07-29 15:46:47 +00:00
Lasse Öörni
7f88b9977e
Documentation update.
2011-07-29 12:44:45 +00:00
Lasse Öörni
7b254df85d
Added simple distance-based interest management for networking.
2011-07-29 12:24:22 +00:00
Lasse Öörni
38fe1554ba
Initial multiplayer NinjaSnowWar.
...
Various networking and script API bugfixes.
Fixed kNet profiling compile errors due to STL -> Container library conversion.
Fixed loading of textures failing in headless mode (just return success without doing anything.)
The E_CLIENTCONNECTED and E_CLIENTDISCONNECTED events now also come from the Connection in question, to allow using GetSender() for convenience, instead of looking up the connection from event data.
Added simple network traffic statistics logging to Connection.
2011-07-29 00:04:52 +00:00
Lasse Öörni
1c154ef17e
Uncommented the package file download test from TestScene.as.
...
Fixed missing default arguments in the script API.
Fixed crash if a script file is unloaded while executing a script function.
Fixed Urho3D.exe not correcting the script file name to internal format (slashes instead of backslashes.)
Use black default background for the Direct3D9 window.
2011-07-28 11:41:56 +00:00
Lasse Öörni
43671aa66f
Fixed up to one second delay in starting UDP datagram sends.
...
Refactored SendMessage API in Connection & Network, allowing the user to specify message priority.
Split Network library internal messages into 3 priority categories.
2011-07-28 09:01:33 +00:00
Lasse Öörni
1d3f797643
Removed unnecessary code from Connection.
2011-07-27 23:06:12 +00:00
Lasse Öörni
f70cc35815
Added package file download support to the network protocol.
...
Added commented out package download test code to TestScene.as.
Increased kNet's UDP send rate upper limit and aggressiveness in increasing the send rate.
Fixed being unable to do sparse seeks in files when writing.
Container library bugfixes.
2011-07-27 22:41:12 +00:00
Lasse Öörni
bad8e776de
Added networking documentation.
2011-07-27 08:41:16 +00:00
Lasse Öörni
4d0e922e3f
Added common script code for parsing network-related command line arguments.
2011-07-26 15:29:33 +00:00
Lasse Öörni
40d04b377b
Added Compare function to String, which is optionally case-insensitive.
...
Added registration of allowed remote events.
2011-07-25 23:15:04 +00:00
Lasse Öörni
ffad4ba005
Fixed UI related crashes in headless mode.
...
Fixed loading of materials in headless mode (just return success while doing nothing.)
Fixed EventType parameter of SendRemoteEvent() / BroadcastRemoteEvent() in the script API, should be a string.
Added smoothed motion for nodes in network client scene.
Added enum CreateMode to CreateChild() & CreateComponent() which replaces the "local" bool parameter.
Added possibility for client to spawn physics boxes in networked TestScene.
2011-07-23 23:33:57 +00:00
Lasse Öörni
ee9b6cc0f8
Renamed the script PostLoad() to FinishUpdate().
...
Optimized the finalization of CollisionShape & Joint attributes: the ODE object is not needlessly recreated.
2011-07-21 23:16:28 +00:00
Lasse Öörni
4c3dd57980
Added more networking functionality, including remote events and client's controls update.
...
Added Append functions to String.
Removed networking mode from Scene, as it seems to be unnecessary.
2011-07-15 14:52:43 +00:00
Lasse Öörni
f28728b3e2
Send identity VariantMap on connecting to server.
...
Fixed possible bug in WriteString/ReadString if the string contains zeroes in the middle.
2011-07-14 13:11:39 +00:00
Lasse Öörni
71603ae52e
Initial kNet-based networking implementation.
...
Renamed SharedPtr::Ptr() to RawPtr() to avoid conflicts with kNet's Ptr macro.
Added chat test program.
2011-07-13 23:32:57 +00:00
Lasse Öörni
af2b4311dc
Function name unification and cleanup. ChildElement -> Child. RootElement -> Root. ScriptedChildren -> ChildrenWithScript.
2011-07-12 09:08:17 +00:00
Lasse Öörni
4d5b7fa05a
Fixed newline character being returned from GetConsoleInput() on Unix.
...
Comments & documentation fixes.
2011-07-10 22:18:50 +00:00
Lasse Öörni
5a6c8f6d27
Removed global properties related to the script object's ScriptInstance. The ScriptInstance is available as the global property "self" instead.
...
Documentation update.
2011-07-05 08:46:45 +00:00
Lasse Öörni
180da947fa
Added generated scripting API reference.
...
Modified Script::DumpAPI() to output in Doxygen format.
2011-07-05 08:25:04 +00:00
Lasse Öörni
40caea422e
Migrated to AngelScript 2.21.0.
...
Removed manual invocation of AngelScript garbage collection.
2011-07-04 21:33:42 +00:00
Lasse Öörni
a7a94a7af2
Unified the texture get/set data API between Direct3D9 & OpenGL.
...
Refactored OpenGL texture data restore on context recreation: now data is explicitly stored then restored, instead of relying on resource reload.
2011-07-04 18:55:46 +00:00
Lasse Öörni
69a78da8df
Switched to GLFW 3.0.
2011-06-30 21:03:59 +00:00
Lasse Öörni
16aeec5c32
Re-enabled sound latency adjustment.
...
Removed support for 8-bit sound output.
2011-06-25 10:50:58 +00:00
Lasse Öörni
0d29d818ad
Moved from SDL to GLFW & PortAudio.
2011-06-24 23:20:09 +00:00
Lasse Öörni
270ba840b3
Documentation update.
2011-06-21 21:37:46 +00:00
Lasse Öörni
af01853960
Fixed erroneous char input suppression in the example scripts.
...
If only vsync changes on OpenGL, do not recreate the context.
Documentation update.
2011-06-20 22:17:29 +00:00
Lasse Öörni
d55d29612c
Documentation update.
2011-06-19 23:13:11 +00:00
Lasse Öörni
6cdddcb0f6
Documentation updates.
2011-06-19 11:45:11 +00:00
Lasse Öörni
432f57b4b0
Use SDL 1.3 in OpenGL mode.
...
Removed system fonts directory feature because of being platform-specific.
Added the Anonymous Pro fixed width font.
2011-06-18 18:33:29 +00:00
Lasse Öörni
83bf3d1464
Switched to NVIDIA FXAA II based edge filter.
2011-06-15 13:33:16 +00:00
Lasse Öörni
87f9bbd846
Switched back to a edge filter for deferred antialiasing, as temporal antialiasing causes problems when both the camera and objects move.
...
Fixed infinite loop in HashMap copy.
2011-06-14 21:10:27 +00:00
Lasse Öörni
9c9643508c
Use GL_DEPTH_COMPONENT24 instead of the packed depth stencil for OpenGL deferred rendering depth buffer, because the packed format seems to be slower.
...
Removed light prepass rendering support, as it has implementation difficulties under OpenGL and is often unsatisfactory in performance and specular lighting quality.
Removed the shader subdirectories.
Added option to specify whether single-channel images are to be interpreted as luminance or alpha, when loading into a texture.
2011-06-12 23:38:54 +00:00
Lasse Öörni
2669231c19
Added OpenGL related documentation.
2011-06-12 15:47:21 +00:00
Lasse Öörni
483413e472
Fixed the UI not rendering on OpenGL.
2011-06-10 23:04:36 +00:00
Lasse Öörni
c9c0610709
Added alternative OpenGL rendering path, not fully complete yet.
...
Fixed bugs in HashMap / HashSet.
2011-06-10 22:35:43 +00:00
Lasse Öörni
3ca3f84df9
Refactored shader loading. A binary format is now used instead of XML data.
...
PixelShader and VertexShader classes replaced with Shader and ShaderProgram.
2011-05-22 21:34:35 +00:00
Lasse Öörni
5f4b56103f
Refactored ShaderCompiler to use D3DXCompileShader() instead of invoking fxc.exe.
2011-05-21 21:04:24 +00:00
Lasse Öörni
f60321b20f
Use PODVector more extensively.
...
Moved Color class to Core library.
2011-05-21 12:15:04 +00:00
Lasse Öörni
27661073e7
Migrated to AngelScript 2.21.0 WIP.
2011-05-21 11:02:49 +00:00
Lasse Öörni
f3859c1ed7
Added documentation about containers.
...
Removed unnecessary StringUtils.h includes.
Changed GetStringListIndex() to use an empty string as a terminator, similarly to enum attributes.
2011-05-21 10:01:31 +00:00
Lasse Öörni
3abd7eee88
Reverted previous commit due to bugs and performance loss.
...
Removed the deprecated Physics subdirectory from ResourceCache directory heuristic.
Updated documentation.
2011-05-20 23:17:10 +00:00
Lasse Öörni
516b532a8f
Refactored StringUtils as member functions of String & the classes to be converted.
2011-05-19 22:22:50 +00:00
Lasse Öörni
4c94e77887
Switched skip lists to red-black trees instead.
2011-05-18 21:55:57 +00:00
Lasse Öörni
b03111146e
Added custom container & string classes. So far only used by AreaAllocator.
2011-05-15 22:45:43 +00:00
Lasse Öörni
62c9aa3d9c
Added local node & component ID's in preparation to networking.
...
Split rendering documentation on several pages.
2011-05-10 21:09:03 +00:00
Lasse Öörni
cb68328d06
Updated to AngelScript 2.20.3 WIP.
...
Fixed crashes with script value types and GCC.
Implemented default arguments in script API.
2011-05-09 19:32:39 +00:00
Lasse Öörni
97d698e922
Code cleanup.
...
Minor documentation update.
2011-05-09 16:10:45 +00:00
Lasse Öörni
a71d4d7b0e
Added mention of AnimationController to the documentation.
2011-05-08 18:24:16 +00:00
Lasse Öörni
37f696be12
Added rest of the reference documentation.
2011-05-08 17:24:13 +00:00
Lasse Öörni
020232744a
Even more documentation.
2011-05-08 12:20:22 +00:00
Lasse Öörni
9a5cbb6016
More documentation.
...
Tweaked NinjaSnowWar difficulty.
Moved CreateObject from Object to Context.
Made EventHandler & AnimationState RefCounted to simplify memory management.
2011-05-07 22:44:40 +00:00
Lasse Öörni
3979d4bbb7
Updated ODE to svn rev 1806.
2011-05-07 17:54:47 +00:00
Lasse Öörni
6098409700
Upgraded to ENet 1.3.1.
...
Disabled buffer security checks for smaller executable size.
Removed deprecated ODE files.
2011-05-07 16:25:25 +00:00
Lasse Öörni
dbebed33c4
Fixed bug with setting only the minimum Text width when the text changes.
2011-05-04 21:51:28 +00:00
Lasse Öörni
ee9b6232c1
Added readme for the BlueHighway font.
2011-05-04 11:17:26 +00:00
Lasse Öörni
2a986cf8e3
Quickstart wording tweaks.
2011-05-04 07:14:49 +00:00
Lasse Öörni
a7a458b3a9
Script API registration cleanup: asMETHODPR changed to asMETHOD where possible.
...
Added Remove() to Component & Node & UIElement; before it was script-only.
Renamed FrameUpdate back to FrameInfo.
Documentation update.
2011-05-04 07:05:26 +00:00
Lasse Öörni
2a6c10874c
Documentation structure and Getting Started-documentation.
...
Fixed deletion of object, if no shared pointer to it existed previously, and it sent an event.
Fixed threading issue with objects' static type names. Now they are defined inside OBJECTTYPESTATIC macro as well.
Fixed Engine crash when running without the script system.
2011-05-03 23:17:15 +00:00
Lasse Öörni
9d4deaf853
AnimationController functions refactoring.
...
Documentation update.
Moved Engine scripting initialization to a separate function. This will result in significantly smaller executable if skipped.
Fixed ErrorDialog() when called from script.
2011-05-03 14:47:02 +00:00
Lasse Öörni
5d033b7f62
Moved Urho3D.dox into the Docs subdirectory.
2011-05-03 06:59:06 +00:00