Skip to content

Kenji245/pmtech

 
 

Repository files navigation

pmtech

Build Status Build Status License: MIT

Follow work in progress: trello

A lightweight code base with powerful features that can be used for games and real-time graphics applications. This project focuses on data-oriented and multithreaded code with minimalistic procedural api's, sticking to orthodox c++ principles.

Features

  • Cross Platform: Windows, MacOS, Linux, iOS, Android (wip).
  • Supported Compilers: vs2017, Clang 6, Apple LLVM 9, Gcc 7.
  • Rendering Backends: Direct3D11, OpenGL3.1+, OpenGLES3+, Metal (wip).
  • Lightweight: Simple apis, shallow call stacks, minimal dependencies.
  • Data-Oriented: Instruction and data cache friendly code for optimal performance.
  • Fast: Handle large sceens with thousands or hundreds of thousands entities at fast framerates.
  • Multithreaded: Async render, physics, audio and entity component system.
  • Ecs: Entity component system and root motion animation system.
  • Pmfx: High level data driven renderer, shader and post-processing system using json.
  • Flexible: pmtech does not force you into any fixed way of working, you can configure it to run however you want and bring along any rendering strategy you like (forward, deferred, fwd+ etc).
  • Low-level abstractions: Input, gamepad, timers, threads, window, os, file system, etc.
  • Hot loading: Reload configs, shaders, models and textures in real time for rapid development.
  • Tools: Graphical editor, volume texture / signed distance field generator.
  • Examples: Show how to use the apis from basic usage to rendering techniques (forward, deferred, subsurface scattering, signed distance fields, volume textures), audio, physics and more.
  • Build Pipeline: IDE project generation, Binary model and skeleton format, texture compression, platform agnostic shader compilation.
  • Visit the wiki for more information.

Usage

Take a look at the getting started instructions.

Media

Renderer

Post Processing

Vertex Stream Out

About

Lightweight, data-oriented game engine for pc, mac, linux, ios and android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 70.1%
  • Python 13.6%
  • C 5.9%
  • HLSL 5.3%
  • Objective-C++ 4.3%
  • Lua 0.7%
  • Other 0.1%