TiaoCarrera / pmtech

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.
  • Low-level abstractions: Input, gamepad, timers, threads, window, os, file system, etc.
  • Lightweight: Simple apis, shallow call stacks, minimal dependencies.
  • Data-Oriented: Instruction and data cache friendly code for optimal performance.
  • 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, compute and post-processing system using json.
  • 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.
  • Future Plans: Direct3D12, Vulkan.
  • 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.

License:MIT License


Languages

Language:C++ 68.8%Language:Python 13.4%Language:HLSL 6.2%Language:Objective-C++ 5.4%Language:C 5.4%Language:Lua 0.7%Language:Shell 0.1%Language:Java 0.0%Language:Batchfile 0.0%