Build 1.00.5880 Available!

Posted on August 17, 2015

The new Murl Engine Build 1.00.5880Beta is available for download. This is an regular update release with several improvements and fixes.

API Changes

  • Added IAppStoreProduct::GetPurchaseSignature(), see the method documentation for platform specific data content.
  • Added Resource::IDictionary, together with Resource::XmlDictionary and Resource::NativeDictionary for grouping together multiple key/value string pairs.
  • Added Resource::NativeImage.


  • Built with Android NDK r10e
  • Updated 3rd party libpng to libpng-1.6.18
  • Updated 3rd party libwebp to libwebp-0.4.3
  • Updated 3rd party lua to Lua 5.3.1
  • Added Math::MinMax template class.
  • Added ILoader::RemovePackage() and ILoader::RemoveProcessor() methods.
  • Added Util::PrintToString() method (equivalent to System::CLib::PrintToString()).
  • Added Graph::ITransformable methods to read Euler angles: GetRotationX(), GetRotationY() and GetRotationZ()
  • Added Graph::IAnchor::GetWorldPosition() method
  • Added Graph::IInstance GetReplicationNode() method
  • Added Color::StringFormat enumeration for better control of how to convert a color to a string via Util::StringToColor().
  • Perform rounding to the nearest integer instead of implicit floor() when querying integer values from Murl::Color.
  • Added missing value getters/setters in Graph::IGenericParameter.
  • Allow to query number of mip levels present in Resource::IImage.
  • Added "srgb" boolean attribute in scene converter <Texture> element.
  • Added IEnums::IsPixelFormatStoringLinearColorValues() function.
  • Added IEnums::DEPTH_SORT_MODE_VIEW_Z enumeration value.
  • Catch empty shader output after GLSL optimizer, to prevent a crash in OSX'OpenGL driver shader compiler.
  • Updated GLSL optimizer.
  • Misc improvements in shader translator and Util::ShaderBuilder.
  • Misc improvements in shader resources.
  • Added Util::IndentString() function.
  • Added "includeForCondition"/"excludeForCondition" attributes in Graph::Node.
  • Added Graph::ITexture::SetAutoScaleFactor() method for automatically resizing a texture to a multiple of the current output surface resolution.
  • Allow frame buffers to globally share renderbuffers to save GPU memory.
  • Allow attaching the same frame buffer texture(s) to multiple frame buffers.
  • Added "useMipMapGeneration" attribute in Graph::FrameBuffer to automatically create a full MIP chain after rendering (texture must have "useMipMapping" set to true).
  • Added "targetMipLevel" attribute in Graph::FrameBuffer to select the target texture MIP level to render to (texture must have "useMipMapping" set to true).
  • Added some missing pixel format converters & scalers
  • Improved quality of filtered surface scaling.
  • Added possibility for gamma-correct surface scaling.
  • Improved Resource::XmlShader parameterization.
  • IFeatureSet: Allow to force features enabled/disabled, for debugging purposes.
  • Added Graph::IListener::SetMaxDistance().
  • Added length to Math::Cone.


  • Fixed Graph::Instance now creates Graph::Container nodes for replications.
  • Fixed Logic::ITimeframe::WasStarted() is reported the tick after Start() instead of the same tick (which matches the behaviour of Logic::ITimeline::WasStarted()).
  • Fixed a potential crash in Graph::GenericGeometry when updating vertices and/or indices
  • Fixed Util::ColorToString() for hex strings.
  • Fixed Graph::NinePatchPlaneGeometry problem when output size is smaller than the sum of the corner sizes.
  • Fixed incorrectly added zero byte as XML entity in Util::EncodeXml().
  • Fixed incorrect parsing of "timelineUnits" attribute in Graph::TimeController.
  • Fixed static graph instance creation from a package when conditional sub-packages are present.
  • Fixed a problem when re-initializing any of Graph::GenericParameters and related nodes.
  • Fixed misc issues with Graph::GenericParameters, Graph::GenericParameter and Graph::GenericParameterGroup.
  • Fixed treating an SInt32 uniform as a float in GLES2.0 renderer when setting a custom uniform variable.
  • Added missing GenericResourceArrayTarget::Update() method.
  • Added missing "UNDEFINED" strings for various enumerations in Murl::IEnums.
  • Fixed Graph::TextGeometry line offset for multi-line strings.
  • Fixed Graph::Template attribute evaluation.
  • Fixed a crash in scene converter when importing an fbx scene without material.
  • Fixed FBX animation import when multiple animation stacks are present.
  • Fixed a crash in Graph::AudioSequence when audio source has no stream.

All changes can also be found in 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-2024 Spraylight GmbH.