30 open-source projects similar to stackgl/shader-school, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Shader School alternative.
The Book of Shaders is an interactive educational guide and curriculum for learning GLSL fragment shader programming to create procedural graphics and visual effects. It provides a structured learning path and a categorized reference guide for data types, built-in functions, and mathematical operations used in shader development. The project features a web-based shader sandbox and interactive editor that allows for real-time iteration and visualization of GLSL code. Users can experiment with procedural art and share their results via unique URLs. The curriculum covers a wide range of graphic
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
WebGL Noise is a library of shader routines designed for procedural graphics generation within the browser. It provides a collection of mathematical functions that allow developers to calculate noise patterns directly on the graphics processing unit, eliminating the need for external image assets or pre-computed data textures. The library focuses on the implementation of standard noise algorithms, including simplex, classic, cellular, and periodic patterns. By executing these calculations as stateless functions within the shader pipeline, the project enables the creation of dynamic, evolving
:mortar_board: The sequel to shader-school: Learn the WebGL API
VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par
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
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 a three-dimensional developer portfolio template and web application. It uses Three.js to render interactive 3D models, animations, and environmental effects directly within the browser to create an immersive professional showcase. The application integrates artificial intelligence to provide automated responses to visitor inquiries and includes a community forum where authenticated users can share knowledge. It also features a system for generating personalized learning roadmaps based on user profile data and an algorithmic content recommendation system to improve post discov
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
Pannellum is a WebGL panorama viewer and virtual tour framework used to render equirectangular or cubemap images as immersive 360-degree environments. It functions as a multiresolution image renderer and a panoramic video player, supporting both static images and spherical video playback. The project distinguishes itself by its ability to handle extremely large, high-resolution panoramas through multiresolution tile generation and loading. It enables the creation of interactive virtual tours by linking multiple panoramic scenes together using transition fades and interactive hotspots. The sy
Vanta is a browser-based engine and library for rendering real-time, interactive 3D animations and stylized visual effects. It initializes and manages WebGL graphics within the HTML5 Canvas element to create animated digital art and dynamic backgrounds for web pages. The engine focuses on interactivity, mapping mouse and touch inputs to real-time visual changes. It provides configuration tools to adjust visual parameters, such as colors and animation properties, to align with specific branding and aesthetic requirements. The system handles the full animation lifecycle, including GPU renderin
Tensorspace is a WebGL-based 3D visualization framework and renderer designed to map deep learning model architectures and tensor data into interactive three-dimensional spaces. It serves as a neural network architecture visualizer and model inspector, allowing users to render model topologies and analyze data flow within a web browser. The project distinguishes itself through its ability to convert pre-trained Keras and TensorFlow models into spatial representations. It integrates with TensorFlow.js to execute inference in the browser, enabling the real-time visualization of intermediate act
Cesium is a JavaScript library designed for rendering high-precision 3D globes and 2D maps within web browsers. It functions as a visualization engine that leverages hardware-accelerated graphics to display complex geographic data, terrain, and imagery. The library distinguishes itself through a modular architecture that supports the streaming of massive geographic datasets. By employing tiled data delivery and hierarchical level-of-detail optimization, it maintains performance while navigating large-scale environments. It also includes a time-dynamic state management system, which synchroniz
Vizceral is a web-based interactive graph visualization tool and network topology analytics dashboard. It functions as a WebGL network traffic visualizer designed to render animated graphs that display data flow and connection volumes between network nodes. The tool focuses on distributed system monitoring and real-time traffic analysis. It maps network topologies through interactive tiered views, allowing users to navigate from global summaries down to individual node interactions to identify dependencies and communication patterns. The system handles network traffic visualization and topol
OpenSC2K is an open-source JavaScript city builder engine designed as a recreation of SimCity 2000. It functions as a web-based simulation that uses the Phaser 3 framework to implement game loops and entity management. The project utilizes WebGL and Canvas rendering to visualize large-scale urban environments. It includes a coordinate-based camera system that enables panning and zooming across the reconstructed game world. The engine incorporates a data pipeline to parse legacy city files and graphics assets, allowing it to reconstruct and display urban layouts within a modern web browser.
MUI X is a collection of advanced React UI components for building data-rich applications, including a data grid, charting library, date and time pickers, scheduler, and tree view. The library is built with accessibility as a core principle, ensuring all components meet WCAG and WAI-ARIA standards for keyboard navigation and screen reader announcements. The components are designed for extensibility and performance. The data grid offers comprehensive data management with sorting, filtering, pagination, column pinning, row grouping, inline editing, and Excel export. The charting library support
This project is a web-based prize drawing tool and raffle manager that uses a 3D sphere-based interface to execute randomized winner selections. It combines a Three.js visualization layer with an Express backend to simulate a lottery drawing process within a browser. The application allows for the configuration of prize tiers, quantities, and drawing rules through JSON files, while managing winner eligibility and restrictions. It facilitates the coordination of event giveaways by importing participant lists and exporting final results via Excel files for auditing and record-keeping. The syst
L7 is a WebGL-powered geospatial visualization engine and browser-based GIS engine designed for high-performance rendering of large-scale 2D and 3D spatial datasets. It functions as a geographic data visualization library that leverages hardware acceleration to display massive datasets and heatmaps within a web browser. The engine features an abstracted basemap integration layer that decouples data visualization from the underlying map provider, allowing for the use of various map providers or offline deployments. It employs a system for visual variable mapping to translate numeric and catego
Mario-Kart-3.js is a browser-based 3D racing simulation implemented in JavaScript. It utilizes a WebGL game engine to render three-dimensional race tracks and vehicle models directly within a web browser using graphics hardware. The simulation features a physics-based drifting and maneuver system for gaining speed boosts and a power item system for deploying competitive advantages during races. The project encompasses a vehicle control system that maps keyboard and mouse inputs to steering and acceleration, alongside a simulation engine that manages collision detection and scripted item logi
gxui is an experimental Go GUI framework and cross-platform UI library used to create graphical user interfaces that run on multiple operating systems using a single codebase. The framework utilizes a WebGL web UI renderer that compiles Go application code into JavaScript to display interfaces within a web browser. It employs a cross-platform abstract interface to map UI primitives to different operating system rendering backends. The project covers the development of single-codebase application logic and the rendering of interfaces through hardware-accelerated graphics APIs.
This project is a structured Rust programming course and learning path consisting of a sequence of interactive coding exercises. It provides a curriculum designed to guide learners from basic language fundamentals, such as syntax and type systems, to the development of complex applications. The learning experience is supported by a command-line solution validator that verifies the correctness of code solutions. The curriculum follows a progressive problem sequencing model, allowing users to master memory management and application logic through a series of practical coding challenges. The sc
This project is a browser-based framework designed for building three-dimensional, block-based games and interactive simulations. It functions as a JavaScript library that provides the core infrastructure for rendering voxel environments, managing dynamic terrain data, and executing real-time physics within a web-based context. The engine distinguishes itself through a high-performance WebGL rendering pipeline that utilizes texture-atlas material mapping to consolidate visual assets and reduce draw calls. It manages large-scale environments by dividing the world into discrete, chunk-based spa
webgl-globe is a WebGL globe visualization library and geospatial renderer used to display latitude and longitude spatial data on an interactive 3D globe. It functions as a 3D data visualization tool that maps coordinate-based datasets into a three-dimensional environment. The library provides capabilities for interactive geographic visualization and spatial data animation, allowing for the rendering of geographic coordinates and the creation of automated motion sequences to illustrate trends or movements over time. It utilizes hardware acceleration to implement a web-based map interface, em
This project is a functional programming course and automated coding curriculum designed to teach the core principles of the paradigm through a structured sequence of exercises and modules. It serves as an interactive programming tutorial where learners solve incremental problems and validate their understanding through a programming exercise suite. The curriculum is language-agnostic, focusing on core logic and paradigms rather than a specific language. It employs an automated toolchain that transforms source code into executable binaries to verify solutions. Correctness is validated using
This project is a creative coding showcase and interactive 3D portfolio template. It utilizes JavaScript and ThreeJS to render a navigable browser environment for presenting professional projects and digital artwork. The project implements a WebGL interactive gallery and immersive digital showcases. These environments use hardware-accelerated graphics to provide 3D navigation and creative web animations. The technical implementation includes a 3D scene with camera movement and lighting, supported by GLTF model loading and raycaster-based interaction. The architecture employs an entity-compon
SandDance is a hardware-accelerated visualization library and web-based data explorer designed for the interactive analysis of large, non-aggregated datasets. It functions as an interactive data visualization tool that renders complex datasets and intricate visuals within a browser. The project provides an embeddable data canvas consisting of web components and tags, allowing for the integration of full visualization interfaces and interactive charts into external web applications. It utilizes WebGL hardware acceleration to efficiently render large volumes of data as interactive graphics. Th
This project is a web-based 3D experience and interactive gallery designed as a personal portfolio. It uses a virtual room simulation to create a spatial representation of a physical environment where users can navigate and explore digital art and creative work. The environment is rendered directly in the browser as an interactive 3D gallery, allowing users to engage with a spatial showcase through first-person navigation. The project utilizes WebGL-based GPU rendering and custom shader-based lighting to display complex spatial environments. It incorporates asynchronous asset loading and an
VivaGraphJS is a JavaScript graph visualization library used to render interactive network diagrams and relational data in web browsers. It features a force-directed layout engine that employs physics-based simulations, using spring and charge models to calculate balanced spatial distributions for nodes and links. The library utilizes a modular rendering architecture that decouples mathematical layout logic from the visual output. This allows for interchangeable rendering pipelines, supporting both vector-based SVG diagrams and hardware-accelerated WebGL rendering for large-scale visualizatio
This project is a cross-platform graphics wrapper and translation layer that implements the OpenGL ES and EGL specifications. It functions as a graphics API bridge, mapping OpenGL ES calls and WebGL content to platform-specific hardware APIs such as Vulkan and Metal to ensure consistent rendering across different operating systems. The system features a shader translation service that validates shading language code and transpiles it into multiple target languages, including HLSL, SPIR-V, and Metal SL. It employs a pluggable backend architecture to select the appropriate hardware rendering AP
ReShade is a post-processing shader injector that hooks into DirectX, OpenGL, and Vulkan rendering pipelines to apply custom shaders in real time. It operates by injecting a DLL into the target process, intercepting graphics API calls, and inserting a configurable pipeline of user-selected shader effects that read color and depth buffers to alter the final output. The project distinguishes itself through depth buffer auto-detection, which automatically identifies the depth-stencil attachment in the rendering pipeline, enabling per-pixel depth effects such as ambient occlusion and depth-of-fie