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 ad1e3579e8 updated readme 2020-08-11 04:12:30 +02:00
res finished episode 19. episode 18 was theory only 2020-05-23 14:08:34 +02:00
src finished episode 23 2020-08-10 15:09:23 +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 updated readme 2020-08-11 04:12:30 +02:00
Setup.hs init 2020-05-15 20:04:18 +02:00
renderer-tutorial.cabal add new dependency 2020-08-10 12:49:57 +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

  • 1, 2: Switch input focus between the two displayed objects
  • X/Shift+X: Move the focused object right/left
  • Y/Shift+Y: Move the focused object up/down