Release 0.7.5
Augmented Reality through the WebXR Device API and Video/Canvas textures as well as many final fixes and convenience improvements to 0.7.x.
The texture size limitation of WebGL2 (usually 2048x2048) no longer applies to Wonderland Engine with compressed textures.
Changelog
Editor
- Added “webxr” to AR frameworks
- Added support for video MIME-Types in web server
- Added option to disable Wonderleap script tag
- Fixed font url: now relative to make deployment easier
- Fixed potential crash when rotating object with scaled parent
- Fixed webserver crashing the editor when
http://localhost:8080
is requested - Fixed image size change not causing update and recompression
- Implemented splitting of textures into tiles for new tile based texture atlas
- Now packaging
.basis
textures into.bin
file - Added “Project Settings > Rendering” settings for texture atlas sizes
- Fixed crash in JobSystem on the 2049th job
- Fixed editor icon on Ubuntu
- Fixed use of too many file descriptors on Linux
- Fixed uninitialized memory in
.bin
file to fix output different depending on OS - Fixed unexpeced results when downscaling non-square images
- Fixed changing maxSize param of Images not triggering recompression
- Fixed issues with JavaScript files bundled in different order depending on OS
- Removed
js/
from default script paths
Engine
- Implemented support for Augmented Reality based on the WebXR Device API
- Implemented support video and canvas textures
- Switched to a tile-based texture atlas for compressed textures, significantly improving use of texture memory
- Fixed various rare issues causing textures not appearing
- Fixed potential object translation mixup when adding meshes
- Fixed potential missing index buffer after removing all meshes from a batch
- Implemented repeating of compressed textures
- Removed artifical object limit by allowing multiple draw calls per batch
- Implemented calculation of max objects per draw call to avoid overflowing uniform buffer size device limit
Runtime
- Optimized batching to only rebatch changed meshes instead of entire batch
- Fixed adding new objects causing transformations to jump to other objects in rare cases
- Increase texture atlas size limit
- Fixed all JavaScript components reset to empty objects after 32 objects are created
- Fixed first delta time passed to JavaScript being a huge negative number
- Implemented smooth loading of textures on non-threaded runtime
- Optimized basis transcoding
- Reduced runtime thread count to 2 for threaded runtimes to reduce unused thread overhead
- Fixed performance degraded due to memory access being in debug mode
JS API
- Added support for
HTMLVideoElement
andHTMLCanvasElement
as parameters forWL.Texture.constructor
- Fixed
WL.Object.getComponent()
sometimes not returning correct type for JavaScript components - Added
set WL.Object.name
sometimes not returning correct type for JavaScript components - Fixed
WL.InputComponent.handedness
returningnull
despite there being a handedness value - Made
WL.Object.addComponent()
callstart()
on new JavaScript components - Added
WL.onXRSupported
callback list - Added
WL.arSupported
andWL.vrSupported
- Added
WL.onSceneLoaded
callback list - Added
onActivate
andonDeactivate
functions for custom components - Fixed
WL.Object.rotateObject
parameters - Added
WL.AnimationComponent.playCount
- Added
WL.Texture.update()
to update texture to HTMLCanvasElement/HTMLVideoElement/Image - Fixed playCount not applied on
WL.AnimationComponent.play()
JS Components
- cursor: Click now regards a new handedness property
- Added
vr-mode-active-switch
component to switch components active/inactive depending on whether in VR or not howler-audio-*
: Update to newer APIs and fix position not retrieved correctly- Added
hit-test-location
component to set up and retrieve WebXR Device API hit tests - Added
video-texture
component to download video from url and apply to material - Fixed
howler-audio-source
component not updating source position
Last Update: November 29, 2020