Skip to content

marwan562/CguP

Repository files navigation

CguP - Concurrent Go Rendering Engine

Go License: MIT

A modern, data-oriented rendering engine written in Go, powered by Vulkan. Build for learning, research, and high-performance indie games.

ContributingArchitectureRoadmap

Vision

CguP aims to demonstrate how Go's currency primitives (Goroutines, Channels) can be effectively used in a high-performance graphics engine. We prioritize architecture and parallelism over raw single-threaded speed.

Features (Planned)

  • 🚀 Vulkan Backend: Modern, explicit GPU control.
  • 🧵 Concurrent Architecture: Parallel command recording and asset loading.
  • 🧩 Modular Design: Clear separation of Core, Platform, and GPU layers.
  • 📄 Render Graph: Automatic resource barrier management and pass reordering.

Getting Started

Prerequisites

  • Go 1.25+
  • Vulkan SDK (Required for MoltenVK on macOS)

Running the Demo

# On macOS
go mod tidy
CGO_CFLAGS="-I/opt/homebrew/include" CGO_LDFLAGS="-L/opt/homebrew/lib" go run cmd/demo/main.go

Structure

  • engine/core: Basic utilities (Logging, Config).
  • engine/platform: Windowing and Input (GLFW).
  • engine/gpu: Vulkan wrappers and context management.
  • pkg/compute: (Legacy) CPU-bound entity update prototypes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages