{"id":22645752,"url":"https://github.com/voldien/opengl-samples","last_synced_at":"2026-04-27T12:02:28.786Z","repository":{"id":267116608,"uuid":"310082019","full_name":"voldien/OpenGL-Samples","owner":"voldien","description":"OpenGL Samples - Basic to Advanced","archived":false,"fork":false,"pushed_at":"2025-11-20T11:17:07.000Z","size":3311,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-20T11:33:09.182Z","etag":null,"topics":["cpp","graphics","graphics-programming","opengl","opengl-api","opengl-samples"],"latest_commit_sha":null,"homepage":"https://www.codeintrinsic.com/computer-graphic-programming-showcase/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voldien.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-11-04T18:12:47.000Z","updated_at":"2025-11-20T10:18:54.000Z","dependencies_parsed_at":"2024-12-08T13:38:01.537Z","dependency_job_id":"8af6539b-a6e0-47d9-be02-b3a910796b4f","html_url":"https://github.com/voldien/OpenGL-Samples","commit_stats":null,"previous_names":["voldien/opengl-samples"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/voldien/OpenGL-Samples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voldien%2FOpenGL-Samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voldien%2FOpenGL-Samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voldien%2FOpenGL-Samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voldien%2FOpenGL-Samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voldien","download_url":"https://codeload.github.com/voldien/OpenGL-Samples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voldien%2FOpenGL-Samples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32335297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"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":["cpp","graphics","graphics-programming","opengl","opengl-api","opengl-samples"],"created_at":"2024-12-09T06:07:10.881Z","updated_at":"2026-04-27T12:02:28.774Z","avatar_url":"https://github.com/voldien.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Linux Build](https://github.com/voldien/opengl-samples/actions/workflows/linux-build.yml/badge.svg)](https://github.com/voldien/opengl-samples/actions/workflows/linux-build.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n# OpenGL Sample Repository - Work In Progress\n\n![github_opengl_thumbnail](https://github.com/user-attachments/assets/21da8ec2-0478-4eb4-af75-07ee0f0da078)\n\nA collection of OpenGL Samples, work in progress, for personal educational purposes.\n\n## CLI - Command Line Options\n\n```bash\nUsage:\n  OpenGL Sample: GLSample [OPTION...]\n\n GLSample options:\n  -h, --help                   helper information.\n  -d, --debug                  Enable Debug View. (default: true)\n  -t, --time arg               How long to run sample (default: 0)\n  -f, --fullscreen             Run in FullScreen Mode\n  -v, --vsync                  Vertical Blank Sync\n  -g, --opengl-version arg     OpenGL Version (default: -1)\n  -F, --filesystem arg         FileSystem (default: .)\n  -r, --renderdoc              Enable RenderDoc\n  -W, --width arg              Set Window Width (default: -1)\n  -H, --height arg             Set Window Height (default: -1)\n  -D, --display arg            Display (default: -1)\n  -R, --dynamic-range arg      Set Dynamic Range ldr,hdr16,hdr32 (default: \n                               hdr16)\n  -m, --multi-sample arg       Set MSAA (MultiSampling) (default: 0)\n      --super-multisample arg  Set Super MultiSampling MSAA (default: 0)\n  -p, --use-postprocessing     Use Post Processing (default: true)\n  -C, --disable-colorspace     Use Color Space Convertion\n  -s, --glsl-version arg       Override glsl version from system \n                               (110,120,130,140,150,330...) (default: -1)\n```\n\n## Graphic Based Samples\n\n### [**Triangle**](Samples/Triangle)\n\n![Triangle](https://github.com/voldien/OpenGL-Samples/assets/9608088/d85a24d2-97fb-4faa-a7ef-e71bdd979444)\n\n### [**Texture**](Samples/Texture)\n\n![Texture](https://github.com/voldien/OpenGL-Samples/assets/9608088/a87834cc-452e-41e0-8ea2-3de881780823)\n![Texture](https://github.com/voldien/OpenGL-Samples/assets/9608088/7bdcaa6f-c0de-4030-b344-d6f180dc6e7b)\n\n### [**Point Lights**](Samples/PointLight)\n\n### ![PointLights](https://github.com/voldien/OpenGL-Samples/assets/9608088/dcd67197-4dc9-4333-ae6f-9fff9f7eb317)\n\n### [**Normal Mapping**](Samples/NormalMap)\n\n### [**SkyBox Cubemap**](Samples/Skybox)\n\n![SkyboxPanoramic](https://github.com/voldien/OpenGL-Samples/assets/9608088/41cacd12-5782-46bd-b06b-dc3725f21b3d)\n\n### [**SkyBox Panoramic**](Samples/Skybox)\n\n![SkyboxPanoramic](https://github.com/voldien/OpenGL-Samples/assets/9608088/41cacd12-5782-46bd-b06b-dc3725f21b3d)\n\n### [**Fog**](Samples/Fog)\n\n![Fog](https://github.com/user-attachments/assets/f296f2b3-fed6-457c-9c87-5c7a610f4de3)\n\n### [**Simple Reflection**](Samples/SimpleReflection/)\n\n### [**Irradiance**](Samples/Irradiance/)\n\n![Irradiance](https://github.com/user-attachments/assets/288bd202-ef64-4acb-a8dc-1ab65e9dc3df)\n\n### [**Instance**](Samples/Instance)\n\n![Instance](https://github.com/voldien/OpenGL-Samples/assets/9608088/8fb4adca-cd99-45c9-9811-38e727b6685b)\n\n### [**SubSurface Scattering**](Samples/SubSurfaceScattering)\n\n![Subsurface Scattering](https://github.com/voldien/OpenGL-Samples/assets/9608088/062f5af0-898e-4c1b-91ab-38975b898e0c)\n![Subsurface Scattering](https://github.com/voldien/OpenGL-Samples/assets/9608088/ac752bfc-cc72-49ae-a9d6-2c729cd07c2d)\n\n### [**Normal**](Samples/Normal)\n\n![Normal](https://github.com/user-attachments/assets/d06d37ca-71d3-4346-91ef-266bc043a4f9)\n\n### [**Blinn - Phong**](Samples/PhongBlinn/)\n\n![PhongBlinn](https://github.com/voldien/OpenGL-Samples/assets/9608088/e14e4035-1639-4532-a316-65c8c879abf9)\n![PhongBlinn](https://github.com/voldien/OpenGL-Samples/assets/9608088/02ae2bac-974e-4270-b80f-a59dba260160)\n\n### [**Terrain**](Samples/Terrain/)\n\n![Terrain](https://github.com/user-attachments/assets/2bf63a11-dc83-4c42-b823-7d45bab0eabd)\n\n### [**FrustumCulling**](Samples/Frustum/)\n\n![FrustumCulling](https://github.com/user-attachments/assets/41275f2f-9a65-4e56-81ac-956e758b62bd)\n\n### [**Shadow Map**](Samples/ShadowMapping/)\n\n![BasicShadowMapp](https://github.com/user-attachments/assets/f4596f70-1f89-4595-912c-dd3848c0788c)\n\n### [**Shadow Map PCF**](Samples/ShadowMapping/)\n\n![BasicShadowMap PCF](https://github.com/user-attachments/assets/f98cab19-afc2-454b-b843-c15aa821821f)\n![BasicShadowMap PCF](https://github.com/user-attachments/assets/cae348e3-9c2a-4443-8119-02f018fc0109)\n\n### [**Point Shadow Light**](Samples/ShadowPointLight/)\n\n![PointLightShadow](https://github.com/user-attachments/assets/daaf91b3-b0ee-4b55-a182-ad326b0e2634)\n![PointLightShadow](https://github.com/user-attachments/assets/db68c736-2fea-4ade-9c6e-3842b4cddf7a)\n\n### [**Shadow Projection**](Samples/ProjectedShadow/)\n\n![ProjectedShadow](https://github.com/user-attachments/assets/d1a17f8e-21c5-42e3-8e4a-094bbe3d8a0b)\n\n### [**Shadow Map Variance**](Samples/ShadowVariance/)\n\n### **Shadow Volume**\n\n### [**Tessellation Basic**](Samples/Tessellation/)\n\n### [**MipMap Visual**](Samples/MipMapVisual/)\n\n![MipMapVisual](https://github.com/voldien/OpenGL-Samples/assets/9608088/ea0714f4-4971-42ad-80db-4d567dc29b03)\n\n### [**Multipass**](Samples/MultiPass/)\n\n![AmbientOcclusion](https://github.com/voldien/OpenGL-Samples/assets/9608088/6c156319-7617-43aa-af08-93d709bc07e9)\n\n### [**Deferred Rendering**](Samples/Deferred/)\n\n### [**Ambient Occlusion**](Samples/AmbientOcclusion/)\n\n![AmbientOcclusion](https://github.com/voldien/OpenGL-Samples/assets/9608088/91691104-4c70-4d25-91c0-17cb4bcf38af)\n![AmbientOcclusion](https://github.com/voldien/OpenGL-Samples/assets/9608088/4e8f9d85-b48d-4fc4-816d-632a9bbfd37f)\n![AmbientOcclusion](https://github.com/voldien/OpenGL-Samples/assets/9608088/4df33593-64f3-4a03-87b5-5e9d205642c5)\n![AmbientOcclusion](https://github.com/voldien/OpenGL-Samples/assets/9608088/8ed5a638-2432-4800-8ead-2c5f4881fffc)\n\n### **Physical Based Rendering**\n\n![Physical Based Rendering](https://github.com/user-attachments/assets/4cd3321a-36ea-412c-aa32-f580c2f20fb5)\n![Physical Based Rendering](https://github.com/user-attachments/assets/05a059a0-0502-4cf2-bf9b-ad09d4a93b5d)\n![Physical Based Rendering](https://github.com/user-attachments/assets/87806574-88d5-4bb5-a853-86e082dd9a1f)\n\n\n### [**Panoramic**](Samples/Panoramic/)\n\n![Panoramic](https://github.com/user-attachments/assets/3431b44d-0932-49cb-a96e-7cc6b4bbd8f2)\n![Panoramic](https://github.com/user-attachments/assets/dd618200-ea77-4844-a56f-7b863878864f)\n\n### [**Skinned Mesh**](Samples/SkinnedMesh/)\n\n### [**Simple Ocean**](Samples/SimpleOcean/)\n\n![SimpleOcean](https://github.com/user-attachments/assets/a9a12328-0428-44c6-9f67-3dae211ce358)\n\n### [**Video Playback**](Samples/VideoPlayback/)\n\n## Compute Shader Base Examples\n\n### [**Ray Tracing**](Samples/RayTracing/Ray/)\n\n### [**Game Of Life**](Samples/GameOfLife)\n\n![GameOfLife](https://github.com/voldien/OpenGL-Samples/assets/9608088/5617752d-cd6d-4ceb-9918-f5015565489f)\n\n### [**Mandelbrot**](Samples/Mandelbrot/)\n\n![MandelBrot](https://github.com/user-attachments/assets/e54c7c89-fc88-4048-86f0-92f32cfccc25)\n\n### [**ReactionDiffusion**](Samples/ReactionDiffusion)\n\n### [**Vector Field 2D**](Samples/VectorField2D/)\n\n![VectorField2D](https://github.com/user-attachments/assets/43b3da51-83d6-4b51-ae06-792b01493c2a)\n\n### [**Compute Group Visual**](Samples/ComputeGroupVisual/)\n\n![ComputeGroup](https://github.com/user-attachments/assets/a06d9256-05fa-4e16-9621-e2f7b473c9c5)\n\n### [**Marching Cube**](Samples/MarchingCube/)\n\n![MarchingCube](https://github.com/user-attachments/assets/f748e312-737c-4106-877b-93b59a9778d5)\n![MarchingCube](https://github.com/user-attachments/assets/1d7010b2-f060-4f34-82ae-87ab5e3d09bc)\n\n### [**Rigidbody**](Samples/Rigidbody/)\n\n![RigidBody](https://github.com/user-attachments/assets/74e55eea-8f19-4a80-82b1-e88952334db0)\n\n## PostProcessing Effects\n\n- **Chromatic Aberration**\n\n- **Sobel Edge Detection**\n\n- **Screen Space Ambient Occlusion**\n\n- **Gaussian/Box Blur**\n\n- **Mist Fog**\n\n- **Volumetric Scattering**\n\n![Volumetric](https://github.com/user-attachments/assets/f9be5d9b-46be-4a74-a2e0-6386be0606e1)\n\n![Volumetric](https://github.com/user-attachments/assets/a899f5da-8a9c-46eb-82e3-990f96ff7028)\n\n- **ColorSpace**\n\n- **Pixelate**\n\n- **Grain**\n\n- **Bloom**\n\n- **Contact Shadow**\n\n- **Vignette**\n\n## Required Packages\n\n```bash\nsudo apt-get install pkg-config libsdl2-dev libfreeimage-dev libfmt-dev libglm-dev libgtest-dev googletest mesa-common-dev mesa-utils libopenal-dev libalut-dev\nsudo apt-get install glslang-tools libavcodec-dev libavformat-dev libswscale-dev libavutil-dev binutils-dev libeigen3-dev libglu1-mesa-dev libbz2-dev libzip-dev libogg-dev libopus-dev libvorbis-dev libssl-dev\n```\n\n## Build Instruction\n\n```bash\ngit submodule update --init --recursive\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake\nmake DownloadAsset\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\nModels downloaded from Morgan McGuire's [Computer Graphics Archive](https://casual-effects.com/data)\n\n## Misc Notes\n\n### Force NVIDIA Usage\n\nForce the system to try to use the NVIDIA GPU. This is very useful when using a system with multiple GPUs.\n\n```bash\n__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia program arguments\n```\n\n### Mesa\n\n```bash\nMESA_DEBUG=1\nMESA_GLSL=source\nMESA_SHADER_DUMP_PATH=dump\nINTEL_DEBUG=perf\n```\n\n### Export Build to Target Directory\n\nBuild Asset File\n\n```bash\ntar\n```\n\nSetup Build.\n\n```bash\ncmake .. -DCMAKE_INSTALL_PREFIX=/target -DCMAKE_BUILD_TYPE=Release\n```\n\nInstall\n\n```bash\ncmake --build . --parallel $(nproc --all) --target install ;\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoldien%2Fopengl-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoldien%2Fopengl-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoldien%2Fopengl-samples/lists"}