Quantcast
Channel: Urho3D
Viewing all 77 articles
Browse latest View live

Urho3D 1.23 release

$
0
0

Source code

Changelog

  • UI editing support in the editor.
  • Undo/redo in the editor.
  • Recast/Detour library integration for navigation mesh generation and pathfinding.
  • Open Asset Import Library update, enables FBX file support.
  • “Is Enabled” attribute in scene nodes and components for an uniform mechanism to temporarily disable unneeded audiovisual, physics or logic objects.
  • Script object public variables editing and serialization.
  • New components: Text3D and Sprite.
  • UI library functionality improvements.
  • sRGB texture and framebuffer support.
  • Switched to GLEW library for OpenGL extension handling.
  • Vegetation and lightmapping example shaders.
  • Engine configuration through a parameter map.
  • Lots of refactoring, code cleanup and bugfixes.

Urho3D 1.3 release

$
0
0

Source code

Changelog

  • Lua scripting support.
  • Optional build as a single external library, static or dynamic.
  • Raspberry Pi support.
  • 64-bit build support.
  • HTTP client using the Civetweb library.
  • Enhanced CMake build scripts. Android build also uses CMake. Use out-of-source build on platform that supports it.
  • Rendering performance optimizations, optional StaticModelGroup component for culling and lighting several objects as one unit.
  • A set of sample applications implemented in C++, AngelScript and Lua.
  • Automatic Node/component handle member variable serialization for AngelScript script objects.
  • New UI theme.
  • Shadow & stroke effects in Text & Text3D.
  • Boolean shader uniforms.
  • Quick menu in the editor.
  • Material editor and preview in the editor.
  • Editable attributes for particle emitters.
  • Components are grouped into categories in the editor.
  • Update SDL to stable 2.0.0 release.
  • Several other improvements and bugfixes.

Extending Ninja Snow War (team play)

$
0
0

Reposted from Urho3D forum post made by Raster Ron.

NJS.jpg

Added:

  • Players w/ Friendly AI (VS) Enemy AI (Blue/Green vs Red)
  • Team Scoring
  • Demo Chat Integration (“/” key) with Live Game Stats (kill/killed/joined/left)
  • Round Timer (experimental)
  • Text 2D Player/AI IDs with team color
  • Random AI ID/Name

Urho3D new website

$
0
0

Welcome to Urho3D new website!

Old

old-site.png

New

new-site.png

Unity3D to Urho3D exporter

$
0
0

Josh Engebretson of ThunderBeast Games posted on the Urho3D group of their inhouse game engine, which combines Urho3D and Cocos2d-x and imports Unity3D content.

Here’s an image and a video of the work in progress.

unity_2_urho3d.png

Urho3D new discussion forum opened

$
0
0

Urho3D user CarloMaker generously set up a phpbb-based forum at urho3d.prophpbb.com. This is the recommended place for Urho3D related discussions from this point on. The old Google group is still available as well but is being phased out.

New Urho3D file release system

$
0
0

As Google Code no longer allows new upload of binary packages and GitHub pages or repositories are not convenient for them, all our future release of binary packages and snapshot build artifacts from Travis CI will be uploaded to sourceforge.net/projects/urho3d. The packages for Urho3D releases will be in their respective release folder. While those snapshot packages will always be available in ‘Snapshots’ folder to indicate that they are auto generated by CI build without human QA, so users who download them should manage their expectation on the quality or stability of the binaries in the package.

Urho3D 1.31 release

$
0
0

Source package

Binary package

