{"id":19203331,"url":"https://github.com/rouming/yart","last_synced_at":"2026-03-19T08:41:08.867Z","repository":{"id":142055978,"uuid":"324236619","full_name":"rouming/yart","owner":"rouming","description":"Yet Another Ray Tracing renderer (boosted by OpenCL)","archived":false,"fork":false,"pushed_at":"2022-12-29T20:43:06.000Z","size":3409,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-23T05:45:19.775Z","etag":null,"topics":["opencl","raytracing","raytracing-render","renderer"],"latest_commit_sha":null,"homepage":"","language":"GLSL","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/rouming.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-12-24T21:09:46.000Z","updated_at":"2023-10-08T19:00:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa81648b-67af-4cf3-8e00-7798df38b52a","html_url":"https://github.com/rouming/yart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rouming/yart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fyart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fyart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fyart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fyart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rouming","download_url":"https://codeload.github.com/rouming/yart/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rouming%2Fyart/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30083761,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["opencl","raytracing","raytracing-render","renderer"],"created_at":"2024-11-09T12:47:55.820Z","updated_at":"2026-03-04T14:32:11.250Z","avatar_url":"https://github.com/rouming.png","language":"GLSL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YART\nYART is a just Yet Another Ray Tracer renderer boosted by OpenCL\nbased on lessons from http://scratchapixel.com and http://pbr-book.org\n\nThe main goal is nothing but to learn ray tracing algorithms and\nimplement C code which can be compiled on host and simultaneously\ncompiled and loaded by OpenCL framework.\n\n# HOWTO\n\nCompilation is very simple: do just make.\n\nBy default YART loads itself (yart.c source) as OpenCL program and the\nwhole ray tracing is executed on GPU. In order to disable OpenCL\naccelaration --no-opencl option can be provided.\n\nWhen the scene is loaded and the window is opened you can observe with\nthe mouse and walk with WASD keys.\n\n## Example 1\n\n![Alt text](https://imgur.com/OkVEmeOl.png)\n\n```\n# Four different spheres on a plane under a distant light\n# (inspired by scratchapixel.com)\n$ ./yart --object type=sphere,radius=0.3,pos=-3,1,0,Ks=0.05  \\\n         --object type=sphere,radius=0.5,pos=-2,1,0,Ks=0.08  \\\n         --object type=sphere,radius=0.7,pos=-0.5,1,0,Ks=0.1 \\\n         --object type=sphere,radius=0.9,pos=1.4,1,0,Ks=0.4  \\\n         \\\n         --object type=mesh,file=./models/plane.geo \\\n         \\\n         --light dir=-0.4,-0.8,0.3,type=distant \\\n         \\\n         --backcolor 3cacd7 \\\n         --pitch -10 --yaw -55 --pos 10,3,7\n```\n\n## Example 2\n\n![Alt text](https://imgur.com/hjSiEJhl.png)\n\n```\n# One sphere under three different point lights\n$ ./yart --object type=sphere,radius=0.8,pos=0,1,0,Ks=0.05 \\\n         \\\n         --object type=mesh,file=./models/plane.geo \\\n         \\\n         --light pos=-2,2,1,type=point,intensity=200,color=ff0000 \\\n         --light pos=0,4,1,type=point,intensity=190,color=00ff00  \\\n         --light pos=2,5,1,type=point,intensity=420,color=0000ff  \\\n         \\\n         --backcolor 3cacd7 \\\n         --pos=0,1,8\n```\n\n## Example 3\n\n![Alt text](https://imgur.com/af1RwmMl.png)\n\n```\n# Four glasses of water (inspired by scratchapixel.com)\n$ ./yart --object type=mesh,file=./models/glasses.geo,material=reflect-refract,ior=1.3,smooth-shading=1,scale=0.1 \\\n         --object type=mesh,file=./models/backdrop1.geo,albedo=0.18,smooth-shading=1,scale=0.1,pattern=line[scale=0.06,angle=45] \\\n         \\\n         --light type=distant,dir=0,-1,-0.5,intensity=1.6 \\\n         \\\n         --pos 0,3,8  --pitch -13 --backcolor 3cacd7\n```\n\n## Example 4\n\n![Alt text](https://imgur.com/8XFS3tdl.png)\n\n```\n# Just a cow (model taken from scratchapixel.com)\n./yart --object type=mesh,file=./models/cow.obj,smooth-shading=0 \\\n       \\\n       --light dir=-1,0,-1,type=distant \\\n       \\\n       --pos 29,23,38 --pitch -19 --yaw -37.5 \\\n       --fov 27 --backcolor 3cacd7\n```\n\n## Example 5\n\n![Alt text](https://imgur.com/5XI2wfdl.png)\n\n```\n# Smooth-shaded cyborg (model taken from learnopengl.com)\n./yart --object type=mesh,file=./models/nanosuit.obj,smooth-shading=1 \\\n       \\\n       --light dir=-1,0,-1,type=distant \\\n       \\\n       --pos 29,23,38 --pitch -19 --yaw -37.5\n```\n\n## Example 6\n\n![Alt text](https://imgur.com/6Dc1fPPl.png)\n\n```\n# One glass on a reflective surface (inspired by scratchapixel.com)\n./yart --object type=mesh,file=./models/cylinder.geo,material=reflect-refract,ior=1.3,smooth-shading=1,scale=0.1,0.3,0.1 \\\n       --object type=mesh,file=./models/backdrop1.geo,albedo=0.18,r=0.1,smooth-shading=1,scale=0.1,pattern=check[scale=0.1,angle=45] \\\n       \\\n       --light type=distant,dir=0,-1,-0.5,intensity=1.6 \\\n       \\\n       --pos 0,3,8 --pitch -13 --backcolor 3cacd7\n```\n\n## Example 7\n\n![Alt text](https://imgur.com/MfAQdyil.png)\n\n```\n# Glass of water with a pen (inspired by scratchapixel.com)\n./yart --object type=mesh,file=./models/backdrop.geo,smooth-shading=1,pattern=line[scale=0.1,angle=-45] \\\n       --object type=mesh,file=./models/cylinder.geo,smooth-shading=1,material=reflect-refract,ior=1.5 \\\n       --object type=mesh,file=./models/pen.geo \\\n       \\\n       --light type=distant,dir=-0.5,-1,0.5,intensity=2 \\\n       \\\n        --pos 7,22,-30 --pitch -27 --yaw -164 --backcolor 3cacd7\n```\n\n## Example 8\n\n![Alt text](https://imgur.com/7Bkbgzzl.png)\n\n```\n# Red ball, check plane under a point light\n./yart --object type=sphere,radius=0.3,pos=0,0.3,0,Ks=0.1,Kd=0.9,0.01,0.01 \\\n       --object type=plane,Ks=0.05,Kd=0.8,pattern=check \\\n       \\\n       --light pos=1,2,0,type=point,intensity=400 \\\n       \\\n       --pitch -20 --yaw -5 --pos 0,2,5\n```\n\n## Example 9\n\n![Alt text](https://imgur.com/I0n9iksl.png)\n\n```\n# Two metal shiny balls under four point lights on a reflective surface\n./yart --object type=plane,Ks=0.05,Kd=0.8,r=0.4,pattern=check \\\n       --object type=sphere,radius=1,pos=0,1,0,Ks=0.5,Kd=0.6,r=0.2,n=500 \\\n       --object type=sphere,radius=0.5,pos=-1,0.5,-1.5,Ks=0.5,Kd=0.6,r=0.2,n=500 \\\n       \\\n       --light type=point,pos=-2,2.5,0,intensity=300,color=b2994c \\\n       --light type=point,pos=1.5,2.5,-1.5,intensity=200,color=727f99 \\\n       --light type=point,pos=1.5,2.5,1.5,intensity=100,color=b2ccb2 \\\n       --light type=point,pos=0,3.5,0,intensity=300,color=4c4c4c \\\n       \\\n       --pitch -16 --yaw -91 --pos 8,3,-1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frouming%2Fyart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frouming%2Fyart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frouming%2Fyart/lists"}