OpenGL Terrain
OpenGL C++ multi-threaded infinite terrain.

For a Graphics Programming assignment, I made a mini C++ engine that uses a custom opengl renderer. It makes use of glfw for the windowing, and glad for loading opengl. The engine is capable of loading in obj models and rendering custom meshes. Using this I created an infinite terrain generator, that has a rising/setting sun, and fog hiding the edges of the currently drawn terrain. Chunks are generated using octaved perling noise, asynchronously on worker threads from a simple threadpool. Once a chunk is generated completions are sent to the main thread through a spsc mailbox, for the opengl resource creation/upload. The fog and Sun make use of glsl shaders. The lighting implemented is Blinn–Phong, it also implements specular hightlights, normal maps, displacement maps.