{"id":20537175,"url":"https://github.com/michalzalobny/webgl-3d-engine","last_synced_at":"2025-03-17T14:18:08.791Z","repository":{"id":218436140,"uuid":"746374826","full_name":"michalzalobny/webgl-3d-engine","owner":"michalzalobny","description":"WebGL2 3D Engine built from scratch.","archived":false,"fork":false,"pushed_at":"2024-02-22T11:55:27.000Z","size":1056,"stargazers_count":216,"open_issues_count":1,"forks_count":10,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-03T23:49:40.796Z","etag":null,"topics":["webgl-programming","webgl2"],"latest_commit_sha":null,"homepage":"https://tranquil-pixie-7ecd9c.netlify.app/","language":"TypeScript","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/michalzalobny.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":"2024-01-21T21:22:25.000Z","updated_at":"2025-02-03T22:29:12.000Z","dependencies_parsed_at":"2024-12-18T17:10:56.648Z","dependency_job_id":"9ad7d43f-0354-40d7-8a42-d38be784651f","html_url":"https://github.com/michalzalobny/webgl-3d-engine","commit_stats":null,"previous_names":["michalzalobny/webgl-viewer","michalzalobny/webgl-3d-engine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalzalobny%2Fwebgl-3d-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalzalobny%2Fwebgl-3d-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalzalobny%2Fwebgl-3d-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalzalobny%2Fwebgl-3d-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michalzalobny","download_url":"https://codeload.github.com/michalzalobny/webgl-3d-engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244047645,"owners_count":20389206,"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":["webgl-programming","webgl2"],"created_at":"2024-11-16T00:39:14.885Z","updated_at":"2025-03-17T14:18:08.756Z","avatar_url":"https://github.com/michalzalobny.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebGL2 3D Engine built from scratch\n\nThe goal is to build a custom 3D engine without any libraries - just using WebGL2 API and what I have learnt while creating a [3D renderer in C](https://github.com/michalzalobny/3d-renderer-in-c). Guided by [WebGL2 Fundamentals](https://webgl2fundamentals.org/).\n\nI'm using here Right-Handed Coordinate System (positive Z axis points out of the screen). I'm also using column-major matrices layout - so I will be using post-multiplication -\u003e `M * v` to transform a vector `v` by a matrix `M`.\n\n## Lighthouse Performance\n\n- Application without any WebGL2 context scores 4x 100% on lighthouse, with 0ms of Total Blocking Time, 0.8s First and Largest Contentful Paint. Speed index is 0.8s.\n- After adding the WebGL2 context, the Total Blocking Time increases to 40ms.\n- After adding 4 textures to load into GPU and a model to parse, the Total Blocking Time increases to 60ms. The rest of the metrics are the same.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalzalobny%2Fwebgl-3d-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichalzalobny%2Fwebgl-3d-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalzalobny%2Fwebgl-3d-engine/lists"}