Check out the live WebGL/WebAssembly Samples!
Supported Platforms
- Operating System: Windows (x64), macOS, iOS, Linux (x64), WebAssembly, Android (wip).
- Compilers: vs2017+, Clang 6+, Apple LLVM 9+, Gcc 7+, emcc 2.0.
- Rendering Backends: Direct3D11, OpenGL3.1+, OpenGLES3+, WebGL 2.0, Metal, Vulkan (wip).
- Shader Langauges: HLSL Shader Model 3.0+, GLSL 330+, Metal, SPIR-V.
Features
- Lightweight: Minimalistic, simple apis, shallow call stacks.
- Data-Oriented: Instruction and data cache friendly design for optimal performance.
- Multithreaded: Async render, physics, audio and entity component system.
- Low-level abstractions: Input, gamepad, timers, threads, window, os, file system, etc.
- Live-reloading: Dynamically reload c++, shaders and render pipleines.
- Ecs: Entity component system and root motion animation system.
- Pmfx: Scriptable renderer, shader, compute and post-processing system.
- Tools: Graphical editor, mesh optimiser, volume texture / sdf generator.
- Build Pipeline: project generation, compilation, asset building and packaging.
- Examples: 40+ samples and unit tests.
- Example Game: Dr. Scientist is a demo game using pmtech.
- Visit the wiki for more information.
Usage
- Take a look at the Building instructions to get started.
- All features in pmtech are demonstrated and unit tested through examples.
Media
 Dr. Scientist. - an example game with root motion animation and kinematic physics character controller
Dr. Scientist. - an example game with root motion animation and kinematic physics character controller
 Global Illumination + Temporal Anti-Aliasing.
Global Illumination + Temporal Anti-Aliasing.
 Area Lights.
Area Lights.
 Subsurface Scattering.
Subsurface Scattering.
 Signed Distance Field Shadows.
Signed Distance Field Shadows.
 Scriptable Renderer. 100 Lights using Forward, Deferred or Z-Prepass.
Scriptable Renderer. 100 Lights using Forward, Deferred or Z-Prepass.
 Scriptable Post-Processing. Ray Marched Menger Sponges, Depth of Field, Bloom.
Scriptable Post-Processing. Ray Marched Menger Sponges, Depth of Field, Bloom.
 Stencil Shadow Volumes.
Stencil Shadow Volumes.
 64k Data-Oriented Entities, Multiple Shadow Maps, Texture Arrays.
64k Data-Oriented Entities, Multiple Shadow Maps, Texture Arrays.
 Vertex Stream Out, Instanced Skinning, PBR, Oren Nayar, Cook Torrence.
Vertex Stream Out, Instanced Skinning, PBR, Oren Nayar, Cook Torrence.
 Directional, spot and point light shadows.
Directional, spot and point light shadows.