Changelog

  • Extensive build system improvements, especially for using Urho3D as a library in an external project.
  • LuaJIT support.
  • Improved Lua bindings, Lua coroutine support, automatic loading of compiled Lua scripts (.luc) if they exist.
  • HDR rendering, 3D textures, height fog and several new post process shaders.
  • Shader refactoring. Need for XML shader descriptions & ShaderCompiler tool removed.
  • Reflection / refraction rendering support.
  • 2D drawable components: StaticSprite2D, AnimatedSprite2D, ParticleEmitter2D.
  • ToolTip & MessageBox UI elements. UI logic improvements.
  • Optimized text rendering + dynamic population of font textures for improved batching.
  • AngelScript DelayedExecute for free functions, and event handling for any script object, not just ScriptInstances
  • Editor: added grid, toolbar, camera view presets, camera orbit, mouse wheel zoom, multiple viewports and orthographic camera.
  • Borderless window mode, possibility to change application icon.
  • SDL GameController support, raw key codes support.
  • Optimized shadow rendering on mobile devices. Low quality mode avoids dependent texture reads.
  • HttpRequest class runs in a background thread to avoid blocking.
  • Compressed package file support using the LZ4 library.
  • Cone parameters in SoundSource3D for directional attenuation.
  • Variant GetPtr() safety refactoring. Uses WeakPtr to store RefCounted subclasses. Use GetVoidPtr() to store unsafe arbitrary pointers.
  • Improved work queue completion events. Work items are now RefCounted to allow persisting them as necessary.
  • Allow to disable automatic execution of AngelScript & Lua from the engine console.
  • Added shader variations, for example ambient occlusion texture and better emissive color support.
  • Added examples.
  • Update SDL to 2.0.1
  • Update AngelScript to 2.28.1.
  • Update FreeType to 2.5.0.
  • Fix partial texture updates, both Direct3D9 & OpenGL.
  • Fix long-standing audio click bug.
  • Fix kinematic rigidbodies to apply impulses correctly to dynamic bodies.
  • Plus many more improvements and bugfixes.

Urho3D website revamp

$
0
0

We have recently revamped our website while preserving its original minimal theme as much as possible. Although the appearance does not change much, under the hood we have made a number of changes to make the website design becomes more responsive and to make the documentation viewing easier than before, from large screen monitor down to small mobile devices. What makes this possible is the adoption of Bootstrap front-end framework.

We have also added two new features to the website:

  1. Document-switcher which allows user to see the evolution of the documentation pages from different releases and the current HEAD revision.
  2. Disqus commenting service which allows user to comment on the news post entries. Tell us what do you think by leaving us a comment.

Urho3D 1.32 release

$
0
0

Source package

Binary package

