Build 2018.1.7420

Posted on September 14, 2018

A new Murl Engine Build 2018.1.7420 is available for download.

Build Environment:

  • Android Studio 3.1.4 with NDK 17.2.4988734
  • Visual Studio 2017 version 15.8.0
  • emscripten 1.38.12

New Features:

  • Emscripten build files for building asm.js and WASM output running in web browsers
  • Added IEnums::TargetHost enumeration, to distinguish if code runs natively in an app, or within a web browser
  • Android 64bit builds (arm64 and x86_64)
  • Visual Studio 2017 builds for x86 and x64


  • Removed builds for iOS 5.x
  • Removed builds for VS2008
  • 2015 (still available on request)
  • Removed 3rd_party glee
  • Removed 3rd_party agal_assembler
  • Removed facebook addon
  • Removed vuforia addon
  • Removed openmax addon
  • Changed Android STL form gnustl to c++_static
  • Replaced OpenAL Soft with MojoAL
  • Changed Android Murl Package File Extension from *.jet to *.murlpkg to be consistent on all platforms. For existing projects, please add a noCompress option to your build.gradle file in the Android section:
                aaptOptions {
                  noCompress 'murl', 'murlpkg', 'lua'
  • Removed deprecated node classes:
    • <Graph::BoxCuller> Replace with <Graph::VolumeCuller>
    • <Graph::FrustumCuller> Replace with <Graph::VolumeCuller>
    • <Graph::OrthographicCamera> Replace with <Graph::Camera projectionType="ORTHOGRAPHIC">
    • <Graph::PerspectiveCamera> Replace with <Graph::Camera projectionType="PERSPECTIVE">
    • <Graph::Sound> Replace with <Graph::AudioSource>
  • Removed deprecated node attributes:
    • Graph::Node
    • swappable="<Bool>" Replace with enableAutomaticSwapping="<Bool>"
    • Graph::AudioSource
    • soundResourceId="<Resource ID>" Replace with audioResourceId="<Resource ID>"
    • Graph::AudioSequence
    • soundIds="[<Node IDs>]" Replace with audioSourceIds="[<Node IDs>]"
    • soundId="<Node ID>" Replace with audioSourceId="<Node ID>"
    • soundId.N="<Node ID>" Replace with audioSourceId.N="<Node ID>"

New Interfaces:

  • Util::IFactory
  • Util::IFactoryRegistry
  • Util::IImageDecompressor
  • Util::IVideoSurfaceDecoder
  • Util::IVideoSurfaceEncoder

New Classes:

  • Math::Ray
  • Misc Util::VideoSurfaceDecoder and VideoSurfaceEncoder classes, for decoding/encoding various image formats

New Resource Objects:

  • Resource::HdrImage
  • Resource::PfmImage

New Graph Node Interfaces:

  • Graph::IAnchorState

New Graph Node Classes:

  • Graph::IAnchorState
  • Graph::IAnchorStateCopy

New Graph Controller Classes:

  • Graph::CameraNodeLinkController
  • Graph::ScalableNodeLinkController
  • Graph::SubjectNodeLinkController


  • Added "Safe Area" margin support for notched displays (iPhone X, Android API>=28) via IAppConfiguration GetDisplaySurfaceSafeMarginXX()
  • Improved graph traversal performance
  • Implemented resource aliases in .murlpkg files, to prevent duplicate resources from being included more than once
  • Added GetLoadMode() and GetFileCategory() methods to IPackage interface
  • Refined sorting in video renderer to improve performance
  • Increased slot count to 256 for materials, parameters, textures, vertices, lights, surfaces and layers
  • Added support for non-breaking space characters in Graph::TextGeometry
  • Improved power-of-two checks on textures after initialization
  • Changed visibility in Util::Rng and derived classes from "private" to "protected", to facilitate state de-/serialization
  • Updated astc_encoder to 1.4
  • Updated expat to 2.2.5
  • Updated glew to 2.1.0
  • Updated zlib to 1.2.11
  • Updated libpng to 1.6.34
  • Updated jpeglib to 9c
  • Updated libwebp to 1.0.0
  • Updated libogg to 1.3.3
  • Updated libvorbis to 1.3.6
  • Updated lua to 5.3.4
  • Updated freetype to 2.9.1
  • Updated assimp to 4.1.0
  • Updated FBXSdk to 2019.0


  • Fixed Util::VideoSurface clamping color values on reading/writing individual pixels
  • Added missing pixel converters for L8/LA16 to Float16/32
  • Added incomplete System::CLib file/folder functions on Android
  • Fixed Luminance/Alpha texture formats for GL3.3 wrapper
  • Fixed an issue in Util::Base64Decoder::DecodeValue()
  • Fixed dead code in Logic::Animation::Reset()
  • Added missing device enums for newer Apple devices
  • Fixed Graph::GenericGeometry sometimes not reacting on calls to SetNumberOfIndices()/SetNumberOfVertices()
  • Fixed GetProductName() and GetVersionName() in IEngineConfiguration incorrectly appending a null character on Windows
  • Fixed misc iOS audio issues when device locked/unlocked or interrupted by a phone call or timer signal
  • Fixed incorrect usage of SHFileOperationW() on Windows, preventing folders from correctly being created or deleted
  • Fixed Util::FileInterface::GetAbsoluteName() on Windows
  • Fixed a crash in GLES2.0 dynamic vertex buffer batching
  • Added missing interface methods in Graph::IShadowCamera
  • Fixed content size calculation for bitmap fonts when container fitting is enabled
  • Fixed HTTPS POST requests not working on Windows
  • Fixed Util::ShaderBuilder falsely complaining about not writing to shader output
  • glsl_optimizer: Fixed single-scalar vector constructor parameters when translating to HLSL
  • Misc rendering fixes in DX9 and DX11.1 renderers

All changes can also be found in the change log.

As always, if you encounter difficulties, find a bug or want to discuss development issues, head over to the Forum.

Don't miss out on any update,
subscribe to our newsletter.

Copyright © 2011-2021 Spraylight GmbH.