renderer-tutorial/README.md

50 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2020-05-18 01:24:59 +00:00
# renderer-tutorial
2020-05-17 04:48:24 +00:00
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>).
2020-05-17 19:27:35 +00:00
## Important notes
2020-05-17 04:48:24 +00:00
There are some major deviations from the tutorial setup here as follows:
* Code base is entirely written in Haskell, not C++
2020-05-17 08:59:15 +00:00
* Instead of GLFW with GLEW I use SDL2 out of familiarity
2020-05-18 01:24:59 +00:00
* Shaders are actually split into files per type, since I'mn ot willing to
2020-08-09 19:43:04 +00:00
unleash Haskell list magic
2020-05-17 19:27:35 +00:00
* Since I am using the OpenGL core profile from the start there is also a
2020-08-09 19:43:04 +00:00
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.
2020-05-17 04:48:24 +00:00
I leave as many helpful comments as possible throughout the code, so feel free
to peruse it.
2020-08-11 02:12:30 +00:00
## Mapped input events
### Keyboard
2020-08-29 05:19:34 +00:00
To switch to a scene, press one of the buttons below, To return to the Menu,
press `Escape`.
2020-08-29 02:41:23 +00:00
## `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.
2020-08-29 05:18:14 +00:00
## `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.
2020-08-29 20:13:25 +00:00
## `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.