Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Excurs1ons/PrismaEngine

Repository files navigation

Prisma Engine

License: MIT Platform Build Status Android APK CodeWiki DeepWiki Zread Mintlify

Prisma Engine is a cross-platform 3D game engine built with modern C++20, focusing on high-performance rendering and modern graphics architectures.

中文文档 | English

Current Status: CoreCLR C# scripting functional. SoA entity pool with 1M virtual capacity. Android Vulkan runtime production-ready. Detailed roadmap: TODO.md — Prioritized task list with 4D decision framework. Last Updated: 2026-06-04

Architecture Highlights

Driver-Device Pattern

flowchart TD
    subgraph App[Application Layer]
        A1[Template2D]
        A2[Game]
        A3[Editor]
    end
    
    subgraph Dev[Device Layer]
        D1[AudioDevice]
        D2[InputDevice]
        D3[RenderSystem]
    end
    
    subgraph Drv[Driver Interface]
        I1[IAudioDriver]
        I2[IInputDriver]
        I3[IRenderDevice]
    end
    
    subgraph Plat[Platform Implementation]
        P1[Windows: XAudio2/RawInput/DX12]
        P2[Android: AAudio/GameActivity/Vulkan]
        P3[Cross: SDL3 audio/input/window]
    end
    
    App --> Dev
    Dev --> Drv
    Drv --> Plat
Loading

SoA Entity Pool (Structure of Arrays)

flowchart LR
    subgraph VM["Virtual Memory Block (1M entities max)"]
        TA["Transform SoA<br/>Buffer A<br/>posX, posY<br/>rotation<br/>scaleX, scaleY"]
        TB["Transform SoA<br/>Buffer B<br/>posX, posY<br/>rotation<br/>scaleX, scaleY"]
        TR["Render SoA<br/>active, generation<br/>colorRGBA<br/>sizeW, sizeH"]
    end
    TA <-->|"ping-pong swap"| TB
Loading

CoreCLR C# Scripting

flowchart LR
    subgraph Cpp["C++ Engine"]
        H[CoreCLRHost]
        E[ScriptEngine]
        A[PrismaAPI<br/>18 fns]
        R[Engine::Run]
    end
    
    subgraph DotNet["CoreCLR Runtime"]
        HR[hostfxr<br/>self-contained]
        Core[PrismaEngine.Core.dll]
        Game[GameScripts.dll]
    end
    
    subgraph CS["C# Game"]
        N[Node<br/>entity=position]
        S[Script<br/>OnCreate/OnUpdate]
        W[World<br/>SceneInit]
    end
    
    H --> HR
    E --> A
    R --> H
    HR --> Core
    Core --> Game
    Game --> N
    Game --> S
    Game --> W
Loading

CI/CD Status

Target Platform Status Trigger
CI Windows CI Push / PR
CI Android CI Push / PR
CI Linux CI Push / PR
Engine Windows Engine Push / Manual
Editor Windows Editor Push / Manual
Runtime Windows Runtime Push / Manual
Release All Release Tag (v*.*.*)
SDK (ARM64) Linux Release SDK Tag (v*.*.*)

Module progress tracked in MODULE_PROGRESS.md. Task priorities in TODO.md.

Quick Start

Prisma Engine uses CMake FetchContent for dependency management by default - no manual library installation required.

Windows

# Clone repository
git clone --recursive https://github.com/Excurs1ons/PrismaEngine.git
cd PrismaEngine

# Build with CMake Presets
cmake --preset windows-x64-debug
cmake --build build/windows-x64-debug --parallel

Linux

# Install dependencies (Ubuntu/Debian)
sudo apt-get install libx11-dev libxrandr-dev libvulkan-dev

# Build
cmake --preset linux-x64-debug
cmake --build build/linux-x64-debug --parallel

Android

# Open in Android Studio
# Path: projects/android/PrismaAndroid
# Dependencies download automatically via CMake FetchContent

Documentation

Core Features

  • Modern C++20: Utilizing concepts, coroutines, and designated initializers.
  • Smart Dependency Management: No manual library installation required; CMake handles everything.
  • Unified Rendering API: Write once, run on DX12 or Vulkan.
  • Android Deep Optimization: Zero-latency input via GameActivity and high-performance Vulkan rendering path.
  • CoreCLR Scripting: Full C# scripting with SoA entity pool and self-contained deployment.
  • MCP Integration: Full Model Context Protocol support for AI Agent control (17 tools, hash delta tracking, double transport).
  • WebUI Editor: Browser-based full editor with real-time scene viewport, hierarchy, inspector and console.

License

MIT License - see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Contributors