In this page you will find all the release binaries compressed in a zip archive.

Please check the tutorials to get more information about them and how to use them.


Latest

Win x64 : nk_2025_12_22 - Graphics low level openings.zip

Newly introduced :

  • [745] : nkMaths : Quaternion now offers the setFromRotationBetween() method and the linked constructor, allowing to have the Quaternion become the rotation needed to transform one direction A into another direction B.
  • [734] : nkGraphics : Added an opening to inject low-level textures into the rendering pipeline. This is for now only compatible with the Dx12Renderer, so this allows to provide ID3D12Resource structures as textures the rendering pipeline will be able to render to. This is very useful when injecting render targets from an external library that you need to render content into, using the nkEngine. For more information, please check Texture::setFromExternalResource().
  • [737] : nkGraphics : The enumeration proper to the Texture class have been moved into their own headers in the Textures/Enums subfolder. Their name also have been expanded from TEX_* to TEXTURE_* for more clarity and following up more closely what other parts of the code are doing. If you were using these enums, you will need to change TEX_ prefix to TEXTURE_ where they are used.
  • [733] : nkGraphics : Introduced the Renderer::getInternalsData(), which allows to get access to the internals of a renderer. It gives access to what the renderer internally uses to drive the underlying graphics API, allowing client code to wire deeper into the renderer if need be. For instance, the Dx12Renderer provides the device and command queues.
  • [732] : nkGraphics : The camera now supports the off-center perspective projection. The associated matrix function in nkMaths has been added to generate such projection matrices. Off-center projection is for instance particularly useful for generating the eyes projection matrices in virtual reality.
  • [735] : nkGraphics : It is now possible to inject a custom depth target into a RenderContext. The RenderContextDescriptor class API has been updated to allow such usage, but it also has been made sturdier against risks of setting it up into an ambiguous state. If you made any direct access to its attributes, it now has to go through the dedicated getters, or through a new construction.
  • [728] : nkInputs : Introduction of the GamepadDevice, which supports modern gamepad controllers. This allows to support modern Xbox controllers for instance, with two joysticks, triggers, and vibration motors. Note that the current implementation uses XInput internally, which means it supports up to 4 controllers simultaneously. Older devices are not guaranteed to be supported as a result.
  • [725] : nkGraphics : Added a new constructor allowing to feed a view over an external buffer to the RenderCommandQueue. The DefaultRenderStrategy has been updated to leverage this feature and reduce the number of required memory allocations during a pass. In the best case scenario, no new allocation will happen for a frame, as of now.

Fixed :

  • [747] : nkAstraeus : Fixed typos in the names of some wrapped methods of nkGraphics::Node, getOrientationRelative() and rotateRelative(). They were still registered using their old spelling, getOrientationRel() and rotateRel().
  • [746] : nkGraphics : Fixed an issue in the Dx12Renderer that would cause PSOs to not be properly reused, leading to multiple duplications of a same PSO setup.
  • [743] : nkAstraeus : Fixed an issue that could cause the ImageEnvironmentEffect to release the wrong Program, making other effects potentially unable to render. This was caused in a very specific situation when setting it up with the automatic projection logic, and a source Texture that would change type during its lifetime (from 2D to cube for instance).
  • [742] : nkAstraeus : Fixed an issue when computing irradiance on a cube map within PbsEnvironmentMapFilter::requestIrradianceComputing(), that would output faces with mismatched edges on the X and Z axis. The issue was particularly visible with highly contrasted enviromnents.
  • [741] : nkAstraeus : Fixed an issue that could cause a ComplexEffect (Blur or Dof) to double erase the Program used internally during cleanup, causing other effects using the same program to fail rendering afterwards.
  • [738] : nkGraphics : Fixed an issue in the Dx11Renderer that would cause it to fail drawing with the right shader. The issue could be caused in specific conditions when using the same mesh input layout with programs that could have different target registers for matching vertex data semantics.
  • [739] : nkGraphics : Fixed an issue that could cause a crash in the GlesRenderer, when a TargetOperations had an overloaded viewport. This issue would manifest itself when erasing a render context and directly calling Compositor::renderChain() on such a TargetOperations' compositor.
  • [723] : nkAstraeus : Fixed an issue within the AtmosphereEffect that could make it output corrupted pixels (NaN). This was initially detected on older GPUs (GTX960M) for low camera positions, or if the distance factor was set very high.

Past releases

