renderer-tutorial/README.md

50 lines
1.6 KiB
Markdown

# renderer-tutorial
This softwre aims to be an OpenGL renderer written in Haskell following the
OpenGL tutorial by The Cherno
(<https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2>).
## Important notes
There are some major deviations from the tutorial setup here as follows:
* Code base is entirely written in Haskell, not C++
* Instead of GLFW with GLEW I use SDL2 out of familiarity
* Shaders are actually split into files per type, since I'mn ot willing to
unleash Haskell list magic
* Since I am using the OpenGL core profile from the start there is also a
vertex array creation call present from the start.
* I don't have not found a suitable GUI library, so all things interactive are
done through input events.
I leave as many helpful comments as possible throughout the code, so feel free
to peruse it.
## Mapped input events
### Keyboard
To switch to a scene, press one of the buttons below, To return to the Menu,
press `Escape`.
## `F1` - Colour changer
Use the keys `1` through `4` to increase the values of R, G, B or A of the
background colour. Press `Left Shift` and the number key to decrease it.
## `F2` - Textured quads
Use keys `1` and `2` to switch between the textured quads, move them forward on
the x and y axis by pressing `X` and `Y` respectively or backward using
`Left Shift` and the appropriate key.
## `F3` - Textured quads batched statically
Move the quads forward on
the x and y axis by pressing `X` and `Y` respectively or backward using
`Left Shift` and the appropriate key.
## `F4` - Textured quads batched dynamically
No interaction.