Urho3D.dox 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. namespace Urho3D
  2. {
  3. /**
  4. \mainpage Urho3D - cross-platform 2D and 3D game engine
  5. Urho3D (http://urho3d.github.io/) is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. It utilizes either Direct3D9 or OpenGL for rendering (%Shader %Model 2 or OpenGL 2.0 required as minimum.)
  6. For getting started, see:
  7. \ref Building "Building Urho3D" <br>
  8. \ref Running "Running Urho3D player application" <br>
  9. \ref UsingLibrary "Using Urho3D as external library" <br>
  10. \ref Examples "Examples" <br>
  11. \ref Structure "Overall structure" <br>
  12. \ref Conventions "Conventions" <br>
  13. \ref EditorInstructions "Editor instructions" <br>
  14. For further reference, see:
  15. \ref Containers "Container types" <br>
  16. \ref ObjectTypes "Object types and factories" <br>
  17. \ref Subsystems "Subsystems" <br>
  18. \ref Events "Events" <br>
  19. \ref MainLoop "Engine initialization and main loop" <br>
  20. \ref SceneModel "Scene model" <br>
  21. \ref Resources "Resources" <br>
  22. \ref Scripting "Scripting" <br>
  23. \ref LuaScripting "Lua scripting" <br>
  24. \ref Rendering "Rendering" <br>
  25. \ref Input "Input" <br>
  26. \ref Audio "Audio" <br>
  27. \ref Physics "Physics" <br>
  28. \ref Navigation "Navigation" <br>
  29. \ref UI "User interface" <br>
  30. \ref Urho2D "Urho2D" <br>
  31. \ref Serialization "Serialization" <br>
  32. \ref Network "Networking" <br>
  33. \ref Multithreading "Multithreading" <br>
  34. \ref AttributeAnimation "Attribute animation" <br>
  35. \ref Tools "Tools" <br>
  36. \ref Unicode "Unicode support" <br>
  37. \ref FileFormats "Custom file formats" <br>
  38. \ref CodingConventions "Coding conventions" <br>
  39. \ref ContributionChecklist "Contribution checklist" <br>
  40. \ref ScriptAPI "Scripting API (generated)" <br>
  41. \ref LuaScriptAPI "Lua scripting API (generated)" <br>
  42. \ref EventList "Event list (generated)" <br>
  43. \ref AttributeList "Attribute list (generated)" <br>
  44. For Urho3D related links and projects, see \ref ExternalLinks "External links".
  45. For credits, copyright and licensing information, see \ref Credits & \ref License.
  46. For release history and major changes, see \ref History.
  47. \page Credits Credits
  48. Urho3D development, contributions and bugfixes by:
  49. - Lasse &Ouml;&ouml;rni ([email protected], AgentC at GameDev.net)
  50. - Wei Tjong Yao
  51. - Aster Jian
  52. - Colin Barrett
  53. - Erik Beran
  54. - Danny Boisvert
  55. - Carlo Carollo
  56. - Pete Chown
  57. - Sebastian Delatorre (primitivewaste)
  58. - Josh Engebretson
  59. - Chris Friesen
  60. - Alex Fuller
  61. - Mika Heinonen
  62. - Graham King
  63. - Jason Kinzer
  64. - Gunnar Kriik
  65. - Ali K&auml;m&auml;r&auml;inen
  66. - Pete Leigh
  67. - Jonne Nauha
  68. - Paul Noome
  69. - David Palacios
  70. - Alex Parlett
  71. - Jordan Patterson
  72. - Vladimir Pobedinsky
  73. - Nick Royer
  74. - Miika Santala
  75. - Joshua Tippetts
  76. - Daniel Wiberg
  77. - Steven Zhang
  78. - AGreatFish
  79. - Firegorilla
  80. - Magic.Lixin
  81. - Mike3D
  82. - OvermindDL1
  83. - andmar1x
  84. - amadeus_osa
  85. - atship
  86. - att
  87. - celeron55
  88. - hdunderscore
  89. - mightyCelu
  90. - nemerle
  91. - ninjastone
  92. - rasteron
  93. - reattiva
  94. - rifai
  95. - skaiware
  96. - szamq
  97. - thebluefish
  98. Urho3D is greatly inspired by OGRE (http://www.ogre3d.org/) and Horde3D (http://www.horde3d.org/). Additional inspiration & research used:
  99. - Rectangle packing by Jukka Jyl&auml;nki (clb) (http://clb.demon.fi/projects/rectangle-bin-packing/)
  100. - Tangent generation from Terathon (http://www.terathon.com/code/tangent.html)
  101. - Fast, Minimum Storage Ray/Triangle Intersection by M&ouml;ller & Trumbore (http://www.graphics.cornell.edu/pubs/1997/MT97.pdf)
  102. - Linear-Speed Vertex Cache Optimisation by Tom Forsyth (http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html)
  103. - Software rasterization of triangles based on Chris Hecker's Perspective %Texture Mapping series in the Game Developer magazine (http://chrishecker.com/Miscellaneous_Technical_Articles)
  104. - Networked Physics by Glenn Fiedler (http://gafferongames.com/game-physics/networked-physics/)
  105. - Euler Angle Formulas by David Eberly (http://www.geometrictools.com/Documentation/EulerAngles.pdf)
  106. - Red Black Trees by Julienne Walker (http://eternallyconfuzzled.com/tuts/datastructures/jsw_tut_rbtree.aspx)
  107. - Comparison of several sorting algorithms by Juha Nieminen (http://warp.povusers.org/SortComparison/)
  108. Urho3D uses the following third-party libraries:
  109. - AngelScript 2.29.1 (http://www.angelcode.com/angelscript/)
  110. - Box2D 2.3.0 (http://box2d.org/)
  111. - Bullet 2.82 (http://www.bulletphysics.org/)
  112. - Civetweb (http://sourceforge.net/projects/civetweb/)
  113. - FreeType 2.5.0 (http://www.freetype.org/)
  114. - GLEW 1.9.0 (http://glew.sourceforge.net/)
  115. - jo_jpeg 1.52 (http://www.jonolick.com/uploads/7/9/2/1/7921194/jo_jpeg.cpp)
  116. - kNet (https://github.com/juj/kNet)
  117. - libcpuid 0.2.0 (http://libcpuid.sourceforge.net/)
  118. - Lua 5.1 (http://www.lua.org)
  119. - LuaJIT 2.0.3 (http://www.luajit.org)
  120. - LZ4 (http://code.google.com/p/lz4/)
  121. - MojoShader (http://icculus.org/mojoshader/)
  122. - Open Asset Import Library (http://assimp.sourceforge.net/)
  123. - rapidjson 0.11 (https://code.google.com/p/rapidjson/)
  124. - pugixml 1.0 (http://pugixml.org/)
  125. - Recast/Detour (http://code.google.com/p/recastnavigation/)
  126. - SDL 2.0.3 (http://www.libsdl.org/)
  127. - StanHull (http://codesuppository.blogspot.com/2006/03/john-ratcliffs-code-suppository-blog.html)
  128. - stb_image 1.29 (http://nothings.org/)
  129. - stb_vorbis 0.99996 (http://nothings.org/)
  130. - tolua++ 1.0.93 (http://www.codenix.com/~tolua)
  131. DXT / ETC1 / PVRTC decompression code based on the Squish library and the Oolong %Engine.<br>
  132. Jack and mushroom models from the realXtend project. (http://www.realxtend.org)<br>
  133. Ninja model and terrain, water, smoke, flare and status bar textures from OGRE.<br>
  134. BlueHighway font from Larabie Fonts.<br>
  135. Anonymous Pro font by Mark Simonson.<br>
  136. NinjaSnowWar sounds by Veli-Pekka T&auml;til&auml;.
  137. \page License License
  138. Copyright (c) 2008-2014 the Urho3D project.
  139. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
  140. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
  141. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  142. \page History History
  143. V1.32
  144. - Finalized Urho2D functionality, including 2D physics using Box2D, sprite animation and tile maps
  145. - Threaded background resource loading. Must be manually triggered via %ResourceCache or by loading a scene asynchronously
  146. - Attribute and material shader parameter animation system
  147. - Customizable onscreen joystick for mobile platforms. Used in examples
  148. - Touch camera control in examples on mobile platforms
  149. - Touch emulation by mouse
  150. - Multi-touch UI drag support
  151. - Consistent touch ID's across platforms
  152. - Absolute, relative and wrap modes for the operating system mouse cursor
  153. - Support for connecting & removing joysticks during runtime
  154. - Negative light & light brightness multiplier support
  155. - Transform spaces for %Node's translate, rotate & lookat functions
  156. - Scrollable console
  157. - Selectable console command interpreter (AngelScript, Lua, %FileSystem)
  158. - Touch scroll in %ScrollView & %ListView
  159. - %UI layout flex scale mode
  160. - Custom sound streams from C++
  161. - %LogicComponent C++ base class with virtual update functions similar to ScriptObject
  162. - Signed distance field font support
  163. - JSON data support
  164. - Matrix types in %Variant & XML data
  165. - Intermediate rendertarget refactoring: use viewport size to allow consistent UV addressing
  166. - %ParticleEmitter refactoring: use %ParticleEffect resource for consistency with %ParticleEmitter2D and more optimal net replication
  167. - Expose LZ4 compression functions
  168. - Support various cube map layouts contained in a single image file
  169. - Configurable Bullet physics stepping behavior. Can use elapsed time limiting, or a variable timestep to use less CPU
  170. - Default construct math objects to zero / identity
  171. - Mandatory registration for remote events. Check allowed event only when receiving
  172. - Teapot & torus builtin objects
  173. - FXAA 3.11 shader
  174. - Triangle rendering in %DebugRenderer (more efficient than 3 lines)
  175. - Material/texture quality and anisotropy as command line options and engine startup parameters
  176. - %Spline math class, which the %SplinePath component uses
  177. - %Console auto-show on error
  178. - %DrawableProxy2D system for optimizing 2D sprite drawing
  179. - Possibility to decouple %BorderImage border UV's from element size
  180. - Editor & NinjaSnowWar resources split into subdirectories
  181. - %UI hover start & end events
  182. - %UI drag cancel by pressing ESC
  183. - Allowed screen orientations can be controlled. Effective only on iOS
  184. - Rendering sceneless renderpaths
  185. - Define individual material passes as SM3-only
  186. - Support for copying %ListView text to system clipboard
  187. - Async system command execution
  188. - Generic attribute access for Lua script objects
  189. - Use Lua functions directly as event subscribers
  190. - Touch gesture recording and load/save
  191. - AssetImporter option to allow multiple import of identical meshes
  192. - Automatically create a physics world component to scene when necessary
  193. - GetSubimage function in the %Image class
  194. - Possibility to clone existing components from another scene node
  195. - Improve terrain rendering on mobile devices
  196. - Refactoring of camera facing modes in %BillboardSet & %Text3D
  197. - Additive alpha techniques for particle rendering
  198. - Possibility to use %CustomGeometry component for physics triangle mesh collision
  199. - Access to 2D node coordinates for convenience when using 2D graphics features
  200. - Save embedded textures in AssetImporter
  201. - Use best matching fullscreen resolution if no exact match
  202. - Use SDL_iPhoneSetAnimationCallback instead of blocking main loop
  203. - Allow fast partial terrain updates by modifying the heightmap image
  204. - API for setting image pixels by integer colors
  205. - Refactor to remove the separate ShortStringHash class
  206. - Deep clone functionality in %Model resource
  207. - %Zone can define a texture which is available to shaders. Not used by default
  208. - Allow logging from outside the main thread
  209. - %Log warnings for improper attempts to use events from outside main thread
  210. - Improved %CustomGeometry dynamic updates
  211. - ConvexCast function in %PhysicsWorld
  212. - Screen to world space conversion functions in %Viewport class
  213. - Allow sending client rotation to server in addition to position
  214. - Allow accessing and modifying the engine's next timestep
  215. - DeepEnabled mechanism for disabling node or UI element hierarchies and then restoring their own enabled state
  216. - Allow to prevent closing a modal window with ESC
  217. - Per-viewport control of whether debug geometry should render
  218. - Optional interception of resource requests
  219. - Readded optional slow & robust mode to %AreaAllocator
  220. - Optionally disable %RigidBody mass update to allow fast adding of several %CollisionShape components to the same node
  221. - Runtime synchronization of resource packages from server to client
  222. - Disable multisample antialiasing momentarily during rendering. Used by default for UI & quad rendering
  223. - Glyph offset support in %Font class
  224. - %Font class internal refactoring
  225. - Allow to create AngelScript script objects by specifying the interface it implements
  226. - %Window position startup parameters
  227. - Functions to get time since epoch & modify file's last modified time
  228. - Optionally auto-disable child elements of a scroll view when touch scrolling
  229. - Allocate views permanently per viewport to allow querying for drawables, lights etc. reliably
  230. - Allow to specify material techniques/passes that should not be used on mobile devices
  231. - Reduced default shadow mapping issues on mobile devices
  232. - Minor rendering optimizations
  233. - Build system: possibility to build Urho3D without networking or 2D graphics functionality
  234. - Build system: improved generated scripting documentation
  235. - Build system: improved support for IDE's in CMake scripts
  236. - Build system: support up to Android NDK r10c and 64-bit ABIs
  237. - Build system: numerous other improvements
  238. - Editor: resource browser
  239. - Editor: spawn window for random-generating objects
  240. - Editor: allow either zoom or move from mouse wheel
  241. - Editor: locate object by doubleclicking node in hierarchy
  242. - Editor: take screenshots with F11, camera panning
  243. - Editor: button in value edit fields that allows editing by mouse drag
  244. - Updated SDL to 2.0.3.
  245. - Updated AngelScript to 2.29.1
  246. - Updated assimp
  247. - Updated Recast/Detour
  248. - Fix MinGW build issues
  249. - Fix techniques referring to wrong shaders
  250. - Fix %Node::LookAt() misbehaving in certain situations
  251. - Fix resize event not reporting correct window size if window is maximized at start
  252. - Fix %PhysicsWorld::GetRigidBodies() not using collision mask
  253. - Fix zone misassignment issues
  254. - Fix Lua not returning correctly typed object for %UIElement::GetChild() & %UIElement::GetParent()
  255. - Fix uninitialized variables in 2D physics components
  256. - Fix quad rendering not updating elapsed time uniform
  257. - Fix forward rendering normal mapping issues by switching calculations back to world space
  258. - Fix wrong logging level on Android
  259. - Fix multiple subscribes to same event on Lua
  260. - Fix missing %Octree update in headless mode
  261. - Fix crash when using FreeType to access font kerning tables
  262. - Fix ReadString() endless loop if the string does not end
  263. - Fix shadow mapping on OS X systems with Intel GPU
  264. - Fix manually positioned bones being serialized properly
  265. - Fix file checksum calculation on Android
  266. - Fix accelerometer input on Android when device is flipped 180 degrees
  267. - Fix missing or misbehaving Lua bindings
  268. - Fix crashes in physics collision handling when objects are removed during it
  269. - Fix shader live reload if previous compile resulted in error
  270. - Fix named manual textures not recreating their GPU resource after device loss
  271. - Fix skeleton-only model not importing in AssetImporter
  272. - Fix terrain raycast returning incorrect position/normal
  273. - Fix animation keyframe timing in AssetImporter if start time is not 0
  274. - Fix storing %Image resources to memory unnecessarily during cube/3D texture loading
  275. - Fix to node transform dirtying mechanism and the TransformChanged() script function
  276. - Fix returned documents directory not being writable on iOS
  277. - Fix click to emptiness not closing a menu
  278. - Fix %FileWatcher notifying when file was still being saved. By default delay notification 1 second
  279. - Fix .txml import in the editor
  280. - Fix erroneous raycast to triangles behind the ray
  281. - Fix crash when multiple AnimatedModels exist in a node and the master model is destroyed
  282. - Fix missing %Matrix4 * %Matrix3x4 operator in script
  283. - Fix various compile warnings that leak to applications using Urho3D
  284. - Fix %DebugHud update possibly being late one frame
  285. - Fix various macros not being usable outside Urho3D namespace
  286. - Fix erroneous layout with wordwrap text elements
  287. - Fix debug geometry rendering on flipped OpenGL viewports
  288. - Fix kNet debug mode assert with zero sized messages
  289. - Fix not being able to stop and restart kNet server
  290. - Fix %AreaAllocator operation
  291. - Fix possible crash with parented rigidbodies
  292. - Fix missing network delta update if only user variables in a %Node have been modified
  293. - Fix to only search for June 2010 DirectX SDK, as earlier SDK's will fail
  294. - Fix wrong search order of added resource paths
  295. - Fix global anisotropic filtering on OpenGL
  296. - Fix animation triggers not working if trigger is at animation end
  297. - Fix CopyFramebuffer shader name not being used correctly on case-sensitive systems
  298. - Fix %UI elements not receiving input when the window containing them is partially outside the screen to the left
  299. - Fix occlusion rendering not working with counterclockwise triangles
  300. - Fix material shader parameter animations going out of sync with other animations when the object using the material is not in view
  301. - Fix CPU count functions on Android
  302. V1.31
  303. - Extensive build system improvements, especially for using Urho3D as a library in an external project.
  304. - LuaJIT support.
  305. - Improved Lua bindings, Lua coroutine support, automatic loading of compiled Lua scripts (.luc) if they exist.
  306. - HDR rendering, 3D textures, height fog and several new post process shaders.
  307. - %Shader refactoring. Need for XML shader descriptions & ShaderCompiler tool removed.
  308. - Reflection / refraction rendering support.
  309. - 2D drawable components: %StaticSprite2D, %AnimatedSprite2D, %ParticleEmitter2D.
  310. - %ToolTip & %MessageBox %UI elements. %UI logic improvements.
  311. - Optimized text rendering + dynamic population of font textures for improved batching.
  312. - AngelScript DelayedExecute for free functions, and event handling for any script object, not just ScriptInstances
  313. - Editor: added grid, toolbar, camera view presets, camera orbit, mouse wheel zoom, multiple viewports and orthographic camera.
  314. - Borderless window mode, possibility to change application icon.
  315. - SDL GameController support, raw key codes support.
  316. - Optimized shadow rendering on mobile devices. Low quality mode avoids dependent texture reads.
  317. - %HttpRequest class runs in a background thread to avoid blocking.
  318. - Compressed package file support using the LZ4 library.
  319. - Cone parameters in %SoundSource3D for directional attenuation.
  320. - %Variant GetPtr() safety refactoring. Uses %WeakPtr's to store %RefCounted subclasses. Use GetVoidPtr() to store unsafe arbitrary pointers.
  321. - Improved work queue completion events. Work items are now %RefCounted to allow persisting them as necessary.
  322. - Allow to disable automatic execution of AngelScript & Lua from the engine console.
  323. - Added shader variations, for example ambient occlusion texture and better emissive color support.
  324. - Added examples.
  325. - Update SDL to 2.0.1
  326. - Update AngelScript to 2.28.1.
  327. - Update FreeType to 2.5.0.
  328. - Fix partial texture updates, both Direct3D9 & OpenGL.
  329. - Fix long-standing audio click bug.
  330. - Fix kinematic rigidbodies to apply impulses correctly to dynamic bodies.
  331. - Plus many more improvements and bugfixes.
  332. V1.3
  333. - Lua scripting support.
  334. - Optional build as a single external library, static or dynamic.
  335. - Raspberry Pi support.
  336. - 64-bit build support.
  337. - HTTP client using the Civetweb library.
  338. - Enhanced CMake build scripts. Android build also uses CMake. Use out-of-source build on platform that supports it.
  339. - Rendering performance optimizations, optional %StaticModelGroup component for culling and lighting several objects as one unit.
  340. - A set of sample applications implemented in C++, AngelScript and Lua.
  341. - Automatic node/component handle member variable serialization for AngelScript script objects.
  342. - New %UI theme.
  343. - Shadow & stroke effects in %Text & %Text3D.
  344. - Boolean shader uniforms.
  345. - Quick menu in the editor.
  346. - %Material editor and preview in the editor.
  347. - Editable attributes for particle emitters.
  348. - Components are grouped into categories in the editor.
  349. - Update SDL to stable 2.0.0 release.
  350. - Several other improvements and bugfixes.
  351. V1.23
  352. - %UI layout editing in the editor.
  353. - Undo/redo in the editor.
  354. - Recast/Detour library integration for navigation mesh generation and pathfinding.
  355. - Open Asset Import Library update, enables FBX file support.
  356. - "Is Enabled" attribute in scene nodes and components for an uniform mechanism to temporarily disable unneeded audiovisual, physics or logic objects.
  357. - %Script object public variables editing and serialization.
  358. - New components: %Text3D and %Sprite.
  359. - %UI library functionality improvements.
  360. - sRGB texture and framebuffer support.
  361. - Switched to GLEW library for OpenGL extension handling.
  362. - Vegetation and lightmapping example shaders.
  363. - %Engine configuration through a parameter map.
  364. - Lots of refactoring, code cleanup and bugfixes.
  365. V1.22
  366. - Configurable render path replaces hardcoded forward/prepass/deferred modes. Render path system also used for postprocessing now.
  367. - Threaded task priorities; long-running tasks (more than one frame) can coexist with the time-critical tasks.
  368. - Possibility to use also RGB normal maps.
  369. - %CustomGeometry component, which allows geometry to be defined similarly to OpenGL immediate mode.
  370. - Elapsed time shader parameter for material animation.
  371. - Cubic environment mapping example shaders.
  372. - Separate physics collision start & end events.
  373. - Visual Studio 2012, Eclipse & Xcode build support.
  374. - Many bugfixes, including iOS 6 orientation & shadow mapping bugfixes, and skinning on some Android devices.
  375. V1.21
  376. - Bugfixes and code cleanup.
  377. - External window support (experimental.)
  378. - %UI elements refactored to use attributes for serialization.
  379. - %Animation state editing and animation trigger events.
  380. - %Scene update time scale can be modified.
  381. - Improved the delayed method call system.
  382. V1.2
  383. - Android and iOS support.
  384. - %Decal rendering.
  385. - %Terrain rendering.
  386. - Joystick input support.
  387. - Use SDL library for windowing and input on all platforms.
  388. - KTX and PVR image loading (for ETC1 & PVRTC compressed textures.)
  389. - Removed need for shader preprocessing; reorganized shaders to be more friendly to base custom shaders on.
  390. - Inbuilt geometry shapes in the editor.
  391. V1.16
  392. - Switched to Bullet physics library.
  393. - More physics constraint types.
  394. - Rendering and networking performance optimizations.
  395. - Use Squish library to implement software DXT decompression when not supported in hardware.
  396. V1.15
  397. - New deferred rendering pipeline.
  398. - Unicode support.
  399. - Live resource reloading in the editor (Windows only so far.)
  400. - More accurate frame timing.
  401. - Bugfixes to physics jittering and FBO performance issue on Linux.
  402. V1.14
  403. - %Object (partial scene) load/save.
  404. - Post-processing.
  405. - Switched to pugixml library, scene load/save optimizations.
  406. - Bugfixes to rendertexture views and component attributes.
  407. V1.13
  408. - Task-based multithreading.
  409. - Vertex lighting option.
  410. - Forward and light pre-pass rendering pipelines.
  411. V1.12
  412. - Manipulator gizmo and multi-editing in the editor.
  413. - Switched to forward rendering exclusively, which is optimized to do more work in the vertex shader.
  414. - %Zone system refactoring. Objects check the zone they belong to for per-zone light masking, ambient light and fog settings.
  415. - Scripting API fixes and improvements.
  416. V1.11
  417. - Bugfixes and performance optimizations.
  418. - Added GraphicsTest example from V1.0 (now called TestSceneOld.)
  419. - Added fallback mode, which is used if multiple render targets or hardware shadow maps are not available.
  420. V1.1
  421. - %Object and scene model refactoring.
  422. - Automatic serialization of scene objects via attributes.
  423. - Added OpenGL and cross-platform support.
  424. - Switched to kNet library for networking.
  425. V1.0
  426. - Original release.
  427. \page ExternalLinks External links
  428. Related projects:
  429. - Blender to Urho3D mesh exporter (https://github.com/reattiva/Urho3D-Blender)
  430. - ParticleEditor2D for Urho3D (https://github.com/aster2013/ParticleEditor2D)
  431. - Urho3D Launcher (https://github.com/Hgdavidy/Urho3D_Launcher_Tools)
  432. - Urho3D libRocket Integration (https://github.com/realrunner/urho3d-librocket)
  433. */
  434. }