Changelog

  • Finalized Urho2D functionality, including 2D physics using Box2D, sprite animation and tile maps
  • Threaded background resource loading. Must be manually triggered via ResourceCache or by loading a scene asynchronously
  • Attribute and material shader parameter animation system
  • Customizable onscreen joystick for mobile platforms. Used in examples
  • Touch camera control in examples on mobile platforms
  • Touch emulation by mouse
  • Multi-touch UI drag support
  • Consistent touch ID’s across platforms
  • Absolute, relative and wrap modes for the operating system mouse cursor
  • Support for connecting & removing joysticks during runtime
  • Negative light & light brightness multiplier support
  • Transform spaces for Node’s translate, rotate & lookat functions
  • Scrollable console
  • Selectable console command interpreter (AngelScript, Lua, FileSystem)
  • Touch scroll in ScrollView & ListView
  • UI layout flex scale mode
  • Custom sound streams from C++
  • LogicComponent C++ base class with virtual update functions similar to ScriptObject
  • Signed distance field font support
  • JSON data support
  • Matrix types in Variant & XML data
  • Intermediate rendertarget refactoring: use viewport size to allow consistent UV addressing
  • ParticleEmitter refactoring: use ParticleEffect resource for consistency with ParticleEmitter2D and more optimal net replication
  • Expose LZ4 compression functions
  • Support various cube map layouts contained in a single image file
  • Configurable Bullet physics stepping behavior. Can use elapsed time limiting, or a variable timestep to use less CPU
  • Default construct math objects to zero / identity
  • Mandatory registration for remote events. Check allowed event only when receiving
  • Teapot & torus builtin objects
  • FXAA 3.11 shader
  • Triangle rendering in DebugRenderer (more efficient than 3 lines)
  • Material/texture quality and anisotropy as command line options and engine startup parameters
  • Spline math class, which the SplinePath component uses
  • Console auto-show on error
  • DrawableProxy2D system for optimizing 2D sprite drawing
  • Possibility to decouple BorderImage border UV’s from element size
  • Editor & NinjaSnowWar resources split into subdirectories
  • UI hover start & end events
  • UI drag cancel by pressing ESC
  • Allowed screen orientations can be controlled. Effective only on iOS
  • Rendering sceneless renderpaths
  • Define individual material passes as SM3-only
  • Support for copying ListView text to system clipboard
  • Async system command execution
  • Generic attribute access for Lua script objects
  • Use Lua functions directly as event subscribers
  • Touch gesture recording and load/save
  • AssetImporter option to allow multiple import of identical meshes
  • Automatically create a physics world component to scene when necessary
  • GetSubimage function in the Image class
  • Possibility to clone existing components from another scene node
  • Improve terrain rendering on mobile devices
  • Refactoring of camera facing modes in BillboardSet & Text3D
  • Additive alpha techniques for particle rendering
  • Possibility to use CustomGeometry component for physics triangle mesh collision
  • Access to 2D node coordinates for convenience when using 2D graphics features
  • Save embedded textures in AssetImporter
  • Use best matching fullscreen resolution if no exact match
  • Use SDL_iPhoneSetAnimationCallback instead of blocking main loop
  • Allow fast partial terrain updates by modifying the heightmap image
  • API for setting image pixels by integer colors
  • Refactor to remove the separate ShortStringHash class
  • Deep clone functionality in Model resource
  • Zone can define a texture which is available to shaders. Not used by default
  • Allow logging from outside the main thread
  • Log warnings for improper attempts to use events from outside main thread
  • Improved CustomGeometry dynamic updates
  • ConvexCast function in PhysicsWorld
  • Screen to world space conversion functions in Viewport class
  • Allow sending client rotation to server in addition to position
  • Allow accessing and modifying the engine’s next timestep
  • DeepEnabled mechanism for disabling node or UI element hierarchies and then restoring their own enabled state
  • Allow to prevent closing a modal window with ESC
  • Per-viewport control of whether debug geometry should render
  • Optional interception of resource requests
  • Readded optional slow & robust mode to AreaAllocator
  • Optionally disable RigidBody mass update to allow fast adding of several CollisionShape components to the same node
  • Runtime synchronization of resource packages from server to client
  • Disable multisample antialiasing momentarily during rendering. Used by default for UI & quad rendering
  • Glyph offset support in Font class
  • Font class internal refactoring
  • Allow to create AngelScript script objects by specifying the interface it implements
  • Window position startup parameters
  • Functions to get time since epoch & modify file’s last modified time
  • Optionally auto-disable child elements of a scroll view when touch scrolling
  • Allocate views permanently per viewport to allow querying for drawables, lights etc. reliably
  • Allow to specify material techniques/passes that should not be used on mobile devices
  • Reduced default shadow mapping issues on mobile devices
  • Minor rendering optimizations
  • Build system: possibility to build Urho3D without networking or 2D graphics functionality
  • Build system: improved generated scripting documentation
  • Build system: improved support for IDE’s in CMake scripts
  • Build system: support up to Android NDK r10c and 64-bit ABIs
  • Build system: numerous other improvements
  • Editor: resource browser
  • Editor: spawn window for random-generating objects
  • Editor: allow either zoom or move from mouse wheel
  • Editor: locate object by doubleclicking node in hierarchy
  • Editor: take screenshots with F11, camera panning
  • Editor: button in value edit fields that allows editing by mouse drag
  • Updated SDL to 2.0.3.
  • Updated AngelScript to 2.29.1
  • Updated assimp
  • Updated Recast/Detour
  • Fix MinGW build issues
  • Fix techniques referring to wrong shaders
  • Fix Node::LookAt() misbehaving in certain situations
  • Fix resize event not reporting correct window size if window is maximized at start
  • Fix PhysicsWorld::GetRigidBodies() not using collision mask
  • Fix zone misassignment issues
  • Fix Lua not returning correctly typed object for UIElement::GetChild() & UIElement::GetParent()
  • Fix uninitialized variables in 2D physics components
  • Fix quad rendering not updating elapsed time uniform
  • Fix forward rendering normal mapping issues by switching calculations back to world space
  • Fix wrong logging level on Android
  • Fix multiple subscribes to same event on Lua
  • Fix missing Octree update in headless mode
  • Fix crash when using FreeType to access font kerning tables
  • Fix ReadString() endless loop if the string does not end
  • Fix shadow mapping on OS X systems with Intel GPU
  • Fix manually positioned bones being serialized properly
  • Fix file checksum calculation on Android
  • Fix accelerometer input on Android when device is flipped 180 degrees
  • Fix missing or misbehaving Lua bindings
  • Fix crashes in physics collision handling when objects are removed during it
  • Fix shader live reload if previous compile resulted in error
  • Fix named manual textures not recreating their GPU resource after device loss
  • Fix skeleton-only model not importing in AssetImporter
  • Fix terrain raycast returning incorrect position/normal
  • Fix animation keyframe timing in AssetImporter if start time is not 0
  • Fix storing Image resources to memory unnecessarily during cube/3D texture loading
  • Fix to node transform dirtying mechanism and the TransformChanged() script function
  • Fix returned documents directory not being writable on iOS
  • Fix click to emptiness not closing a menu
  • Fix FileWatcher notifying when file was still being saved. By default delay notification 1 second
  • Fix .txml import in the editor
  • Fix erroneous raycast to triangles behind the ray
  • Fix crash when multiple AnimatedModels exist in a node and the master model is destroyed
  • Fix missing Matrix4 * Matrix3x4 operator in script
  • Fix various compile warnings that leak to applications using Urho3D
  • Fix DebugHud update possibly being late one frame
  • Fix various macros not being usable outside Urho3D namespace
  • Fix erroneous layout with wordwrap text elements
  • Fix debug geometry rendering on flipped OpenGL viewports
  • Fix kNet debug mode assert with zero sized messages
  • Fix not being able to stop and restart kNet server
  • Fix AreaAllocator operation
  • Fix possible crash with parented rigidbodies
  • Fix missing network delta update if only user variables in a Node have been modified
  • Fix to only search for June 2010 DirectX SDK, as earlier SDK’s will fail
  • Fix wrong search order of added resource paths
  • Fix global anisotropic filtering on OpenGL
  • Fix animation triggers not working if trigger is at animation end
  • Fix CopyFramebuffer shader name not being used correctly on case-sensitive systems
  • Fix UI elements not receiving input when the window containing them is partially outside the screen to the left
  • Fix occlusion rendering not working with counterclockwise triangles
  • Fix material shader parameter animations going out of sync with other animations when the object using the material is not in view
  • Fix CPU count functions on Android

