Architecture

mogemimi edited this page Mar 30, 2016 · 10 revisions

Concept

The goal of this project is not "write once, run anywhere" but different approaches to multi-platform development of game applications.

Architecture Overview

Supported platforms

Pomdog is available on the following platforms:

  • Linux
  • Mac OS X
  • Windows Desktop (OpenGL, DirectX 11 and DirectX 12)

Runtime requirements

  • Mac OS X 10.11 and higher
  • Windows 8 and higher
  • Direct3D 11 and 11.1
  • Direct3D 12 (preliminary)
  • OpenGL 4

Build requirements

  • Xcode 7.3+ (Apple LLVM version 7.3)
  • Visual Studio 2015+
  • Python 2.7 (Python 3 is not supported yet, for running the GYP)

Dependencies

Build tools

  • GYP (Generate Your Projects)

Compile-time and runtime dependencies

  • zlib
  • libpng
  • GLEW (for Linux, X11 and Windows Desktop + OpenGL)

External runtime dependencies

  • RapidJSON
  • stb
  • UTF8-CPP

Dependencies to compile and run the unit tests

  • iutest

Supported backends

Mac OS X

  • Cocoa + OpenGL 3.3/4.1
  • Audio: OpenAL
  • (WIP) Gamepad: IOKit (IOHIDManager)
  • (WIP) Audio: CoreAudio/AudioUnit Toolkit

Windows Desktop (Win32)

  • Win32 + OpenGL 3.3/4.1
  • Win32 + Direct3D 11
  • (WIP) Win32 + Direct3D 12
  • (WIP) Gamepad: DirectInput 8
  • (WIP) Gamepad: XInput
  • Audio: XAudio

Linux

  • X11 + OpenGL 3.3/4.1
  • Audio: OpenAL
  • (WIP) Gamepad: Linux kernel
  • (WIP) Qt + Ubuntu SDK

Windows Store App/Universal Windows App

  • (WIP) Universal Windows Apps
  • (WIP) WinRT + Direct3D 11
  • (WIP) WinRT + Direct3D 12

Supported third-party editors (experimental features)

  • MagicaVoxel
  • Spine
  • TexturePacker
  • LibGDX Hiero