nk_2025_09_27 - Pbs lighting optimizations.zip
nk_2025_07_07 - C++20.zip
nk_2025_04_06 - Dx12 memory system V2.zip
nk_2025_01_29 - Wasm nkScripts V1.zip
nk_2024_12_15 - Winter bug squash.zip
nk_2024_10_21 - Multiton systems.zip
nk_2024_07_28 - Png decoding.zip
nk_2024_05_26 - Png preparations.zip
nk_2024_04_28 - Atmospheric release.zip
nk_2024_04_01 - Next effect final preparations.zip
nk_2024_03_03 - Better texture control.zip
nk_2024_02_05 - Progressive Jpg.zip
nk_2024_01_07 - Shadow mapping.zip
nk_2023_12_10 - Winter dusting.zip
nk_2023_11_12 - Gltf2 Parsing Remaster.zip
nk_2023_10_16 - Gltf Preparations.zip
nk_2023_09_18 - Improved PbsMaterial.zip
nk_2023_08_20 - Obj Materials.zip
nk_2023_07_23 - Web Assembly Bootstrap.zip
nk_2023_06_25 - nkEditor mesh attribute generation.zip
nk_2023_05_29 - Customized nkEditor mesh import.zip
nk_2023_05_01 - nkEditor's Mesh UI Rework.zip
nk_2023_04_02 - nkEditor dynamic texture dimensions.zip
nk_2023_03_05 - Restored nkEditor Picking.zip
nk_2023_02_06 - LODs in nkEditor.zip
nk_2022_12_19 - LOD Selection.zip
nk_2022_11_19 - Mesh groups & Render strategies.zip
nk_2022_09_11 - Summer cleaning part 2.zip
nk_2022_08_28 - Summer cleaning.zip
nk_2022_08_14 - Cleanup and fixes.zip
nk_2022_07_31 - nkEditor Material UI.zip
nk_2022_07_17 - UnitTester nUnit formatting.zip
nk_2022_07_03 - Windows Snapping.zip
nk_2022_06_05 - nkDebug's return.zip
nk_2022_05_22 - Unit Testing basics.zip
nk_2022_04_11 - SIMD capabilities.zip
nk_2022_03_13 - System Information.zip
nk_2022_02_27 - Slider Introduction.zip
nk_2022_02_13 - Bug Hunt Pt.2.zip
nk_2022_01_30 - Bug hunt.zip
nk_2022_01_16 - Buffer and Texture feeding API.zip
nk_2022_01_02 - nkImages Encoders improvements.zip
nk_2021_12_19 - Jpeg Encoding.zip
nk_2021_12_05 - Buffer from array.zip
nk_2021_11_21 - Darker, Faster.zip
nk_2021_11_07 - Monochromatic Jpeg.zip
nk_2021_10_24 - JPEG and SIMD.zip
nk_2021_10_10 - Jpeg decoding.zip
nk_2021_09_26 - YUV in nkImages.zip
nk_2021_09_12 - This as script reference.zip
nk_2021_08_29 - Matrix in Lua.zip
nk_2021_08_15 - nkMaths Lua API improvements.zip
nk_2021_07_18 - New Mesh and Encoder API.zip
nk_2021_05_23 - nkImages better integration & API cleanings.zip
nk_2021_05_09 - Glsl & Hlsl interop.zip
nk_2021_04_25 - GlesRenderer.zip
nk_2021_04_11 - Maintenance & openings.zip
nk_2021_04_04 - Dof & Blur.zip
nk_2021_03_14 - Dropping DxTex & maintenance.zip
nk_2021_02_28 - ToneMapping & ImageEnvironment effects.zip
nk_2021_02_14 - TextureCopyEffect.zip
nk_2021_01_31 - SSAO and FilmGrain effects.zip
nk_2021_01_17 - First effect - FXAA.zip
nk_2021_01_03 - nkEditor UI Containers Improvements.zip
nk_2020_12_19 - Reworked nkEditor UI.zip
nk_2020_12_06 - Custom painted frames.zip
nk_2020_11_21 - RTX tutorials.zip
nk_2020_11_08 - Interface event simulations.zip
nk_2020_11_01 - Offscreen nkWinUi.zip
nk_2020_10_25 - Maintenance run.zip
nk_2020_10_18 - Environment pre-filtering.zip
nk_2020_10_11 - Pbs general improvements.zip
nk_2020_10_04 - Pbs normal mapping.zip
nk_2020_09_27 - Textured PBS.zip
nk_2020_09_20 - Introducing the material system.zip
nk_2020_09_13 - Basic nkScripts tutorials.zip
nk_2020_09_06 - First week patch.zip
nk_2020_08_30 - First release.zip