https://github.com/ad-si/brillo
Painless 2D vector graphics, animations, and simulations powered by GLFW (Fork of gloss)
https://github.com/ad-si/brillo
2d animation game-engine glfw graphics raster render simulation vector
Last synced: 6 months ago
JSON representation
Painless 2D vector graphics, animations, and simulations powered by GLFW (Fork of gloss)
- Host: GitHub
- URL: https://github.com/ad-si/brillo
- Owner: ad-si
- Created: 2024-11-22T11:35:06.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-01-18T21:49:34.000Z (9 months ago)
- Last Synced: 2025-04-30T07:53:29.730Z (6 months ago)
- Topics: 2d, animation, game-engine, glfw, graphics, raster, render, simulation, vector
- Language: Haskell
- Homepage: https://hackage.haskell.org/package/brillo
- Size: 9.42 MB
- Stars: 38
- Watchers: 2
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Brillo
Brillo hides the pain of drawing simple vector graphics and raster images
behind a nice data type and a few display functions.
![]()
![]()
![]()
## Example
Getting something on the screen is as easy as:
```hs
import Brillomain = display
(InWindow "Nice Window" (200, 200) (10, 10))
white
(Circle 80)
```Explore and run the [example projects](./brillo-examples/README.md)
with [stack](http://haskellstack.org):```sh
stack run brillo-boids
```## Usage
Once the window is open you can use the following:
- Quit
- esc-key
- Move Viewport
- arrow keys
- left-click drag
- Zoom Viewport
- page up/down-keys
- control-left-click drag
- right-click drag
- mouse wheel
- Rotate Viewport
- home/end-keys
- alt-left-click drag
- Reset Viewport
- 'r'-key## More
- Animations and simulations can be constructed similarly
using the `animate` and `simulate` functions
- Games with user input can be constructed with the `play` function.
- See the [brillo-examples](./brillo-examples/README.md) directory for more.## Installation
Install necessary native dependencies like this:
### Fedora
```sh
sudo dnf install glfw-devel libXxf86vm-devel
```### Arch
```sh
sudo pacman -S glfw libxxf86vm
```## Contributing
Contributions are very welcome!
Please test that all the `brillo-examples` still work
before submitting your pull request.## History
This library is a fork of [gloss](https://github.com/benl23x5/gloss)
and improves upon it in several ways.
Check out the [CHANGELOG](./CHANGELOG.md) for more details.