Urho3D 1.4 release

$
0
0

Source package

Binary package

Changelog

  • Direct3D11 and OpenGL 3 rendering. Shader Model 2 support removed.
  • Experimental Emscripten support.
  • Raspberry-Pi 2 support.
  • Overhauled build system with better out-of-source build support & source tree reorganization.
  • Add host-tool building support for cross-compiling build which makes enabling of Lua/LuaJIT on Android build easier to configure than before and also makes new URHO3D_PACKAGING build option possible.
  • Add new engine parameter to set the location of the asset/resource prefix path. This addition makes new URHO3D_MACOSX_BUNDLE build option possible.
  • Add proper precompiled header (PCH) support for GCC/Clang compiler toolchains (and their derivatives).
  • Add compiler cache (ccache) support to build system for host systems where ccache is installable. The support is available for both native and cross-compiler toolchains.
  • Crowd navigation and dynamic navigation mesh using the DetourCrowd and DetourTileCache libraries.
  • 2D rendering improvements and optimization.
  • Allow materials to use any texture unit; up to 8 consecutive material texture units available for desktop graphics.
  • Depth-only rendering pass and readable hardware depth support.
  • Cubemap support and using programmatically defined rendertargets in renderpaths.
  • Vertex and index buffer access from script through VectorBuffer.
  • UI can be rendered to a texture with a renderpath command.
  • Uncompressed DDS support: generic decode to 8-bit RGBA.
  • Dynamic audio types instead of hardcoded.
  • Dynamic cursor image type definitions.
  • Added various material techniques.
  • Allow reading Data/CommandLine.txt on all platforms, if Urho3DPlayer is started without parameters.
  • LOD level support in Terrain collision shape.
  • Reduce cost of rendering multiple materials with same shader parameter values, reduce shader switching cost on D3D9, and other rendering efficiency optimizations.
  • Refactored event subscription mechanism with Lua.
  • Add SpritePacker utility.
  • User configurable indentation for XML and JSON files.
  • Controls class moved away from Network subdirectory to allow using when Urho3D is built without networking.
  • MOBILE_GRAPHICS & DESKTOP_GRAPHICS defines for graphics capability level, to avoid hardcoded platform checks.
  • Remove bell sound when pressing Alt key combinations on Windows.
  • 8-bit time stamp added to client controls sent over the network. Allow to intercept attribute updates from network. These features should allow writing custom clientside prediction.
  • Return hit submesh index in raycast to StaticModel.
  • Fill mode added to materials.
  • AngelScript script objects can be stored in a Variant.
  • Improved attribute registration: class name and variant type not needed.
  • Add new rake tasks to facilitate configuring/generating and building Urho3D project, including external project using Urho3D library.
  • Update PugiXml to 1.5.
  • Update STB libraries to latest.
  • Editor: particle effect editor window.
  • Editor: sound type editor window.
  • Editor: remember script attributes and restore them if a compile error occurs.
  • Editor: remember custom var names globally in the editor configuration.
  • Editor: button-based editor for bitmask attributes.
  • Editor: duplicate operation.
  • Editor: resource browser improvements.
  • Editor: renderpath can be chosen.
  • Editor: allow running without Urho2D compiled in.
  • Editor: inspector lock.
  • Editor: ensure correct gizmo size in orthographic mode.
  • Editor: copy camera transform operation.
  • Editor: do not allow to set a dialog modal in the UI editor.
  • Fix mouse stutter by using SDL_PollEvent() instead of SDL_PumpEvents().
  • Fix various missing script bindings.
  • Fix missing editor grid after scene revert.
  • Fix StaticModelGrup alpha materials rendering only 1 instance.
  • Fix missing attribute side effects (ApplyAttributes) in attribute animation.
  • Fix billboard render sorting from several views on the same frame.
  • Fix editor to load UI assets from executable directory to prevent using old UI assets from user’s resource directories.
  • Fix UI element drag showing “not accepted” mistakenly.
  • Fix WritePackedQuaternion() always returning false.
  • Fix uninitialized variable in Shader class.
  • Fix wrong camera aspect ratio after modifying orthographic size.
  • Fix “lightvolumes” render path command not allowing custom shader defines.
  • Fix AnimatedSprite2D not hiding child sprites when disabled.
  • Fix missing export specifiers for some Urho3D classes.
  • Fix additive particle scale modification making the particle size negative.
  • Fix screen orientation issue on iOS 8.
  • Fix multiple view rendering for 2D drawables.
  • Fix Bullet friction on Clang compiler.
  • Fix textures left bound in multiple units on OpenGL.
  • Fix infinite loop in ResourceCache::AddPackageFile().
  • Fix corrupt network message reception by updating kNet library.
  • Fix NaN check working incorrectly on GCC.
  • Fix possible wrong logic when a component is removed from a scene node, as opposed to being destroyed.
  • Fix tab escape sequences in the generated script documentation.
  • Fix warnings that leak into Urho3D applications.
  • Fix being able to create a REPLICATED component into a LOCAL node.
  • Fix negative light direction from Assimp with certain 3D file formats.
  • Fix spot light FOV handling with Assimp.
  • Fix incorrect partial terrain update and improve terrain update worst-case performance.
  • Fix incorrect rendering to backbuffer after post-process pingponging on OpenGL.
  • Fix crash when calling FixInterpolation() incorrectly on a compressed sound resource.
  • Fix AngelScript compile on VS2015.
  • Fix crash with null materials in 2D rendering.
  • Fix kNet WinXP compatibility.
  • Fix possible threaded resource load issues with XML files.
  • Fix missing null checks in AnimatedSprite2D.
  • Fix window drag behavior with hidden mouse on Linux; require click in window before re-enabling hidden mouse on all desktop OS’es.
  • Fix erratic hidden mouse move when used together with touch input.
  • Fix black screen on OSX after fullscreen/windowed switch.
  • Fix incorrectly working AngelScript native calls on Clang / Windows.
  • Fix building of 32-bit Linux software package on 64-bit host system and add options for build system to produce correct “LIB_SUFFIX” for 64-bit Debian and RPM packages.

