Granite is a Vulkan-based real-time 3D rendering engine and application framework developed by Hans-Kristian Arntzen. It provides a comprehensive, modular library for building interactive graphics applications, including a high-level Vulkan abstraction, a declarative render graph with automatic resource management, scene loading (glTF, custom JSON), a full post-processing pipeline (TAA, SMAA, FXAA, HDR, bloom, SSAO, SSR), clustered and volumetric lighting, mesh shaders, and GPU-driven rendering. The framework also includes cross-platform audio (WASAPI, PulseAudio, Oboe) with DSP, video encoding/decoding via FFmpeg, a physics system (Bullet), a UI widget system, an entity-component system, and a flexible filesystem abstraction with network VFS support. The codebase is production-quality with advanced Vulkan feature usage, extensive tests, and tools for asset processing. While the author explicitly discourages external contributions, the repository remains actively maintained and showcases high craftsmanship in graphics engineering.
KataGo is a production-grade Go-playing AI engine that combines deep neural networks with Monte Carlo Tree Search (MCTS). The system supports self-play reinforcement learning, GTP protocol for GUI integration, analysis mode, and distributed training. Its architecture features a C++ core with multiple GPU backends (CUDA, ROCm, OpenCL, Metal, ONNX, TensorRT) for neural network inference, a comprehensive MCTS search implementation with graph enhancements, and Python training scripts. The codebase demonstrates strong engineering with well-abstracted backends, thread-safe utilities, and a modular configuration system. External dependencies include NVIDIA CUTLASS and cuDNN frontend for high-performance GPU kernels, indicating a focus on cutting-edge hardware utilization.
Accelerated Scan is a focused, high-performance library for solving first-order linear recurrences (associative scans) on GPU. It provides a pure CUDA kernel (`warp`) that uses warp shuffle intrinsics, shared memory, and a hierarchical chunked algorithm to achieve state-of-the-art speed, and a Triton-based implementation (`scalar`) that leverages `tl.associative_scan` for portability. A reference PyTorch implementation (`ref`) implements the classic Blelloch tree scan for validation. The library is designed for integration into state space models and linear RNNs, where the recurrence `x[t] = gate[t] * x[t-1] + token[t]` is central. The codebase is small but exceptionally well-crafted, with clear separation of concerns, comprehensive tests, and a clean API. The CUDA kernel in particular is a standout example of GPU optimization, using warp-level primitives, shared memory, and chunking to handle sequences of arbitrary length (up to 65536) with minimal overhead.
RTXPT is a high-fidelity real-time path tracing reference implementation developed by NVIDIA. It serves as both a standalone demo application and a reference for integrating advanced rendering techniques into production engines. The codebase implements state-of-the-art path tracing with ReSTIR (Reservoir Spatiotemporal Importance Resampling) for direct and global illumination, NEE-AT (Next Event Estimation - Adaptive Temporal) for lighting feedback, and Stable Planes for denoising. It integrates heavily with NVIDIA RTX SDKs including RTXDI, NRD (Denoiser), OMM (Opacity Micromaps), and DLSS (Streamline). The application supports both DirectX 12 and Vulkan backends via the nvrhi abstraction layer, though Vulkan support is noted as work-in-progress. The architecture follows a modular design with separate components for lighting bakers, material systems, shader compilation, and rendering passes. It uses the Donut engine framework for scene management and shader compilation infrastructure.
This is a comprehensive educational website and tutorial series for WebGPU, the next-generation graphics API. It provides over 100 interactive lessons covering fundamentals, 3D math, lighting, textures, compute shaders, post-processing, and more. The site is built as a static site with a custom build system, featuring live code editors, interactive diagrams, and multilingual support. The codebase includes reusable WebGPU utilities, a diagram framework, and helper libraries for timing, texture loading, and shader reflection. It serves as both a learning resource and a reference for WebGPU developers.
Gyroflow is a cross-platform desktop and mobile application for video stabilization using gyroscope and IMU data. It ingests telemetry from a wide range of cameras (GoPro, Sony, Insta360, DJI, Canon, RED, Blackmagic, etc.), applies lens distortion correction, rolling-shutter compensation, and smoothing algorithms, then exports stabilized video via FFmpeg with GPU acceleration. The architecture is a Rust core library (gyroflow-core) with a Qt/QML GUI, GPU backends (OpenCL, wgpu/Vulkan/Metal/DirectX, Qt RHI), and a rendering pipeline supporting hardware encoding. It also includes advanced features like optical-flow-based synchronization, lens calibration, adaptive zoom, and NLE plugin installation. The codebase is large and well-structured, with trait-based algorithm dispatch for distortion models, smoothing, optical flow, and pose estimation. It demonstrates strong engineering in GPU interop, signal processing, and computer vision. However, it uses a custom Rust-like dialect (macros that transpile to Rust/C++) which increases onboarding complexity, and there are many platform-specific conditionals and some unwrap-heavy error handling. The project is actively maintained with a large community and frequent updates.
This repository is a comprehensive, step-by-step tutorial series for learning wgpu, the Rust implementation of WebGPU. It contains over 30 example crates organized into beginner, intermediate, compute, and showcase categories, each demonstrating a specific GPU concept (window creation, pipelines, buffers, textures, uniforms, instancing, depth, lighting, normal mapping, HDR, compute shaders, etc.). The code is production-quality Rust with extensive use of wgpu, winit, cgmath, and bytemuck. A reusable framework crate (`code/showcase/framework`) provides a `Demo` trait, camera, model/texture loading, and pipeline builders, which many showcases implement. The repository also includes a VuePress documentation site with embedded WebAssembly demos, build scripts for WASM deployment, and a demo server. While the tutorials are well-structured and educational, there is significant code duplication across crates (e.g., identical `build.rs` files, repeated initialization boilerplate), and some showcases are stale or excluded from builds. The codebase tracks wgpu API changes closely (news files document migrations from 0.12 to 30.0), but some patterns use deprecated APIs (e.g., `wgpu::Backends::PRIMARY`, `immediate_size` in pipeline layouts). Overall, it is a valuable learning resource with solid engineering practices, though not a production library.
This repository is a Chinese-language translation and expansion of the Learn wgpu tutorial series, teaching the wgpu Rust implementation of the WebGPU graphics API through a Cargo workspace of ~25 runnable example crates. The curriculum progresses from window/surface setup (tutorial1-2), render pipelines and buffers (tutorial3-4), textures/uniforms/instancing/depth (tutorial5-8), through OBJ model loading, Blinn-Phong lighting, normal mapping, camera control, compute-shader terrain generation, HDR rendering, and particle systems. Each example is a small but complete winit application that runs natively and as WebAssembly via wasm-bindgen, sharing a common utils crate that provides the WgpuAppAction lifecycle trait, node-based render abstractions (ViewNode, ComputeNode, BufferlessFullscreenNode), and buffer/bind-group helpers. A VitePress documentation site embeds live WASM demos of the examples, and showcase crates demonstrate a Pong game, offscreen GIF encoding, multithreaded model loading, and compute-shader tangent generation. Although primarily a tutorial codebase, it is genuinely hybrid: it doubles as a deployable documentation site and a reference implementation of modern wgpu patterns.