{"id":15027766,"url":"https://github.com/knightcrawler25/glsl-pathtracer","last_synced_at":"2025-05-15T14:08:42.447Z","repository":{"id":33711858,"uuid":"156878562","full_name":"knightcrawler25/GLSL-PathTracer","owner":"knightcrawler25","description":"A toy physically based GPU path tracer (C++/OpenGL/GLSL)","archived":false,"fork":false,"pushed_at":"2024-02-09T17:38:14.000Z","size":127303,"stargazers_count":1948,"open_issues_count":8,"forks_count":188,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-15T14:08:34.889Z","etag":null,"topics":["bsdf","bvh","disney","glsl","gpu","linux","opengl","path","path-tracer","path-tracing","pathtracer","pathtracing","ray","ray-tracing","raytracer","tracer","tracing","windows"],"latest_commit_sha":null,"homepage":"","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/knightcrawler25.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}},"created_at":"2018-11-09T15:10:23.000Z","updated_at":"2025-05-13T13:43:25.000Z","dependencies_parsed_at":"2023-01-15T02:15:35.015Z","dependency_job_id":"a07174c3-e505-499c-8ce2-4eea41c03932","html_url":"https://github.com/knightcrawler25/GLSL-PathTracer","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightcrawler25%2FGLSL-PathTracer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightcrawler25%2FGLSL-PathTracer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightcrawler25%2FGLSL-PathTracer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knightcrawler25%2FGLSL-PathTracer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knightcrawler25","download_url":"https://codeload.github.com/knightcrawler25/GLSL-PathTracer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254355335,"owners_count":22057354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bsdf","bvh","disney","glsl","gpu","linux","opengl","path","path-tracer","path-tracing","pathtracer","pathtracing","ray","ray-tracing","raytracer","tracer","tracing","windows"],"created_at":"2024-09-24T20:07:01.025Z","updated_at":"2025-05-15T14:08:37.418Z","avatar_url":"https://github.com/knightcrawler25.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nGLSL-PathTracer\n==========\nA physically based path tracer that runs in a GLSL fragment shader.\n\n![Jinx](./screenshots/Jinx.jpg)\n\n![Tropical Island](./screenshots/Tropical_Island.jpg)\n\nFeatures\n--------\n- Unidirectional path tracer\n- Two-level BVH for instancing\n- Disney BSDF\n- Texture mapping (Albedo, Metallic-Roughness, Normal, Emission)\n- Analytic lights (Spherical, Rectangular, Directional)\n- Image based lighting\n- Multiple importance sampling\n- Tile rendering\n- OpenImageDenoise\n- Stochastic alpha testing\n- MagicaVoxel style homogeneous volumes\n- GLTF/GLB support (In progress)\n\nBuild Instructions\n--------\nPlease see INSTALL-WIN.txt for the build instructions for Windows and INSTALL-LINUX.txt for Linux\n\nSample Scenes\n--------\nA couple of sample scenes are provided in the repository. Additional scenes can be downloaded from here:\nhttps://drive.google.com/file/d/1UFMMoVb5uB7WIvCeHOfQ2dCQSxNMXluB/view\n\nGallery\n--------\n![Monster](./screenshots/Monster.jpg)\n--------\n![WW2](./screenshots/ww2.jpg)\n--------\n![RenderMan Swatch](./screenshots/Renderman_swatch.jpg)\n--------\n![Dragon](./screenshots/dragon.jpg)\n--------\n![Stormtrooper](./screenshots/stormtrooper.jpg)\n--------\n![Panther](./screenshots/panther.jpg)\n--------\n![Crown](./screenshots/crown.jpg)\n--------\n![Mustang](./screenshots/Mustang.jpg)\n--------\n![Mustang_Red](./screenshots/Mustang_Red.jpg)\n--------\n![Hyperion](./screenshots/hyperion.jpg)\n--------\n![Ajax](./screenshots/ajax_materials.jpg)\n--------\n![Dining Room](./screenshots/DiningRoom.jpg)\n--------\n![Rank3PoliceUnit](./screenshots/rank3police_color_corrected.jpg)\n--------\n![Staircase](./screenshots/staircase.jpg)\n--------\n![Substance Boy](./screenshots/MeetMat_Maps.jpg)\n\nReferences/Credits\n--------\n- A huge shout-out to Cedric Guillemet (https://github.com/CedricGuillemet) for cleaning up the code, adding the UI, integrating ImGuizmo, cmake and quite a lot of fixes.\n- Tinsel Renderer (https://github.com/mmacklin/tinsel) A modified version of the scene description \u0026 loader from that project is used here.\n- Ray Tracing in One Weekend (https://github.com/petershirley/raytracinginoneweekend) Peter Shirley's excellent book introductory book on raytracing which helped me get started on this project.\n- Erich Loftis's THREE.js PathTracer (https://github.com/erichlof/THREE.js-PathTracing-Renderer).\n- OptiX Introduction Samples (https://github.com/nvpro-samples/optix_advanced_samples/tree/master/src/optixIntroduction)\n- Mitsuba Renderer (https://github.com/mitsuba-renderer/mitsuba) Reference for validation.\n- PBRT-v3 (https://github.com/mmp/pbrt-v3) which provides an endless source of knowledge. The online book is a gift that keeps giving.\n- Model links/credits are in the assets folder (See: Model Credits.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightcrawler25%2Fglsl-pathtracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknightcrawler25%2Fglsl-pathtracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknightcrawler25%2Fglsl-pathtracer/lists"}