Bitweb published on Steam

$
0
0

Reposted from Urho3D forum post. The game is made by practicing01.

Bitweb.jpg

Congrats on getting to Steam!

Lua autocompletion generator updated to 1.4

New theme switcher for website

$
0
0

We have now a dark theme for the website to ease reading our documentation pages at night! The theme can be selected by using the theme switcher. The theme switcher uses experimental filter feature available in the Webkit-based and Firefox browsers. It also requires JavaScript enabled for it to work.

The functionality has been tested thoroughly on the above mentioned browsers. The functionality may or may not work on other browsers, sorry. But let us know about it.

Terrain editor updated to use Urho3D 1.4

$
0
0

JTippetts has updated his terrain editor project to use the latest version (release 1.4) of Urho3D library. The project is a simple terrain editor built using Urho3D library and its exposed Lua API. It now has shaders that works for D3D9, D3D11 and GLSL. The newest addition in the project are 8-detail tri-planar shaders for both HLSL and GLSL. The tri-planar shader uses the detail blending between layers. It requires more powerful GPU but gives better result than normal-mapping shader. See the difference for yourself.

Normal

normal-map.jpg

Tri-planar

tri-planar.jpg


Infested: a survival horror and investigation game

$
0
0

Reposted from Urho3D forum post. The game is made by Dave82 single-handedly in 5-6 months of his spare time. Amazing.

