https://github.com/unitoftime/glitch
A shader-based rendering library written in Go
https://github.com/unitoftime/glitch
gamedev go golang opengl
Last synced: 8 months ago
JSON representation
A shader-based rendering library written in Go
- Host: GitHub
- URL: https://github.com/unitoftime/glitch
- Owner: unitoftime
- License: mit
- Created: 2021-10-25T12:11:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-25T12:02:49.000Z (over 1 year ago)
- Last Synced: 2025-01-31T08:49:26.554Z (over 1 year ago)
- Topics: gamedev, go, golang, opengl
- Language: Go
- Homepage:
- Size: 1.02 MB
- Stars: 27
- Watchers: 3
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pkg.go.dev/github.com/unitoftime/glitch)
[](https://github.com/unitoftime/glitch/actions/workflows/build.yml)
`Warning: This library is very much a work in progress. But you're welcome to check it out and provide feedback/bugs if you want.`
## Overview
Glitch is a shader based rendering library built on top of OpenGL and WebGL. At a high level, I'd like glitch to be data driven. Shaders are just programs that run on the GPU, so my objective is to make Glitch a platform that makes it easier to do the things that are hard in rendering:
1. Efficiently ordering, moving, and batching data to the GPU
2. Efficiently executing programs on that copied data
## Platform Support
Currently, we compile to:
* Desktop (Windows, Linux)
* Browser (via WebAssembly)
Platforms that I'd like to add, but haven't added or haven't tested:
* Desktop (MacOS - OpenGL is deprecated, I also don't own a mac. So it's hard to test)
* Mobile Apps
* Mobile Browsers
## Usage
You can look at the examples folder, sometimes they go out of date, but I try to keep them working. Because APIs are shifting I don't have definite APIs defined yet.