Writing an OpenGL renderer based on the OpenGL tutorial series by The Cherno (https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2)
Go to file
nek0 055a12e94f finished episode 26 2020-08-29 07:13:49 +02:00
res finished episode 19. episode 18 was theory only 2020-05-23 14:08:34 +02:00
src finished episode 26 2020-08-29 07:13:49 +02:00
.gitignore get actual triangle on screen 2020-05-17 06:40:30 +02:00
CHANGELOG.md init 2020-05-15 20:04:18 +02:00
LICENSE init 2020-05-15 20:04:18 +02:00
README.md finished episode 24 2020-08-29 04:45:51 +02:00
Setup.hs init 2020-05-15 20:04:18 +02:00
renderer-tutorial.cabal finished episode 26 2020-08-29 07:13:49 +02:00
shell.nix add new dependency 2020-08-10 12:49:57 +02:00

README.md

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

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.