Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/csnewman/go-gfx

Cross-platform graphics framework for Go
https://github.com/csnewman/go-gfx

Last synced: 5 days ago
JSON representation

Cross-platform graphics framework for Go

Awesome Lists containing this project

README

        

# go-gfx


Cross-platform graphics framework for Go.

> [!WARNING]
> Work in progress.

## Structure

The repository contains the following packages:

- `gfx` - User facing API. Will eventually be stable.
- `hal` - Internal hardware abstraction layer. Expect breaking changes.
- `internal/`
- `appkit` - macOS windowing backend.
- `metal` - Metal rendering backend.
- `vulkan` - Vulkan rendering backend.
- `windows` - Windows windowing backend.

## Platforms

| | macOS | Linux | Windows | iOS | Android | Web |
|-----------|---------------------------|-----------------------|--------------------------|-----|---------|-----|
| Windowing | 🏗️ AppKit | ⌛ Wayland ⌛ X11 | 🏗️ | 💤 | 💤 | 💤 |
| Rendering | 🏗️ Metal 🏗 Vulkan | ⌛ Vulkan | 🏗️ Vulkan
💤 DX12 | 💤 | 💤 | 💤 |

✅ = Supported.
🏗️ = Work in progress.
⌛ = Future.
💤 = No near term plans.

Platforms not listed here, such as those with licensing restrictions, can be supported by implementing the `hal` layer.
This allows you to benefit from the `gfx` abstraction and a unified codebase.