{"id":16113112,"url":"https://github.com/roblesch/roulette","last_synced_at":"2025-03-18T09:31:14.791Z","repository":{"id":65356289,"uuid":"569496730","full_name":"roblesch/roulette","owner":"roblesch","description":"CPU path tracer demonstrating ADRRS and EARS.","archived":false,"fork":false,"pushed_at":"2023-04-13T17:51:52.000Z","size":216,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T18:44:05.701Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://blog.roblesch.page/blog/2024/05/20/recent-advancements.html","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/roblesch.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":"2022-11-23T00:41:44.000Z","updated_at":"2025-03-10T21:20:52.000Z","dependencies_parsed_at":"2024-10-27T17:43:01.422Z","dependency_job_id":null,"html_url":"https://github.com/roblesch/roulette","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roblesch%2Froulette","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roblesch%2Froulette/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roblesch%2Froulette/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roblesch%2Froulette/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roblesch","download_url":"https://codeload.github.com/roblesch/roulette/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244192585,"owners_count":20413554,"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":[],"created_at":"2024-10-09T20:10:19.905Z","updated_at":"2025-03-18T09:31:14.272Z","avatar_url":"https://github.com/roblesch.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roulette\n\nThis repository stores code for Spring '23 Directed Research Project \"Russian Roulette: From Albedo to EARS\", advised by Prof. Ulrich Neumann, USC.\n\nProject proposal: [project-proposal](https://blog.roblesch.page/assets/roblesch_project_proposal.pdf)\n\n## To Build\n\nProject source can be found in `renderer/`. Current builds are tested in Visual Studio 22 with CMake 3.24.\n\nThis project has external dependencies. Clone submodules before building.\n\n```\n$ git submodule update --init --recursive\n```\n\n## Blog Posts\n\nDevelopment notes are shared [on my blog](https://blog.roblesch.page/blog/2022/11/17/directed-research.html).\n\n## References\n\n### Russian Roulette \u0026 Splitting\n\nJames Arvo and David Kirk. 1990. Particle transport and image synthesis. In Proceedings of the 17th annual conference on Computer graphics and interactive techniques (SIGGRAPH '90). Association for Computing Machinery, New York, NY, USA, 63–66. https://doi.org/10.1145/97879.97886\n\nJiří Vorba and Jaroslav Křivánek. 2016. Adjoint-driven Russian roulette and splitting in light transport simulation. ACM Trans. Graph. 35, 4, Article 42 (July 2016), 11 pages. https://doi.org/10.1145/2897824.2925912\n\nAlexander Rath, Pascal Grittmann, Sebastian Herholz, Philippe Weier, and Philipp Slusallek. 2022. EARS: efficiency-aware russian roulette and splitting. ACM Trans. Graph. 41, 4, Article 81 (July 2022), 14 pages. https://doi.org/10.1145/3528223.3530168\n\n---\n\nThis project would not be possible without the many resources made publicly available by the rendering community.\n\nhttps://pbr-book.org/\n\nhttps://github.com/tunabrain/tungsten\n\nhttps://github.com/mitsuba-renderer/mitsuba3\n\nBenedikt Bitterli's [Tungsten Renderer](https://github.com/tunabrain/tungsten) is the foundation for this project's implementation of path tracing. His implementations of forward path tracing and geometric primitives are used with some modification.\n\nAlexander Rath's [implementation of ADRRS and EARS](https://github.com/irath96/ears) is used as provided.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froblesch%2Froulette","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froblesch%2Froulette","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froblesch%2Froulette/lists"}