Download HARFANG® for your favorite language and start creating.
Released 20 Oct 2016
What's new, what's changed and what's fixed.
Version 0.9.9 (2016-10-20): API Changes: - Rename DrawBox as DrawMinMax. New features: - New system to allow parallel execution of arbitrary Lua chunk from any supported language. - Add support for Lua chunk compilation and execution (LuaVM.Compile and LuaVM.Call). - Implement LuaVM multiple return values support. - New Plus.CreateGeometryFromHeightmap and Plus. AddGeometryFromHeightmap functions. - New API to retrieve system monitors rect. - Add support for fullscreen monitor selection in GpuRenderer. - Add support for shader array declaration. - Add support for %include directive in shaders. - A material can now override its surface shader texture unit configuration. - Add cull mode support to the SimpleGraphicEngine. - Split SimpleGraphicEngine.Flush into separate Draw and Clear methods. - New asynchronous IsoSurface to render geometry conversion function. - Various code improvements to simplify direct drawing of geometries using custom shader. - Add support for geometry instance detection in the FBX importer. This feature is enabled by using the - detect-geometry-instances flag. - Add finalizer script support to the FBX converter. The finalizer script can inspect and modify resources before they are written to disk. - Add a Scene.GetMinMax method. - Support for FastNoise, a C++ library for efficient 1D to 4D noise generation. - Support for OpenVR controllers. - New RewriterFileDriver driver. - New FileDriver.FileToString method. Improvements: - Detect and warn of incorrect thread usage with Renderer and RenderSystem. - Improve iso surface to geometry normal continuity between adjacent iso fields. - Many documentation improvements. - Documentation tutorials are now directly linked from the gs-tutorials repository content. - Core resources are now embeded into the Harfang binary. - Provide access to geometry LOD & shadow proxy geometries. - Allow loading render material and geometry from a string (JSON/XML document). - Improve the GPU buffer API to prevent the pitfall of creating a 0 byte buffer. - Warn on failing UpdateBuffer call. - New Plus.IsAppEnded method to test if the application has ended. - New Transform.TransformLocalPoint method. - Implement octree, light and renderable systems debug visuals. - Add new core shaders for the FBX importer. - Script.Set now automatically calls OnParameterChange when modifying a script parameter. - Bind ImGui PushStyleColor, PopStyleColor, PushStyleVar and PushID. - Bind Renderer::SetShaderMatrix44. - Implement RGBAF to RGBA8 Picture conversion. - Add FPSController accessors for speed and turbo parameters. Bug fixes: - Improve anisotropic filtering. - Improve log code to prevent multiple thread output mangling. - Fix several issues with ZipFileDriver to make it less strict on which file path to accept. - Fix iso surface to render geometry display list minmax not being properly initialized. - Fix clip distance being incorrectly applied to linear lights. - Fix a crash sequence during Uninit. - Fix core skybox shader for VR. - Fix IJG codec allocating more memory than required. - Fix a rare crash with RenderScript when disabling a newly added node before it is commited into a scene. - Fix out of bound scene picking requests crash. - Fix a crash with renderer resources deletion. - Fix loading uncompressed DDS textures. - Prevent Plus from crashing on AddPhysic family of functions when no physic system is found. - Prevent crashing the engine when rendering a display list with no material. - Fix a rare race condition in log tail. Other: - Update to OpenVR SDK 1.0.2. - CPython 3.5 is now the development version of Python. - Add a debug output to track excessive raster font glyph generation. - Fix basic loop Lua tutorial. - New gs::string::slice method.
Vista or newer
Vista or newer