ArcheGraphics was originally designed to develop a graphics engine based on WebGPU. Therefore, the design goal of Arche-cpp is cross-platform versatility. This project is a heterogeneous project, aiming to design an engine based on Metal and Swift under the Apple platform. This design is mainly for mobile devices, especially AR scenarios, and aims to highlight AR-based user interaction.
This architecture of project is very similar to Unity's component entity pattern (not ECS). Based on entity and component, it is easy to combine other open-source ability
This repository contains submodules for external dependencies, so when doing a fresh clone you need to clone recursively:
git clone --recursive https://github.com/ArcheGraphics/SwiftArche.git
Existing repositories can be updated manually:
git submodule init
git submodule update
- ARKit integration
- PhysX
- Cascade Stable ShadowMap
- PBR Rendering (roghness-metallic, clearcoat)
- HDR IBL Lighting and baker (pure compute shader)
- Fog (Linear, Exponential, ExponentialSquared)
- ACES ToneMapping with auto luminance exposure
- Skinned Animation and Morph
In order to speed up the speed of git clone, assets are not introduced in the way of submodule. Since this project mainly builds and tests on the Mac, and then develops on the iOS platform, a series of assets are required for Mac testing:
- glTF-Sample-Models
- other assets include hdr, texture and others downloads from: