/kaleido3d

Primary LanguageC++MIT LicenseMIT

Kaleido3D

Introduction

Kaleido3D is a cross-platform graphics library, which provides:

  • Next-Gen Graphics API Agnostic Layer (NGFX) for Metal, Vulkan and DX12
  • Multi-Threaded Rendering
  • GLTF as Internal Mesh Format
  • Experimental Real Time Ray-tracing Support (DXR/RTXVK)

NOTE: This project is heavily under development currently.


Requirements

  • Iris Build System
  • Python 2.7 (x64)
  • Visual Studio 2017+
  • iOS Build Environment (Build iOS App on Windows)
  • NDK 14+
  • Xcode 8+

Wiki

See Wikis

Currently, NGFX headers and sources are generated by an C++11-like IDL compiler (inside iris build toolbox)

See the differences of NGFX implementation across graphics backends here.


Unit Tests

1.Triangle(Basic)

Triangle Screenshot

2.TexturedCube(Basic)

Cube Screenshot

3.Compute Particles(Intermediate)

Compute Sample


Contact

If you have any suggestion, please contact me via email or join the QQ Group to discuss on this project. Framework development discussions and thorough bug reports are collected on Issues.


Donate

ETH Address: 0x47a23630f218D3F7C14A2716fba0383Ecc130Bfc

Credits

ThirdParty Libraries:

  • ZLib (Core)
  • Robin-Map
  • VOLK (Meta loader for Vulkan API )
  • Vulkan Memory Allocator (NGFX)
  • Glslang (ShaderCompiler)
  • SPIRV-CROSS (ShaderCompiler)
  • SPIRV-TOOLS (ShaderCompiler)
  • LLVM (Reflection)
  • Clang (Reflection)
  • GoogleV8 (Script)
  • GoogleTest (Unit Test)
  • imobiledevice (MobileDevice)