{"id":51055872,"url":"https://github.com/adcimon/com.adcimon.raymarching","last_synced_at":"2026-06-22T21:01:36.381Z","repository":{"id":133922963,"uuid":"194933457","full_name":"adcimon/com.adcimon.raymarching","owner":"adcimon","description":"Raymarching library.","archived":false,"fork":false,"pushed_at":"2024-06-02T17:57:30.000Z","size":19967,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-07T03:43:45.338Z","etag":null,"topics":["raymarching","unity"],"latest_commit_sha":null,"homepage":"https://youtu.be/AVqy9PmbVVs","language":"HLSL","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/adcimon.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":"2019-07-02T20:53:18.000Z","updated_at":"2024-06-02T17:57:33.000Z","dependencies_parsed_at":"2024-06-02T19:37:50.610Z","dependency_job_id":null,"html_url":"https://github.com/adcimon/com.adcimon.raymarching","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/adcimon/com.adcimon.raymarching","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adcimon%2Fcom.adcimon.raymarching","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adcimon%2Fcom.adcimon.raymarching/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adcimon%2Fcom.adcimon.raymarching/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adcimon%2Fcom.adcimon.raymarching/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adcimon","download_url":"https://codeload.github.com/adcimon/com.adcimon.raymarching/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adcimon%2Fcom.adcimon.raymarching/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34665261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"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":["raymarching","unity"],"created_at":"2026-06-22T21:01:34.359Z","updated_at":"2026-06-22T21:01:36.372Z","avatar_url":"https://github.com/adcimon.png","language":"HLSL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raymarching\n\nLibrary to render signed distance fields with raymarching in Unity.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/example1.gif\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/example2.gif\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/example3.gif\"\u003e\u003c/p\u003e\n\n## Usage\n\n1. Attach a `Raymarcher` component to the camera.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/add_raymarcher.jpg\"\u003e\u003c/p\u003e\n\n2. Select the material used to render. Two materials are included in the package, `RaymarcherUnion` and `RaymarcherSmoothUnion`.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/raymarcher_material.jpg\"\u003e\u003c/p\u003e\n\n3. Add a `RaymarchPrimitive` component to a gameobject.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/add_raymarch_primitive.jpg\"\u003e\u003c/p\u003e\n\n4. Select the parameters and material used to render the primitive.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/raymarch_primitive_parameters_material.jpg\"\u003e\u003c/p\u003e\n\n5. Add the `RaymarchPrimitive` component to the primitives list of the `Raymarcher` component.\n\n\u003cp align=\"center\"\u003e\u003cimg align=\"center\" src=\"Documentation~/raymarcher_primitives.jpg\"\u003e\u003c/p\u003e\n\nNow you can move, rotate or scale the raymarch primitive with the Unity transform tools.\n\n## Advanced\n\nIt is also posible to implement a more complex interaction between primitives creating a raymarcher shader. To create a raymarcher shader go to the context menu `Create \u003e Raymarcher Shader`. The shader contains the function `RaymarchData SignedDistanceField(float3 position)` that is executed in the fragment shader. The function does the following calculations:\n\n1. Iterates over the primitives array.\n2. Transforms the target position from world space to the primitive local space.\n3. Calculates the distance using the signed distance function of the primitive at the transformed position.\n4. The union operator `data.distance = opUnion(data.distance, d)` is applied to the primitives. Other operators can be found in the files [SignedDistanceOperations.hlsl](ShaderLibrary/SignedDistanceOperations.hlsl) and [SignedDistanceBooleanOperations.hlsl](ShaderLibrary/SignedDistanceBooleanOperations.hlsl).\n5. Returns the data of the closest primitive.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadcimon%2Fcom.adcimon.raymarching","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadcimon%2Fcom.adcimon.raymarching","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadcimon%2Fcom.adcimon.raymarching/lists"}