{"id":21606540,"url":"https://github.com/y-taka-23/raytracing-go","last_synced_at":"2025-06-23T07:02:01.241Z","repository":{"id":57574798,"uuid":"347753458","full_name":"y-taka-23/raytracing-go","owner":"y-taka-23","description":"A simple Go library for 3D ray-tracing rendering, implementing the book Ray Tracing in One Weekend. 📸","archived":false,"fork":false,"pushed_at":"2021-04-03T12:39:42.000Z","size":3095,"stargazers_count":54,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-08T11:08:00.001Z","etag":null,"topics":["3d-graphics","computer-graphics","go","golang","raytracing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/y-taka-23.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}},"created_at":"2021-03-14T21:02:11.000Z","updated_at":"2024-04-21T20:34:39.000Z","dependencies_parsed_at":"2022-09-18T16:24:49.792Z","dependency_job_id":null,"html_url":"https://github.com/y-taka-23/raytracing-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/y-taka-23/raytracing-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-taka-23%2Fraytracing-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-taka-23%2Fraytracing-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-taka-23%2Fraytracing-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-taka-23%2Fraytracing-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/y-taka-23","download_url":"https://codeload.github.com/y-taka-23/raytracing-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/y-taka-23%2Fraytracing-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261433936,"owners_count":23157196,"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-graphics","computer-graphics","go","golang","raytracing"],"created_at":"2024-11-24T20:22:12.019Z","updated_at":"2025-06-23T07:01:56.214Z","avatar_url":"https://github.com/y-taka-23.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ray Tracing in Go\n\n![cover image](images/cover.png)\n\nA Go implementation of the book [Ray Tracing in One Weekend](https://raytracing.github.io/). The repository provides a library to describe and render your own scenes. For more detail, see [`examples/main.go`](examples/main.go).\n\n## Getting Started\n\n```shell\ngit clone git@github.com:y-taka-23/raytracing-go.git\ncd raytracing-go\nmake examples\n./bin/example \u003e example.ppm\nopen example.ppm\n```\n\n## Materials\n\n### Lambertian\n\n|color|result|\n|:----:|:----:|\n|(0.8, 0.1, 0.1)|![red lambertian sphere](images/lambertian_red.png)|\n|(1.0, 1.0, 1.0)|![white lambertian sphere](images/lambertian_white.png)|\n|(0.0, 0.0, 0.0)|![black lambertian sphere](images/lambertian_black.png)|\n\n### Metalic\n\n|fuzziness|result|\n|:----:|:----:|\n|0.0|![metalic sphere of fuzziness 0.0](images/metal_f00.png)|\n|0.15|![metalic sphere of fuzziness 0.15](images/metal_f15.png)|\n|0.3|![metalic sphere of fuzziness 0.3](images/metal_f30.png)|\n\n### Dielectric\n\n|refractive index|result|\n|:----:|:----:|\n|1.0|![dielectric sphere of refractive index 1.0](images/dielectric_i100.png)|\n|1.5|![dielectric sphere of refractive index 1.5](images/dielectric_i150.png)|\n|2.0|![dielectric sphere of refractive index 2.0](images/dielectric_i200.png)|\n\n\n## Camera Setting\n\n### Angle of View\n\n|virtical angle (degree)|result|\n|:----:|:----:|\n|90|![result of the vertical angle in 90 degree](images/fov_90.png)|\n|60|![result of the vertical angle in 60 degree](images/fov_60.png)|\n|30|![result of the vertical angle in 30 degree](images/fov_30.png)|\n\n### Aperture\n\n|aperture|result|\n|:----:|:----:|\n|0.0|![result of the aperture 0.0](images/aperture_000.png)|\n|0.5|![result of the aperture 0.5](images/aperture_050.png)|\n|1.0|![result of the aperture 1.0](images/aperture_100.png)|\n\n### Depth of Field\n\n|focus distance|result|\n|:----:|:----:|\n|6|![result of the depth of field 6](images/dof_06.png)|\n|9|![result of the depth of field 9](images/dof_09.png)|\n|12|![result of the depth of field 12](images/dof_12.png)|\n\n## Reference\n\n* Shirley, P. (2016). _Ray Tracing in One Weekend_ ([online edition available](https://raytracing.github.io/))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy-taka-23%2Fraytracing-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fy-taka-23%2Fraytracing-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fy-taka-23%2Fraytracing-go/lists"}