{"id":15689804,"url":"https://github.com/liamg/raytracing","last_synced_at":"2025-07-14T17:37:58.147Z","repository":{"id":74990428,"uuid":"180032914","full_name":"liamg/raytracing","owner":"liamg","description":"3D Raytracing in Go","archived":false,"fork":false,"pushed_at":"2023-03-07T03:00:33.000Z","size":2747,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T23:08:54.071Z","etag":null,"topics":["3d","raytracer","raytracing"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/liamg.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}},"created_at":"2019-04-07T22:46:56.000Z","updated_at":"2023-10-16T08:49:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3e1fb19-75dd-4f0c-ad2d-b2d936bba82f","html_url":"https://github.com/liamg/raytracing","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"2ddd7d073b1001285954ee8e514cb8bd9747b709"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/liamg/raytracing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fraytracing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fraytracing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fraytracing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fraytracing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liamg","download_url":"https://codeload.github.com/liamg/raytracing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fraytracing/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265326422,"owners_count":23747519,"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":["3d","raytracer","raytracing"],"created_at":"2024-10-03T18:04:36.003Z","updated_at":"2025-07-14T17:37:58.097Z","avatar_url":"https://github.com/liamg.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raytracing in Go\n\nA simple 3D raytracing engine, purely as a learning exercise.\n\nFeatures:\n\n- Lighting (point, directional, ambient)\n- Shadows\n- Reflections (*n* levels)\n- Object interface for theoretical support for any geometric object (currently supports Triangles, Boxes and Spheres)\n\n## Example output\n\n![](output.png)\n\nThe image above was rendered with the example code in [examples/png/main.go](examples/png/main.go)\n\nThere's also a basic [terminal-based 3D game demo](examples/game/main.go).\n\n## TODO\n\n- [ ] Texturing\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliamg%2Fraytracing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliamg%2Fraytracing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliamg%2Fraytracing/lists"}