The Makers and Me Ltd - Ideal Factory

To improve the 3D visual quality I developed a PBR (physically based rendering) system with the Heaps.io libary. This meant the existing codebase, written in Haxe & Openfl, needed to integrate with the Heaps library requiring core changes to OpenFL, Lime and Heaps. Once completed a Heaps based application could be embedded and interact with the OpenFL code. The PBR system creates a single 'uber' shader from fragments based on the GLTF model requirements, using Heaps shader language. GLTF/GLB files are parsed and loaded into Heaps. Additional optimisations were required in both the 2D UI and 3D areas to provide fluid animations for mouse and touch interaction. A completetly new SVG fonts rendering capability was added to OpenFL to ensure all target platforms, including the web, mobile, native desktop and headless servers would render text consistently and accurately compared to one another.

Key developments:

  • PBR rendering in WebGL based on BabylonJS shaders
  • WebGL/OpenGL shaders built from Heaps shader language
  • Import and model construction from GLTF/GLB files
  • GLTF animation support
  • SVG font rendering - accurate across web and native platforms
  • Performance enhancements for 2D/3D interactions
  • 3D texture selection/dragging
  • OpenFL - Lime - Heaps integration