Video clip

Screenshots

Infested-1.jpg

Infested-2.jpg

Infested-3.jpg

Infested-4.jpg

Infested-5.jpg

Infested-6.jpg

Infested-7.jpg

Urho3D 1.5 release

$
0
0

Source package

Binary package

Changelog

  • Database subsystem with either SQLite or ODBC support.
  • Localization subsystem.
  • Improved the navigation / crowd navigation API and examples.
  • SSE and animation performance optimizations.
  • Enable BT_USE_SSE on Linux and MinGW platforms, enable BT_USE_NEON on Android and Raspberry-Pi platforms.
  • Urho3D macros such as OBJECT, EVENT, HANDLER renamed to have URHO3D_ prefix to prevent ambiguity with other libraries.
  • Double support to Variant, Deserializer, Serializer & JSONValue. Store Lua object attributes accurately as doubles.
  • Support for moving nodes & components between scenes, or creating components “sceneless” and moving into a scene later.
  • Cubemap loading from DDS files.
  • Refactored the object class registration mechanism to store the object’s base class for “Is this class derived from this” queries.
  • Optional “raw” Lua file loading through direct filesystem access for easier debugging.
  • Configurable blend mode in renderpath quad commands.
  • UV coordinates added to raycast results.
  • Allow submitting bare function names instead of full signature to Execute() & DelayedExecute() in AngelScript, similar to specifying event handler functions.
  • Allow negative scale for nodes.
  • Culling camera optimization for viewports, to allow rendering multiple viewports with the same culling data set.
  • Refactor Urho2D animation playback. Add optional Spine support (user must supply Spine runtime.)
  • Refactor Urho2D sprite atlas handling.
  • CollisionShape acquires model resource from StaticModel in same node automatically if collision model undefined.
  • Request the high-power GPU on AMD multi-GPU setups.
  • API for programmatic animation track & keyframe creation.
  • Added AnimationController IsAtEnd() function.
  • Added “remove on completion” mechanism to AnimationController.
  • Added function to remove all components of type to Node.
  • Added GetParentComponent() function to Node.
  • Added resource memory usage stats to DebugHud.
  • Support for ScanDir() on Android.
  • Improve Variant / VariantMap bindings on Lua.
  • Improve internal mechanisms for Lua bindings, e.g. store Urho3D context inside Lua state global table.
  • Improve API for kNet connection stats.
  • Improve AngelScript GetChildrenWithClassName() to return also derived classes.
  • Improve UI tab behavior
  • Improved navigation debug geometry
  • Improve ConvexCast by taking into account CollisionShape’s offset position & rotation.
  • Spline class cleanup & improvements, including linear interpolation mode, and looping Catmull-Rom mode.
  • Refactored JSONValue class to be more JSON-like.
  • Material render order support within a pass.
  • MM_FREE mouse mode, which disassociates cursor visibility from being confined inside the window.
  • Allow doubleclick event in UI over emptiness
  • Make Octree::Raycast() threadsafe.
  • GetGLContext() added to GraphicsImpl on OpenGL to allow the application to perform manual context switching.
  • Fixes for vertex texture fetch on D3D11.
  • Allow optional forced creation of CPU-only vertex & index buffers also in non-headless operation.
  • Unified texture upload behavior: half-float formats need to be provided as such on both D3D & OpenGL. Added float/half-float conversion functions.
  • Automatic generation of intermediate directories in FileSystem::CreateDir().
  • Warn if attempting infinite distance physics raycast. Remove erroneous infinity default value from AngelScript physics raycast bindings.
  • Allow non-strict numeric type to be returned from Variant, e.g. GetFloat() succeeds for an int.
  • Allow to disable PhysicsWorld or PhysicsWorld2D automatic simulation stepping during scene update. When disabled, the physics world can still be stepped manually.
  • Support for manual advancing of value animations.
  • globalVars VariantMap for AngelScript to allow easy cross-ScriptFile parameter passing.
  • Improve ConvexCast() to return distance using the hit fraction.
  • Ensure normalized vertex weights in AssetImporter, and clamp to 4 weights maximum instead of error, by dropping the smallest weights.
  • Configurable layer count in DynamicNavigationMesh to control memory usage.
  • Emscripten ETC1 & PVRTC extension support detection.
  • Emscripten hardware instancing support.
  • emscripten_get_now() for better timer precision and less CPU use.
  • Disable frame limiter Sleep() on Emscripten.
  • Disable audio output in C++ samples where it isn’t necessary.
  • Remove redundant glEnable() / glDisable() calls related to OpenGL texture types.
  • Removed defined_ member variable from BoundingBox, Sphere & Rect in favor of determining the definedness from the bounds being valid.
  • Invalid order checking for Lua binding overloads.
  • Dangerous math class constructors marked explicit.
  • Properly enabled multithreading in GCC/Clang builds.
  • Emscripten toolchain & build related fixes and improvements.
  • Clang tools support in the build.
  • Annotator & script binding extractor skeleton tools in preparation for generated script bindings.
  • Build improvements for CLion IDE.
  • Support Android NDK r10e.
  • Support non-PCH build.
  • Support spaces in path for build.
  • Install d3dcompiler DLL to bin directory for Windows / D3D builds.
  • Improved Urho3D DLL installation logic.
  • More user-friendly operation for missing HTML help compiler or dot.
  • Symlink assets to the build binary directory.
  • Allow installed sample executables to run out-of-the-box on Windows.
  • Reformatting of source code to get rid of indents on empty lines.
  • Script subdirectory in the engine source renamed to AngelScript.
  • Option to build Urho3D without threading (URHO3D_THREADING). Normally disabled on Emscripten but can be enabled for experimental development on browsers with included support.
  • Improved documentation on contributing and 3rd party library policy.
  • Update AngelScript to 2.30.2.
  • Update Assimp to September 2015 revision.
  • Update Bullet to 2.83.6.
  • Editor: setting for new node position preference.
  • Editor: particle editor improvements.
  • Editor: function to assign child nodes into a spline path.
  • Editor: center camera on object with HOME key.
  • Editor: selectable MMB functionality.
  • Editor: language selector and localizations.
  • Editor: Blender hotkeys mode.
  • Editor: HSV color wheel.
  • Editor: event handling refactoring.
  • Editor: 3D debug icons.
  • Editor: make showing IDs optional.
  • Editor: cubemap generation support.
  • Editor: export scene to .obj.
  • Editor: accelerator keys for reset pos/rot/scale.
  • Editor: quickmenu select topmost option with Enter key.
  • Editor: local offset added to spawn editor.
  • Fix missing bindings in navigation / crowd navigation script API.
  • Fix missing Lua bindings for Component class.
  • Fix SplinePath AngelScript bindings.
  • Fix failure to add / remove obstacles due to DetourTileCache queue being full.
  • Fix UI element debug draw.
  • Fix quantized AABB bug with large collision meshes.
  • Fix incorrect viewport size when rendering to both backbuffer & textures.
  • Fix flashing of 2D sprite animations due to misreported animation length.
  • Fix AssetImporter single keyframe animations.
  • Fix GetData() from rendertarget textures on D3D9.
  • Fix handling of lightmap textures in AssetImporter.
  • Fix debug geometry rendering if backbuffer resolve was used.
  • Fix blend mode of Urho2D material getting overwritten.
  • Fix terrain shader quality on mobile devices.
  • Fix partial rendertarget clear on D3D11.
  • Fix URHO3D_PACKAGING build option on Windows shared lib build.
  • Fix PackageFile::GetEntryNames() to return filenames with original case.
  • Fix FXAA3 shader on OpenGL.
  • Fix Depth shader on D3D11.
  • Fix Blur shader.
  • Fix shader code which attempts to use 3D textures on GLES.
  • Fix objects getting removed from physics simulation due to zero Node scale on some axis.
  • Fix line height of included SDF fonts. Fix corrupt rendering if Text3D changes font from SDF to non-SDF or vice versa.
  • Fix inaccurate terrain occlusion.
  • Fix ValueAnimation resource not loading properly.
  • Fix RigidBody2D body type enum.
  • Fix RigidBody2D & CollisionShape2D to be resilient of the add order.
  • Fix Drawable2D’s not using viewmask in rendering & raycast.
  • Fix Quaternion::FromLookRotation() zero cross product case.
  • Fix RigidBody2D custom mass handling.
  • Fix multiple value children created into XMLElement.
  • Fix TmxFile2D loading according to the updated Tiled spec.
  • Fix integer overflow in Random() functions.
  • Fix potentially unreleased Lua function references.
  • Fix UIElement functions that may crash at UI deletion time.
  • Fix mistaken commenting out of GLSL source code.
  • Fix animation “freezing” due to model being invisible while the animation finishes.
  • Fix Graphics::ResolveToTexture() on D3D11, especially for less-than-fullscreen viewports.
  • Fix potential crash or error during animation event processing, if animations are added/removed.
  • Fix potential null pointer access at navmesh destruction time.
  • Fix not allowing collision geometry from multiple CustomGeometries in the same node.
  • Fix space glyph not getting loaded in some fonts.
  • Fix missing resource dependencies tracking when resource autoloading is switched on during runtime.
  • Fix crash on MinGW build with SSE optimizations.
  • Fix windowed / fullscreen switching on Emscripten.
  • Fix missing URHO3D_API specifiers from some classes / structs.
  • Fix improper rounding during TrueType loading, which would displace some glyphs.
  • Fix incorrect bounding box of StaticSprite2D.
  • Fix lost font texture (OpenGL only) not being handled for Text3D.
  • Fix crash with CollisionChain2D with not enough vertices. Allow to create CollisionChain2D in the editor.
  • Fix crash caused by querying HashMap or HashSet while it’s being cleared.
  • Fix erroneous hardware keyboard input on Android.
  • Fix Android MIPS build.
  • Fix UI element layouting changing the user-defined minimum size.
  • Fix crash in 64bit build when opening the console window.
  • Fix potential edge artifacts in dynamically created spritesheets.
  • Fix Spine animation playback thread safety.
  • Fix mouse button release while cursor hidden not releasing drag elements.
  • Fix too heavy-handed skybox shader Z adjustment on GLES, which caused objects to be obscured by the skybox.
  • Fix protected AngelScript class variables showing up as serializable/editable.
  • Fix ResourceRefList serialization bug caused by String::Split() not returning empty strings.

