{"id":45625442,"url":"https://github.com/themuffinator/q3rtx","last_synced_at":"2026-02-23T20:01:54.143Z","repository":{"id":338638459,"uuid":"1157011592","full_name":"themuffinator/Q3RTX","owner":"themuffinator","description":"Quake III with RTX raytraced lighting [EARLY DEVELOPMENT]","archived":false,"fork":false,"pushed_at":"2026-02-15T15:23:34.000Z","size":16865,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-15T22:28:20.704Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themuffinator.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","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,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-13T10:18:05.000Z","updated_at":"2026-02-15T15:36:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/themuffinator/Q3RTX","commit_stats":null,"previous_names":["themuffinator/q3rtx"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/themuffinator/Q3RTX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themuffinator%2FQ3RTX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themuffinator%2FQ3RTX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themuffinator%2FQ3RTX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themuffinator%2FQ3RTX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themuffinator","download_url":"https://codeload.github.com/themuffinator/Q3RTX/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themuffinator%2FQ3RTX/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29754332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T19:23:13.917Z","status":"ssl_error","status_checked_at":"2026-02-23T19:23:11.618Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2026-02-23T20:01:49.864Z","updated_at":"2026-02-23T20:01:54.137Z","avatar_url":"https://github.com/themuffinator.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Q3RTX\n\nQ3RTX aims to build a fully ray-traced renderer for Quake III Arena content, inspired by the overall approach of NVIDIA Quake II RTX while staying compatible with Quake III-era gameplay and content workflows.\n\nCurrent state: this repository starts from unmodified Quake3e source as the baseline.\n\n## Vision\n\nCreate a modern rendering path that replaces legacy raster lighting with physically based, ray-traced lighting while preserving engine stability and mod compatibility.\n\n## Primary Goals\n\n* Deliver a fully ray-traced real-time renderer for Quake III maps, models, effects, and dynamic entities.\n* Support physically based materials and emissive lighting behavior suitable for path-traced shading.\n* Preserve Quake3e gameplay, networking, VM behavior, and asset loading expectations.\n* Keep existing renderers functional during transition (`renderer`, `renderer2`, `renderervk`) to avoid blocking development.\n* Develop RT/PBR features in `code/rendererrtx` while keeping `code/renderervk` as untouched baseline.\n* Build incrementally with measurable visual and performance checkpoints.\n\n## Non-Goals (for now)\n\n* Rewriting game logic, UI, bot AI, or networking subsystems.\n* Breaking compatibility with existing Quake III data layouts as a prerequisite.\n* One-shot \"big bang\" renderer replacement without transition milestones.\n\n## Technical Direction\n\n* Add a dedicated ray-tracing renderer path (expected as a new renderer module) rather than destabilizing legacy paths.\n* Reuse shared engine infrastructure where it makes sense (`code/renderercommon`, client registration flow, resource management patterns).\n* Start from Vulkan-first ray tracing architecture and keep OpenGL paths unaffected.\n* Introduce translation layers from Quake III shader/lightmap-era content toward physically based material/light inputs.\n* Use temporal accumulation + denoising as required for practical real-time path tracing.\n\n## Milestones\n\n1. Baseline and Instrumentation  \n   Confirm clean Quake3e baseline builds and produce representative test captures/maps.\n2. Renderer Skeleton  \n   Add a loadable ray-tracing renderer module, cvars, init/shutdown flow, and basic frame orchestration.\n3. Geometry and Acceleration Structures  \n   Build BLAS/TLAS pipelines for world geometry, brush models, MD3, sprites, and particles.\n4. Ray-Traced Lighting\n   Implement direct + indirect lighting, shadows, emissive sources, and physically based BRDF evaluation.\n5. Accumulation, Denoising, and Tone Mapping\n   Add temporal reprojection, denoiser integration, and HDR output controls.\n6. Content Compatibility and Optimization\n   Improve shader/script translation, reduce visual mismatches, and optimize GPU/CPU cost.\n\nDetailed, task-level tracker: `doc/rtx-renderer-implementation-plan.md`\n\n## Build\n\nPrimary build system is Meson + Ninja with cross-platform support for Windows, Linux, and macOS.\n\n### Windows (VS 2022 + Ninja)\n\nRun from a Visual Studio Developer Command Prompt (`x64 Native Tools`) or call `VsDevCmd.bat` first.\n\nRelease:\n\n```bat\nmeson setup build/meson-release --wipe --buildtype=release\nmeson compile -C build/meson-release\n```\n\nDebug:\n\n```bat\nmeson setup build/meson-debug --wipe --buildtype=debug\nmeson compile -C build/meson-debug\n```\n\nOutput binaries:\n\n* `build/meson-release/q3rtx.x64.exe`\n* `build/meson-debug/q3rtx.x64.exe`\n* `build/meson-release/q3rtx_rtx_x86_64.dll`\n* `build/meson-debug/q3rtx_rtx_x86_64.dll`\n\n### Linux (GCC/Clang + Ninja)\n\nInstall build dependencies (`meson`, `ninja`, `python3`, `sdl2`, and optional `libcurl`).\n\nRelease:\n\n```bash\nmeson setup build/meson-release --wipe --buildtype=release\nmeson compile -C build/meson-release\n```\n\nDebug:\n\n```bash\nmeson setup build/meson-debug --wipe --buildtype=debug\nmeson compile -C build/meson-debug\n```\n\nOutput binaries:\n\n* `build/meson-release/q3rtx`\n* `build/meson-debug/q3rtx`\n* `build/meson-release/q3rtx_rtx_x86_64.so` (x86_64 host)\n* `build/meson-debug/q3rtx_rtx_x86_64.so` (x86_64 host)\n\n### macOS (Clang + Ninja)\n\nInstall build dependencies (`meson`, `ninja`, `python3`, `sdl2`, and optional `curl` via Homebrew or system packages).\n\nRelease:\n\n```bash\nmeson setup build/meson-release --wipe --buildtype=release\nmeson compile -C build/meson-release\n```\n\nDebug:\n\n```bash\nmeson setup build/meson-debug --wipe --buildtype=debug\nmeson compile -C build/meson-debug\n```\n\nOutput binaries:\n\n* `build/meson-release/q3rtx`\n* `build/meson-debug/q3rtx`\n* `build/meson-debug/q3rtx_rtx_x86_64.dylib` or `build/meson-release/q3rtx_rtx_x86_64.dylib` (Intel host)\n* `build/meson-debug/q3rtx_rtx_aarch64.dylib` or `build/meson-release/q3rtx_rtx_aarch64.dylib` (Apple Silicon host)\n\nNotes:\n\n* This Meson setup targets the Vulkan/RT development flow and does not build GL renderer modules.\n* `code/renderervk` remains baseline; active RT/PBR development target is `code/rendererrtx`.\n* `rendererrtx` is built as a separate renderer module and is selected with `\\cl_renderer rtx`.\n* Runtime still requires Quake III game data (`baseq3`) outside this repository.\n* Legacy instructions remain in `BUILD.md` for reference.\n\n## Inspiration and References\n\n* NVIDIA Quake II RTX: https://github.com/NVIDIA/Q2RTX\n* Quake3e baseline engine: https://github.com/ec-/Quake3e\n\nThe goal is architectural inspiration and feature parity direction, not a direct port.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemuffinator%2Fq3rtx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemuffinator%2Fq3rtx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemuffinator%2Fq3rtx/lists"}