{"id":26109730,"url":"https://github.com/brokenprogrammer/quake-mdl-viewer","last_synced_at":"2026-05-27T21:31:52.695Z","repository":{"id":280171223,"uuid":"941180826","full_name":"brokenprogrammer/quake-mdl-viewer","owner":"brokenprogrammer","description":"Renderer for quake mdl models.","archived":false,"fork":false,"pushed_at":"2025-06-11T17:38:44.000Z","size":60556,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-11T19:12:55.980Z","etag":null,"topics":["jai","mdl","opengl","quake","quake2"],"latest_commit_sha":null,"homepage":"","language":"Jai","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/brokenprogrammer.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,"zenodo":null}},"created_at":"2025-03-01T17:22:49.000Z","updated_at":"2025-06-11T17:38:47.000Z","dependencies_parsed_at":"2025-03-01T18:34:24.658Z","dependency_job_id":"25174625-bcc2-4b11-b6bb-f8c96363e951","html_url":"https://github.com/brokenprogrammer/quake-mdl-viewer","commit_stats":null,"previous_names":["brokenprogrammer/quake-mdl-viewer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/brokenprogrammer/quake-mdl-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenprogrammer%2Fquake-mdl-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenprogrammer%2Fquake-mdl-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenprogrammer%2Fquake-mdl-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenprogrammer%2Fquake-mdl-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brokenprogrammer","download_url":"https://codeload.github.com/brokenprogrammer/quake-mdl-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brokenprogrammer%2Fquake-mdl-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33585203,"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-05-27T02:00:06.184Z","response_time":53,"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":["jai","mdl","opengl","quake","quake2"],"created_at":"2025-03-09T23:54:39.933Z","updated_at":"2026-05-27T21:31:52.691Z","avatar_url":"https://github.com/brokenprogrammer.png","language":"Jai","funding_links":[],"categories":[],"sub_categories":[],"readme":"# quake-mdl-viewer\n\na MDL and MD2 viewer for Quake and Quake 2 models.\n\n## Quick Start\n\n```jai\njai build.jai\n```\n\n## Features\n\n- Read .pak files and find MDL or MD2 models to load.\n- Drag \u0026 Drop support.\n- Select animation for playback.\n- Control animation speed / timer.\n- Smooth frame by frame interpolation.\n- Select between multiple shading modes.\n- Dynamic camera.\n- Skin selection.\n- Render normals.\n- Skybox.\n- Quake-style dropdown console.\n- Translation, Rotation and Scaling gizmos.\n- Model details window.\n\n|     |     |\n| --- | --- |\n| \u003cimg src=\".github/drag_and_drop_support.gif\" alt=\"Drag and Drop support\"/\u003e Drag and Drop support | \u003cimg src=\".github/animation_playback_control.gif\" alt=\"Animation playback control\"/\u003e Animation playback control |\n| \u003cimg src=\".github/dynamic_camera.gif\" alt=\"Dynamic camera\"/\u003e Dynamic Camera | \u003cimg src=\".github/render_normals.gif\" alt=\"Render normals\"/\u003e Render normals |\n| \u003cimg src=\".github/select_shading_mode.gif\" alt=\"Select shading mode\"/\u003e Select shading mode | \u003cimg src=\".github/skin_selection.gif\" alt=\"Skin selection\"/\u003e Skin selection |\n| \u003cimg src=\".github/swap_animations.gif\" alt=\"Select animation\"/\u003e Select animation | \u003cimg src=\".github/dropdown_console.gif\" alt=\"Quake-style Console\"/\u003e Quake-style Console |\n| \u003cimg src=\".github/skybox_support.gif\" alt=\"Skybox support\"/\u003e Skybox support | \u003cimg src=\".github/gizmos.gif\" alt=\"Gizmos\"/\u003e Translate, Rotate \u0026 Scale Gizmos | \n| \u003cimg src=\".github/details_window.gif\" alt=\"Details window\"/\u003e Details window | |\n\n\n## Resources\n\nThis is a project I created for learning purposes, to learn about Quake, rendering and the jai programming language.\n\n- \u003chttp://tfc.duke.free.fr/coding/mdl-specs-en.html\u003e\n- \u003chttps://gist.github.com/mmozeiko/77fd5cd64a0c7e7bf3f1bc6923af786e\u003e\n- \u003chttp://tfc.duke.free.fr/coding/src/mdl.c\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrokenprogrammer%2Fquake-mdl-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrokenprogrammer%2Fquake-mdl-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrokenprogrammer%2Fquake-mdl-viewer/lists"}