Volkano-gl is an interactive 3D simulation scene of a volcano eruption created from scratch using C++ and OpenGL as a University Project.
The purpose of this project is to demonstrate a basic understanding of modern OpenGL and the computer graphics pipeline.
Please keep in mind that the decision not to use CMake, Premake, or any other build system generator was made for simplicity reasons and coursework requirements.
In the example below you can see how to use the OpenGL-Core
static library to create an OpenGL app and load a 3D model in the scene.
#include "GLCore.h"
int main()
{
auto app = new glcore::GLApplication(1280, 720, "MyApp");
if (!app->IsContextInitialised())
{
return -1;
}
auto model = app->LoadModel("assets/models/shapes/square.fbx");
if(model)
model->Move(glm::vec3(0.0f, 0.0f, 20.0f));
app->Run();
return 0;
}
The project contains a Visual Studio 2022 solution with the following projects associated:
OpenGL-Core
a static library that has the OpenGL implementationSandbox
an executable that implements the static library
All the external code should be located in a directory called dependencies
placed in the OpenGL-Core
project directory.
The dependencies structure should look like this
volkano-gl.sln
OpenGL-Core/dependencies
include/
assimp/
glad/
GLFW/
glm/
imgui/
KHR/
stb/
lib/
glfw3.lib
assimp-vc143-mtd.lib
c/
stb_image.cpp
glad.c
Project Dependencies: