{"id":18020921,"url":"https://github.com/edubart/marcherstein3d","last_synced_at":"2025-10-10T16:37:55.726Z","repository":{"id":139040159,"uuid":"245707858","full_name":"edubart/marcherstein3d","owner":"edubart","description":"Realtime pseudo 3D raycaster on the CPU using 2D ray marching","archived":false,"fork":false,"pushed_at":"2021-08-01T13:21:08.000Z","size":282,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T10:34:04.934Z","etag":null,"topics":["nelua","raycasting","raymarching","raytracing","wolfenstein-3d"],"latest_commit_sha":null,"homepage":"https://edubart.github.io/marcherstein3d/","language":"Lua","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/edubart.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-07T21:25:51.000Z","updated_at":"2024-11-11T12:38:09.000Z","dependencies_parsed_at":"2023-05-03T10:24:18.118Z","dependency_job_id":null,"html_url":"https://github.com/edubart/marcherstein3d","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edubart/marcherstein3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubart%2Fmarcherstein3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubart%2Fmarcherstein3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubart%2Fmarcherstein3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubart%2Fmarcherstein3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edubart","download_url":"https://codeload.github.com/edubart/marcherstein3d/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edubart%2Fmarcherstein3d/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004690,"owners_count":26083750,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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":["nelua","raycasting","raymarching","raytracing","wolfenstein-3d"],"created_at":"2024-10-30T06:08:17.435Z","updated_at":"2025-10-10T16:37:55.712Z","avatar_url":"https://github.com/edubart.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pseudo 3D via 2D Ray Marching\n\nThis an experiment to render 3D scenes using ray marching on 2D signed distance fields (SDFs)\nin real time using only on the CPU and with some lightning support.\n\nCheck this project running on the browser [here](https://edubart.github.io/marcherstein3d/).\n\nThis was inspired by [Wolfenstein 3D](https://en.wikipedia.org/wiki/Wolfenstein_3D) rendering technique and [Inigo Quilez](https://www.iquilezles.org/www/index.htm) ray marching articles.\n\n## How it works\n\nThe renderer is ray marching on a 2D plane and outputting the scene depth and colors to a single line. Then the line is stretched vertically proportionally to its depth. The lightning\nis done in 2D but can be viewed in 3D.\n\nSimilar technique was used in the game Wolfenstein 3D back in 1992 to render a\npseudo 3D on low end hardware. However I've introduced ray marching into the idea, this\npermits to have some lightning and morph objects across the XZ plane while still\nallowing to render in realtime on the CPU.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedubart%2Fmarcherstein3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedubart%2Fmarcherstein3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedubart%2Fmarcherstein3d/lists"}