{"id":25831423,"url":"https://github.com/johnl28/volkano-gl","last_synced_at":"2026-05-30T23:31:46.352Z","repository":{"id":211338597,"uuid":"728855481","full_name":"johnl28/volkano-gl","owner":"johnl28","description":"A 3D Volcano simulation with OpenGL \u0026 C++","archived":false,"fork":false,"pushed_at":"2024-03-07T13:54:33.000Z","size":24849,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-12-21T22:12:54.775Z","etag":null,"topics":["3d-graphics","cpp","glsl","glsl-shaders","graphics-programming","graphics-rendering","opengl3","particle-system","simulation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnl28.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-07T21:02:19.000Z","updated_at":"2024-06-12T01:52:16.000Z","dependencies_parsed_at":"2024-01-30T18:35:37.665Z","dependency_job_id":"e2f6d46b-5125-46c9-b1d4-e03eec61a167","html_url":"https://github.com/johnl28/volkano-gl","commit_stats":null,"previous_names":["johnl28/volkano-gl"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/johnl28/volkano-gl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnl28%2Fvolkano-gl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnl28%2Fvolkano-gl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnl28%2Fvolkano-gl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnl28%2Fvolkano-gl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnl28","download_url":"https://codeload.github.com/johnl28/volkano-gl/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnl28%2Fvolkano-gl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33714033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d-graphics","cpp","glsl","glsl-shaders","graphics-programming","graphics-rendering","opengl3","particle-system","simulation"],"created_at":"2025-02-28T20:33:50.831Z","updated_at":"2026-05-30T23:31:46.338Z","avatar_url":"https://github.com/johnl28.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# volkano-gl\n\n[![image](https://github.com/johnl28/volkano-gl/assets/54412955/42a7de8d-8190-40e3-85f5-084c059a2307)](https://youtu.be/xE3hGuxEgc8?si=KE1upBeNPJQEprD-)\n\n\n\nVolkano-gl is an interactive 3D simulation scene of a volcano eruption created from scratch using C++ and OpenGL as a University Project.\n\nThe purpose of this project is to demonstrate a basic understanding of modern OpenGL and the computer graphics pipeline.\n\nPlease 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.\n\n## Example\nIn 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.\n\n```cpp\n#include \"GLCore.h\"\n\nint main()\n{\n  auto app = new glcore::GLApplication(1280, 720, \"MyApp\");\n  if (!app-\u003eIsContextInitialised())\n  {\n    return -1;\n  }\n\n  auto model = app-\u003eLoadModel(\"assets/models/shapes/square.fbx\");\n  if(model)\n    model-\u003eMove(glm::vec3(0.0f, 0.0f, 20.0f));\n\n  app-\u003eRun();\n\n  return 0;\n}\n```\n\n## Dependencies \u0026 Build\n\nThe project contains a Visual Studio 2022 solution with the following projects associated:\n- ``OpenGL-Core`` a static library that has the OpenGL implementation\n- ``Sandbox`` an executable that implements the static library\n\nAll the external code should be located in a directory called ``dependencies`` placed in the ``OpenGL-Core`` project directory.\n\n\nThe dependencies structure should look like this\n```\nvolkano-gl.sln\n\nOpenGL-Core/dependencies\n  include/\n    assimp/\n    glad/\n    GLFW/\n    glm/\n    imgui/\n    KHR/\n    stb/\n\n  lib/\n    glfw3.lib\n    assimp-vc143-mtd.lib\n\n  c/\n    stb_image.cpp\n    glad.c\n\n```\n\nProject Dependencies:\n- [GLM](https://github.com/g-truc/glm)\n- [GLFW](https://www.glfw.org/)\n- [ASSIMP](https://github.com/assimp/assimp)\n- [stb](https://github.com/nothings/stb)\n- [Glad](https://glad.dav1d.de/)\n- [ImGui](https://github.com/ocornut/imgui)\n\n## Resources Used\n- [Skybox](https://opengameart.org/content/skiingpenguins-skybox-pack)\n- [Volcano Model](https://skfb.ly/oyQOx)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnl28%2Fvolkano-gl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnl28%2Fvolkano-gl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnl28%2Fvolkano-gl/lists"}