New and improved class index page

$
0
0

A few days ago one of the contributor has submitted a PR to switch on the generation of the class index page for our doxygen-generated documentation. The new index page can now be accessed under the ‘Classes’ documentation navigation button in our main website. We have improved the usability of this class index page. It is also vieweable using a wide variety of browser viewport sizes like all our pages do. Happy coding!

(Fixed) Documentation pages generation issue

$
0
0

It has come to our attention that all our documentation pages have not been generated correctly recently. All the pages currently do not have the “doc-switcher” which supposedly allows user to switch the version of the page to the corresponding Urho3D release that you are using. The pages also have missing CSS and/or JS files for the “doc-navigation” to function properly. For the former issue, you can workaround to switch the version manually by altering the URL to the version you want to use. e.g. https://urho3d.github.io/documentation/HEAD/index.html for HEAD version or https://urho3d.github.io/documentation/1.5/index.html for 1.5 version. You only need to do this once as all the other links found in a documentation page will follow to your chosen version (they are statically generated for one specific version). Unfortunately there is no good workaround for the latter issue. You may find it difficult in navigating some of the documentation pages as the result.

The root cause of the problem has been identified. We have hit a bug in the GitHub Pages which is still not running the latest good version of the Jekyll. The issues are not reproducible locally with the latest version. Therefore, we have decided not to take any action and to wait it out for GitHub Pages to upgrade their Jekyll version. We are sorry for any inconvenience has caused.

UPDATE: It appears that part of the cause was self-inflicted. We had not adapted all our Liquid tags correctly after migrating to Jekyll 3.0. Correcting that seems to make GitHub Pages happy as well.

Unique documentation page title

$
0
0

In order to get a more favourable SEO factor on our documentation pages, we have changed our documentation page generation logic slightly to generate a unique title per page. Instead of using a single title “Documentation” for all the pages like in the past, we now use the value of the Doxygen’s page tile in the HTML title tag. We have also take this opportunity to enable the jekyll-seo-tag gem for our website. So now all our pages, including documentation pages, have auto-generated SEO tags. Hope we have done everything correctly.

Viewing all 77 articles
Browse latest View live