Introduction#

Supported rendering backends#

OpenGL ES, DirectX 12, WebGPU and WebGL are opt-in: IGL_WITH_OPENGLES, IGL_WITH_D3D12, IGL_WITH_WEBGPU and IGL_WITH_WEBGL default to OFF.

Supported platforms#

  • Android

  • iOS

  • Linux

  • macOS

  • Windows

  • WebAssembly

Shading languages#

Shaders can be written in GLSL, MSL, HLSL or SparkSL, and in Slang. A Slang shader is written once and compiled ahead of time to SPIR-V, MSL, HLSL, WGSL and GLSL, so the same source runs on every backend. The generated C++ headers are checked in, so building IGL never runs slangc.

Samples#

Three desktop samples and over thirty render sessions ship with IGL, including two written entirely in Slang. They are listed in getting-started.md and built by default (IGL_WITH_SAMPLES).