Commit Graph

515 Commits

Author SHA1 Message Date
Lasse Öörni
48da9e9093 Applied VS2012 / ShaderCompiler patch from Colin Barrett. 2012-11-01 19:46:37 +00:00
Lasse Öörni
fbef191c6b Removed the NewCollision parameter of collision events. Instead separate CollisionStart & CollisionEnd events are sent when a collision begins or ends.
Added a buoyancy volume into the Terrain script as an example of a trigger area, use L key to toggle.
2012-10-18 20:30:05 +00:00
Lasse Öörni
415c2a28ce Fixed missing mention of the UI library on the OverallStructure page. 2012-09-04 21:33:51 +00:00
Lasse Öörni
f1f58a8bed Use 'O' key to toggle orthographic camera also in LightTest. 2012-09-04 21:23:56 +00:00
Lasse Öörni
44ffd7e0b8 Disable SSE also from Bullet when necessary. 2012-09-02 17:38:26 +00:00
Lasse Öörni
575ac5b625 Removed references to Windows 2000 in the documentation. Windows XP is the minimum supported Windows OS version. 2012-09-02 13:33:16 +00:00
Lasse Öörni
7c7e63f4ff Added fixes for compiling with MinGW. 2012-08-20 11:46:42 +00:00
Lasse Öörni
f0b6d55b28 Enclosed Urho3D classes inside Urho3D namespace to avoid clashes with external libraries. 2012-08-15 22:57:52 +00:00
Lasse Öörni
5e7387b695 Added physics stresstest example. 2012-08-09 18:36:36 +00:00
Lasse Öörni
c64dfb114e Added back polygon fill mode. 2012-08-08 17:15:13 +00:00
Lasse Öörni
21c6bfd098 New stone texture.
Save each example scene with an unique name.
Update terrain batch LOD always in the main thread to avoid overhead of firing threaded work items, if there is no more CPU-consuming geometry updates (such as skinning) to be done.
2012-07-21 14:44:53 +00:00
Lasse Öörni
30c21a3789 Added terrain blend shader and terrain example.
Added function to get terrain normal at point.
Always update terrain patch stitching.
Fixed material texture indexing & setting.
2012-07-20 21:49:24 +00:00
Lasse Öörni
2d8f47618f Changed controls in TestScene.as & TestSceneOld.as to not require the middle mouse button for adding decals. 2012-07-11 18:16:02 +00:00
Lasse Öörni
4ea24a7a03 Fixed example scripts. 2012-07-08 21:27:32 +00:00
Lasse Öörni
296e36a75b Calculate tangents for decals. 2012-07-08 21:17:45 +00:00
Lasse Öörni
3833c24ab3 Fixed smoothing of the cone model.
Added menu in the editor for instantiating the primitive shapes.
2012-07-04 17:03:27 +00:00
Lasse Öörni
85e2ab1589 Added joystick control to NinjaSnowWar. 2012-07-04 08:05:35 +00:00
Lasse Öörni
3f2e63b952 Removed the model build step from CMakeLists.txt. Instead added binary models directly to the repository. 2012-07-03 16:22:36 +00:00
Lasse Öörni
dee2e099de Added ETC1 & PVRTC decompression from the Oolong Engine. Used when not supported in hardware. 2012-07-03 11:34:07 +00:00
Lasse Öörni
06505eac99 Fixed documentation. 2012-06-29 07:12:37 +00:00
Lasse Öörni
e994485472 Added a macro for the different main() implementations. 2012-06-28 20:31:25 +00:00
Lasse Öörni
762da4aec0 Updated the quickstart documentation. 2012-06-28 19:44:16 +00:00
Lasse Öörni
18e8cb6334 Removed need for anisotropic filter OpenGL extension.
Removed redundant hires shadow map support flag.
2012-06-28 19:17:59 +00:00
Lasse Öörni
5507b006be Shader load/compile refactoring. Removed shader source code from the SourceAssets directory and moved to Bin/CoreData/Shaders.
Changed ShaderCompiler command line options.
Changed FileSystem::SystemRun() to use CreateProcess() and to hide the window of the spawned program.
Removed GLShaderProcessor.
2012-06-24 00:11:43 +00:00
Lasse Öörni
e1a1c974e5 Initial iOS support.
Do not use glPolygonOffset() constant bias due to its inconsistency. Instead offset the projection matrix as necessary.
Do not use multiple glUniform calls to set an array of transposed matrices, as it is not guaranteed to work. Instead transpose all matrices first, then set them in one call.
2012-06-09 22:05:14 +00:00
Lasse Öörni
2c54f016c8 Applied SDL Android RWops patch. 2012-06-05 07:14:08 +00:00
Lasse Öörni
6e86187926 Documentation update. 2012-06-03 19:14:18 +00:00
Lasse Öörni
02738d055e Renamed Android package and added instructions on how to replace it with application-specific package name.
Updated documentation.
2012-06-03 11:35:26 +00:00
Lasse Öörni
0706ae397f Touch input on Android.
Run NinjaSnowWar by default on Android.
Rudimentary touch controls (virtual on-screen joystick) in NinjaSnowWar.
Improved OpenGL ES depth bias.
Support GetUserDocumentsDir() on Android (return the getFilesDir() path.)
Fixed OpenGL ES mode erroneously attempting to use shadowed point lights.
Added .bat file to copy Data & CoreData directories as Android assets.
2012-05-27 00:27:23 +00:00
Lasse Öörni
3bf10d2670 Clarified Android build instructions. 2012-05-25 06:48:35 +00:00
Lasse Öörni
92facb3c3b Added Android asset support and basic build instructions. 2012-05-24 22:16:21 +00:00
Lasse Öörni
f3f724920c Removed unnecessary include from WorkQueue.
Documentation fixes.
2012-05-16 19:26:07 +00:00
Lasse Öörni
627d2c94d7 Switched from GLFW & PortAudio back to (modified) SDL 2.0.
Do not draw debug geometry for bones that do not contribute to skinning.
Activate input immediately after title bar drag (Windows) or when the cursor is moved into the client area after title bar drag (Mac & Linux).
2012-05-13 22:28:06 +00:00
Lasse Öörni
4666520d0b Improved ragdoll stability in TestScene.
Create ragdolls when hit by the boxes (both TestScene & TestSceneOld.)
Fixed component ID clash when creating ragdolls in networked TestScene.
Constraints can specify rotation frame directly. Specifying the axis is still provided for convenience, but does not give exact control over the orientation.
Constraint adjusts static world position automatically when the own body position is edited.
Optimized away redundant Constraint recreation when deserializing attributes.
Added RemoveComponent by component type to Node.
Show also write-only properties in the generated scripting API documentation.
2012-05-07 19:44:43 +00:00
Lasse Öörni
70c58f43d9 Added SetWorldPosition() to Constraint.
Initial ragdoll test in TestScene.
2012-05-07 07:30:40 +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
8edf0240a1 Migration to Bullet physics underway. Most of physics functionality & examples broken for now. 2012-04-09 18:10:17 +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
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
7ec5ec4f6e Added FileWatcher class (for now Windows only) & live resource reloading. 2012-02-22 21:27:16 +00:00
Lasse Öörni
0cc1219607 Added note on selecting 32-bit architecture with Xcode. 2012-01-08 22:17:49 +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
ccbfe5babc Further documentation fixes. 2011-12-28 15:10:46 +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
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
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
a341b9ea4f Cleaned up Menu code.
Added Node::Clone().
2011-12-18 17:45:11 +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
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
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
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
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
d470af37cb Added command line option to disable worker threads. 2011-11-04 08:44:54 +00:00
Lasse Öörni
35e58c42f9 Added select/deselect all in the editor. 2011-10-23 16:28:28 +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
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
a436badf8f More documentation updates. 2011-10-14 18:43:17 +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
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
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
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
a89cb22161 Replaced edge filtering with temporal antialiasing with ghosting prevention. 2011-09-01 07:19:32 +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
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
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
700520f320 Further comments and code cleanup. 2011-08-14 09:28:40 +00:00
Lasse Öörni
abe05c6a53 MinGW is no longer officially supported.
Documentation update.
2011-07-29 15:46:47 +00:00
Lasse Öörni
7b254df85d Added simple distance-based interest management for networking. 2011-07-29 12:24:22 +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
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
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
5f4b56103f Refactored ShaderCompiler to use D3DXCompileShader() instead of invoking fxc.exe. 2011-05-21 21:04:24 +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
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
97d698e922 Code cleanup.
Minor documentation update.
2011-05-09 16:10:45 +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
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