Architecture

mogemimi edited this page Jun 18, 2017 · 13 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 10 and higher
  • Direct3D 11 and 11.1
  • Direct3D 12 (preliminary)
  • OpenGL 4
  • Metal

Build requirements

  • Xcode 8.3+ (Apple LLVM version 8.1.0)
  • Visual Studio 2017+
  • 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
  • Cocoa + Metal
  • 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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.