v2018.04 Released

Misc

  • FIX: Fixed a crash when attempting to run on Android the Release configuration.

Core

  • Implemented a plugin architecture using the UltravioletPlugin abstract class.

Graphics

NOTE: The Create() methods on RenderBuffer2D have been moved into Texture2D and renamed.
NOTE: The Create() methods in Texture2D and Texture3D have been renamed.

  • FIX: Fixed a crash when attempting to run under OpenGL ES 2.0.
  • Created a new library, Ultraviolet.FreeType2. This library implents a plugin which allows Ultraviolet to render OpenType and TrueType fonts, including fonts with CJK and other non-Latin character sets.
    • The Ultraviolet.FreeType2 library is now available as a NuGet package.
    • See this wiki article for details.
  • Updated the text layout engine to better support FreeType2 fonts.
  • Updated the text layout engine to support UTF-16 surrogate pairs.
  • Updated the text layout engine to support fallback fonts. If the current font does not contain a glyph which is being rendered, the engine will search for a registered fallback font which contains it and use that instead.
    • Fallback fonts can be registered with the RegisterFallbackFont() method on TextRenderer.
  • Added support for the SRGB color space. It is highly recommended that you enable this if you're using FreeType2 fonts; they won't render properly without proper gamma correction.