30 open-source projects similar to overv/vulkantutorial, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best VulkanTutorial alternative.
Tixl is a node-based motion graphics engine and procedural generation tool used to create 3D geometry and shaders. It utilizes a directed acyclic graph of operators and GPU-accelerated compute kernels to generate complex 3D shapes, particularly through the use of signed distance functions and particle simulations. The engine is highly extensible via a C# development framework that supports hot code reloading, allowing custom operator logic to be injected into the active runtime without restarting. It further distinguishes itself as a lighting controller, capable of translating 3D spatial attr
This project serves as a comprehensive educational framework and reference library for mastering high-performance graphics programming and parallel compute resource management. It provides a collection of practical implementations designed to demonstrate the explicit control required by the Vulkan API, covering the fundamental mechanics of modern graphics pipelines and cross-platform hardware interaction. The repository distinguishes itself by focusing on the low-level architectural requirements of modern GPU development, including manual memory allocation, multi-threaded command recording, a
webgl-fundamentals is a comprehensive educational resource and graphics tutorial for learning hardware-accelerated 2D and 3D rendering using the WebGL API. It serves as a structured 3D graphics curriculum and GPU programming reference, guiding users through the graphics pipeline from basic geometry to advanced rendering techniques. The project provides detailed guides on GLSL shader development, including the creation of vertex and fragment shaders. It specifically focuses on the implementation of real-time lighting models—such as directional, point, and spot lighting—and the application of s
gpu.cpp is a lightweight C++ library for executing low-level general-purpose GPU computation across different hardware vendors and operating systems. It functions as a portable GPU wrapper, kernel orchestrator, and tensor management system using the WebGPU specification to abstract device initialization, buffer transfers, and compute shader dispatching. The library provides a framework for defining compute kernels from shader code and managing their asynchronous dispatch and synchronization. It enables the execution of cross-platform compute shaders and the orchestration of GPU tasks through
gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands into native instructions for multiple GPU drivers. It provides a common interface for cross-platform rendering and general-purpose GPU compute programming. The project features an intermediate-representation shader translation system that converts source code and SPIR-V into target-specific languages. It employs a data-driven reference test framework to verify that graphics output remains consistent across different hardware platforms. Capabilities include parallel command buffe
Tinyrenderer is a C++ library designed as an educational tool for building a 3D graphics pipeline from scratch. It provides a software-defined rendering environment that executes all geometric transformations and rasterization tasks on the central processor, intentionally avoiding reliance on external hardware acceleration or graphics libraries. The project serves as a pedagogical resource for understanding the fundamental mathematical principles of computer graphics. It enables users to implement custom shader pipelines and core rendering techniques, such as barycentric coordinate calculatio
Vulkan-Hpp is a header-only C++ binding library for the Vulkan graphics and compute API. It provides a type-safe wrapper around the Vulkan C API, allowing developers to interface with GPU hardware through a C++ interface that introduces no runtime CPU overhead. The library utilizes Resource Acquisition Is Initialization patterns to manage the lifecycle of Vulkan handles and objects, automating the release of GPU resources. It replaces C-style enumerations and bit-fields with strong typing and static type checking to catch invalid API parameter assignments during compilation. The project cove
Rust-GPU is a compiler and toolchain that translates Rust source code into SPIR-V bytecode for execution on graphics and compute hardware. It provides a development environment for writing parallel compute kernels and graphics shaders using a custom LLVM backend that maps high-level language constructs to GPU-compatible memory layouts and instructions. The project enables cross-platform shader development, allowing the same Rust code to run across different GPU hardware and graphics APIs via the SPIR-V intermediate representation. It specifically supports the creation of general-purpose compu
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
TypeGPU is a tool for type-safe WebGPU development that enables writing shaders in TypeScript. It translates high-level TypeScript function definitions and structures into WebGPU Shading Language source code to automate shader generation and validate logic using a type system. The project provides a mechanism for cross-library GPU interoperability by sharing typed buffers without copying data to system memory. It also integrates the Model Context Protocol to allow AI agents to inspect generated shader code and diagnose runtime errors. The system manages WebGPU resource mapping through typed
This project provides a comprehensive toolset for WebGPU, serving as a graphics API wrapper, compute shader framework, resource manager, and shader toolchain. It enables browser-based GPU acceleration by offloading memory-intensive tasks and data processing from the CPU to the GPU. The framework manages the full lifecycle of GPU operations, from requesting physical hardware adapters and initializing logical devices to configuring programmable render and compute pipelines. It specifically supports the coordination of parallel workgroups and collective subgroup operations for general-purpose co
ogl is a WebGL graphics library and 3D scene graph engine designed for rendering three-dimensional scenes. It provides a lightweight framework for managing geometries and coordinating spatial transformations within a hierarchical system. The project includes a PBR shader system for creating realistic materials and a GPGPU computation framework for performing large-scale general-purpose calculations and particle simulations on the graphics processor. It also features a post-processing suite for applying visual filters to rendered scenes via frame buffers. The library covers broader capabiliti
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
This project is a CUDA programming course and technical guide focused on writing and optimizing GPU kernels for hardware acceleration. It provides structured learning resources for using the CUDA platform to execute operations on silicon architectures. The material covers the optimization of linear algebra kernels and the analysis of machine learning deployment. It includes guidance on identifying acceleration tools, mapping the deep learning ecosystem, and evaluating the frameworks used to move models from research to production environments. The scope extends to GPU performance optimizatio
GPU-Puzzles is an interactive learning environment and tutorial designed for mastering CUDA GPU kernel development. It serves as an educational tool and lab where users solve coding puzzles to understand how to map high-level logic to low-level GPU hardware instructions. The platform focuses on teaching parallel computing concepts and GPU architecture. Users practice developing parallel algorithms and managing GPU memory through a series of hands-on challenges. The environment utilizes a bridge between Python and CUDA to execute kernels and provide real-time feedback by validating outputs ag
This project is an educational platform and technical reference for learning real-time graphics programming through the development of custom shaders. It provides a comprehensive guide to the programmable graphics pipeline, offering a collection of tutorials and interactive examples that demonstrate how to manipulate coordinate spaces, manage buffer data, and implement complex rendering techniques in 3D environments. The repository distinguishes itself as a versatile toolkit for both photorealistic and non-photorealistic rendering. It includes modular implementations for stylized aesthetics s
This project is a comprehensive educational resource for building a high-performance game engine from the ground up using C++. It serves as a technical guide for developers seeking to understand the low-level architecture of engine systems, providing a structured approach to implementing core components like rendering pipelines, entity-component-system patterns, and multi-threaded task scheduling. The resource distinguishes itself by focusing on the practical implementation of complex engine subsystems, including graphics API abstraction layers for cross-platform compatibility and data-driven
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
Shader School is an interactive learning platform and graphics programming course designed for mastering GLSL shader development. It provides a structured curriculum for learning GPU programming and the technical foundations of programmable shaders through a series of browser-based coding exercises. The platform functions as an interactive shader sandbox and WebGL graphics tutorial, allowing users to write and test code within a real-time interface. This environment provides immediate visual feedback, enabling the practice of interactive graphics development and web-based shader workshopping
nalgebra is a linear algebra library for Rust that provides matrix and vector operations with support for both compile-time and runtime dimensions. It functions as a numerical analysis library and a sparse matrix library, offering a mathematical framework capable of running in embedded environments and WebAssembly without requiring the Rust standard library. The project distinguishes itself as a geometric transformation library, utilizing homogeneous coordinates, quaternions, and isometries to handle 3D rotations, translations, and projections. It implements a variety of matrix decompositions
Kaiju is a general purpose 2D and 3D game engine built with the Go programming language and the Vulkan graphics API. It serves as a cross-platform game framework for deploying interactive applications to Windows, Linux, Mac, and Android. The engine includes an integrated game editor for composing scenes, managing assets, and designing shaders within a visual workspace. It provides a dedicated shader designer workspace that supports real-time hot-reloading, allowing visual changes to be seen instantly without restarting the application. The framework covers a broad range of production systems
Ogre is a high-level 3D rendering engine designed for creating games, simulations, and visualizations without requiring low-level graphics API code. It functions as a framework for real-time 3D graphics processing, providing a physically based renderer to simulate lifelike surfaces and lighting. The engine includes specialized systems for skeletal animation to control character movement and a terrain generation system for producing large textured landscapes. These features are supported by automatic levels of detail and distance-based mesh management to maintain performance. The project cove
PyVista is a scientific 3D plotting framework and visualization library that provides a Python interface for rendering and analyzing spatial datasets using a VTK backend. It functions as a volumetric rendering engine and a 3D mesh analysis tool for computing geometric properties and performing boolean operations on surface and volumetric meshes. The project is distinguished by its ability to operate as a headless 3D renderer, generating high-quality renders and animations on remote servers without a physical display. It also features a lazy-accessor extension mechanism that allows the registr
Plotters is a data visualization library for the Rust programming language used to create 2D and 3D charts, plots, and mathematical visualizations. It functions as a multi-backend rendering engine and coordinate mapping framework that translates raw data values into pixel coordinates through customizable chart contexts. The library distinguishes itself through its ability to export graphics to multiple formats, including SVG, BitMap, and HTML5 canvas. It provides specific capabilities for 3D graphics plotting, featuring adjustable camera viewpoints and projection matrices to manage spatial da
Hazel is a C++ game development framework and 3D graphics rendering engine designed for building high-performance interactive software. It provides a foundational architecture that enables the construction of desktop applications through native hardware acceleration. The project includes a dedicated game engine editor that allows for the design and testing of interactive 3D and 2D scenes within a unified environment. This editor utilizes an immediate mode interface to maintain synchronization with the engine state, while a hardware-agnostic abstraction layer handles rendering commands across
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
Vuido is a framework for building native desktop applications for Windows, macOS, and Linux using Vue.js components, without requiring Electron or Chromium. It maps Vue components directly to native widgets from the libui library, creating lightweight applications that run on a single-threaded event loop and compile templates at build time for optimized runtime performance. The framework provides a complete Vue.js component-to-native bridge, enabling two-way data binding via v-model, component-based window composition, and platform-specific package generation for distributing executables. It
Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst
waifu2x-ncnn-vulkan is an AI super-resolution tool and image processor that uses deep learning to increase image resolution and remove visual noise. It is an NCNN-based implementation designed for efficient neural network inference on local hardware. The project utilizes the Vulkan API to provide GPU-accelerated image scaling and noise reduction across diverse graphics hardware. It employs tiled image processing to prevent GPU memory overflow and multi-threaded model loading to reduce initial startup latency. The software covers functional domains including AI image upscaling for maintaining