Webgpu samples
Author: e | 2025-04-23
WebGPU Explainer; WebGPU Fundamentals - Teach you the very fundamentals of WebGPU; WebGPU Samples - A set of samples demonstrating the use of the WebGPU API; WebGPU WebGPU Samples. Contribute to webgpu/webgpu-samples development by creating an account on GitHub.
webgpu/webgpu-samples: WebGPU Samples - GitHub
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.Engines and libraries ⚙️NameStarsLast CommitDescriptionthree.jsJavaScript 3D librarystack.glan open software ecosystem for WebGL, built on top of browserify and npm.PixiJSSuper fast HTML 5 2D rendering engine that uses webGL with canvas fallbackPexPex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser.Babylon.jsa complete JavaScript framework for building 3D games with HTML 5 and WebGLFilamentFilament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGLClayGLA WebGL graphic library helping you to build scalable Web3D applicationsAwayJSAwayJS is a graphics library for javascript written in typescriptSceneJSAn extensible WebGL-based engine for high-detail 3D visualisationBlend4Weba tool for interactive 3D visualization on the InternetPlayCanvasJavaScript game engine built on WebGL and WebVRTurbulenzTurbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices.Hilo3da WebGL Rendering Engine.litesceneA WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio.Two.jsA renderer agnostic two-dimensional drawing api for the web.webgl-operateA TypeScript based WebGL rendering framework.RhodoniteRhodonite Web3D Library in TypeScriptZograA simple WebGL2 renderer.LayaAirLayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.libGDXDesktop/Android/HTML5/iOS Java game development framework.LittleJSLittleJS is a HTML5 game engine with many features and no dependencies.Galacean EngineA typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF.NameStarsLast CommitDescriptiondawnDawn, a WebGPU implementationwgpuSafe and portable GPU abstraction in Rust, implementing WebGPU API.RedGPURedGPU - Javascript webGPU Enginesokol3D-API wrapperwgpuNative WebGPU implementation based on gfx-haldgelA WebGPU engine.YUEPersonal WebGPU based 3D renderer.Simple-GPUFunctional WebGPU.VelloAn experimental GPU compute-centric 2D renderer.GWebGPUEngineA WebGPU Engine for real-time rendering and GPGPU.OrillusionOrillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.SWGPUA complete, fast and fun web game engine with examples.XGPUa higher-level, easy-to-use interface for building rendering engines or processing numeric data.webgpu-rendererA simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.pointsA Generative Art library made in WebGPUWebGPU RaytracerRealtime path tracing via WebGPU compute shadersWebGPU-KitA minimal webGPU toolkit for rendering and compute pipelinesshadeupA language for WebGPU that makes writing shaders easierSundown EngineWebGPU game engine for fun and games.CobaltWebGpu 2D renderer.Toolkits and micro frameworks 🧰NameStarsLast CommitDescriptionreglFast functional WebGLlightgl.jsA lightweight WebGL libraryTWGLA Tiny WebGL helper Libraryp5.jsa new interpretation of Processing, not an emulation or port.Foura slightly higher level graphics API based on WebGL 1.0TDLTDL is a low-level library for WebGL apps (see TWGL)KickJSA WebGL game engine for modern web-browsersnanoglwebgl micro frameworkAlfridA WebGL tool setMediumProgressive WebGL toolkit for artPicoGL.jsA minimal WebGL 2-only rendering libraryO-GLMinimal WebGL frameworkmini-webglMini toy WebGL libraryphenomenon-pxThe fastest way to create pixel shaders.zen-3dJavaScript 3D library.GLOWGLOW is a WebGL wrapper, which focuses on easy creation and use of shaders.HelixA WebGPU Explainer; WebGPU Fundamentals - Teach you the very fundamentals of WebGPU; WebGPU Samples - A set of samples demonstrating the use of the WebGPU API; WebGPU Lottie-rsA Lottie file toolkit written in Rust. Lottie is a JSON format exported with Bodymovin plugin from Adobe After Effects describing animations. This crate aims to parse, analyze and render this animation format with multiple renderers.SamplesThe following samples are gathered from lottiefiles.com community and lottiefiles.github.io. Creditsgoes to original owners/creators of the files.NamePreviewNamePreviewConfettiNyan CatTechno PenguinDelete AnimationA (5x scaled)B (5x scaled)Bounce StrokesTry it outThe default player implementation uses Bevy to render the animation.Currently supports bevy 0.13.0.cargo r --release -- --input ../../fixtures/ui/drink.jsonThere are some lottie files for demonstration purpose under fixtures/uiBevy support tablebevylottie-rs0.13main / 0.0.1Headless runnerExporting animation headlessly is also supported, aiming to render animations on a server. Currentlyyou can export animation to webp file using the --headless option.cargo r --release -- --input fixtures/ui/drink.json --headlessA webp file with the same name as input JSON will be generated.Feature Incompletion NoticeDue to limitation of webGPU, some features are not supported and listed below.Blend mode: this involves complex texture exchanging and is really hardFont LoadingThis library uses font-toolkit to manage/load/use fonts, whichis also MIT-licensed.If a font is missing or a system default font is used (e.g. monospace), currently lottie-rs willuse Fira Mono as the default fallback if running on architecturethat allows local font loading. For WASM targets, this fallback logic is not present, a matchingfailure will cause the text being skipped.Comments
A non-exhaustive list of WebGL and WebGPU frameworks and libraries. It is mostly for learning purposes as some of the libraries listed are wip/outdated/not maintained anymore.Engines and libraries ⚙️NameStarsLast CommitDescriptionthree.jsJavaScript 3D librarystack.glan open software ecosystem for WebGL, built on top of browserify and npm.PixiJSSuper fast HTML 5 2D rendering engine that uses webGL with canvas fallbackPexPex is a javascript 3d library / engine allowing for seamless development between Plask and WebGL in the browser.Babylon.jsa complete JavaScript framework for building 3D games with HTML 5 and WebGLFilamentFilament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS and WASM/WebGLClayGLA WebGL graphic library helping you to build scalable Web3D applicationsAwayJSAwayJS is a graphics library for javascript written in typescriptSceneJSAn extensible WebGL-based engine for high-detail 3D visualisationBlend4Weba tool for interactive 3D visualization on the InternetPlayCanvasJavaScript game engine built on WebGL and WebVRTurbulenzTurbulenz is a modular 3D and 2D game framework for making HTML5 powered games for browsers, desktops and mobile devices.Hilo3da WebGL Rendering Engine.litesceneA WebGL 3D Engine library with component-based node hierarchy. Used by WebGLStudio.Two.jsA renderer agnostic two-dimensional drawing api for the web.webgl-operateA TypeScript based WebGL rendering framework.RhodoniteRhodonite Web3D Library in TypeScriptZograA simple WebGL2 renderer.LayaAirLayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.libGDXDesktop/Android/HTML5/iOS Java game development framework.LittleJSLittleJS is a HTML5 game engine with many features and no dependencies.Galacean EngineA typescript interactive engine, support 2D, 3D, animation, physics, built on WebGL and glTF.NameStarsLast CommitDescriptiondawnDawn, a WebGPU implementationwgpuSafe and portable GPU abstraction in Rust, implementing WebGPU API.RedGPURedGPU - Javascript webGPU Enginesokol3D-API wrapperwgpuNative WebGPU implementation based on gfx-haldgelA WebGPU engine.YUEPersonal WebGPU based 3D renderer.Simple-GPUFunctional WebGPU.VelloAn experimental GPU compute-centric 2D renderer.GWebGPUEngineA WebGPU Engine for real-time rendering and GPGPU.OrillusionOrillusion is a pure Web3D rendering engine which is fully developed based on the WebGPU standard.SWGPUA complete, fast and fun web game engine with examples.XGPUa higher-level, easy-to-use interface for building rendering engines or processing numeric data.webgpu-rendererA simple renderer implemented by WebGPU, includes a builtin path tracing pipeline.pointsA Generative Art library made in WebGPUWebGPU RaytracerRealtime path tracing via WebGPU compute shadersWebGPU-KitA minimal webGPU toolkit for rendering and compute pipelinesshadeupA language for WebGPU that makes writing shaders easierSundown EngineWebGPU game engine for fun and games.CobaltWebGpu 2D renderer.Toolkits and micro frameworks 🧰NameStarsLast CommitDescriptionreglFast functional WebGLlightgl.jsA lightweight WebGL libraryTWGLA Tiny WebGL helper Libraryp5.jsa new interpretation of Processing, not an emulation or port.Foura slightly higher level graphics API based on WebGL 1.0TDLTDL is a low-level library for WebGL apps (see TWGL)KickJSA WebGL game engine for modern web-browsersnanoglwebgl micro frameworkAlfridA WebGL tool setMediumProgressive WebGL toolkit for artPicoGL.jsA minimal WebGL 2-only rendering libraryO-GLMinimal WebGL frameworkmini-webglMini toy WebGL libraryphenomenon-pxThe fastest way to create pixel shaders.zen-3dJavaScript 3D library.GLOWGLOW is a WebGL wrapper, which focuses on easy creation and use of shaders.HelixA
2025-04-14Lottie-rsA Lottie file toolkit written in Rust. Lottie is a JSON format exported with Bodymovin plugin from Adobe After Effects describing animations. This crate aims to parse, analyze and render this animation format with multiple renderers.SamplesThe following samples are gathered from lottiefiles.com community and lottiefiles.github.io. Creditsgoes to original owners/creators of the files.NamePreviewNamePreviewConfettiNyan CatTechno PenguinDelete AnimationA (5x scaled)B (5x scaled)Bounce StrokesTry it outThe default player implementation uses Bevy to render the animation.Currently supports bevy 0.13.0.cargo r --release -- --input ../../fixtures/ui/drink.jsonThere are some lottie files for demonstration purpose under fixtures/uiBevy support tablebevylottie-rs0.13main / 0.0.1Headless runnerExporting animation headlessly is also supported, aiming to render animations on a server. Currentlyyou can export animation to webp file using the --headless option.cargo r --release -- --input fixtures/ui/drink.json --headlessA webp file with the same name as input JSON will be generated.Feature Incompletion NoticeDue to limitation of webGPU, some features are not supported and listed below.Blend mode: this involves complex texture exchanging and is really hardFont LoadingThis library uses font-toolkit to manage/load/use fonts, whichis also MIT-licensed.If a font is missing or a system default font is used (e.g. monospace), currently lottie-rs willuse Fira Mono as the default fallback if running on architecturethat allows local font loading. For WASM targets, this fallback logic is not present, a matchingfailure will cause the text being skipped.
2025-04-03UsedFixed WebGPU using the incorrect size for booleansFixed a memory leak with some string marshalling functionsIf you are using Silk.NET with an iOS or Android application, please enable trimming and set TrimMode to full. 2.17.1 Hotfix Release 2.17.0 Spring 2023 Update 1 Silk.NET Spring 2023 Update 1Added zero-cost extension methods for ComPtrs, making our DirectX bindings easier to use and higher quality than ever before.Added WebGPU bindings for Dawn and WGPU.Added Direct2D bindings. (massive thank you to @curin)Added DirectComposition bindings. (again, massive preesh to @curin)Added DirectWrite bindings.Added d3d11on12 bindings.Added WGL bindings.Added support for Android 12.Added support for OpenAL disconnect extension. (thanks @okaniku)Added GLFW API constants for ANGLE. (thanks @cyraid)Added extension functions for OpenAL BufferData to make use of AL_EXT_float32 enums.Added ReopenDevices extension for OpenAL Soft. (thanks @LeNitrous)Added BufferCallback extension for OpenAL Soft.Added Vulkan structure chain polymorphism. (thanks @Khitiara for the proposal)Added SDL/GLFW native libraries for Windows on ARM64.Added IsScancodePressed function in Silk.NET Input.Added TopMost in Silk.NET Windowing (thanks @MarioGK)Added EGL display and surface to INativeWindow.Added an explicit check against calling Reset on a window while within the render loop of said window.Added support for multiple native binary candidate paths for a single binding.Improved support for WASM and AOT in the Silk.NET loader.Improved support for Windows on ARM64.Improved Silk.NET.Maths generic specialization codegen.Improved support for DXVK, including a new DXHandle property in INativeWindow for getting Linux HWND equivalents.Improved support for Silk.NET.Windowing under reflection-free NativeAOTUpdated to SDL 2.24.Updated to Vulkan 1.3.246.Updated to DirectStorage 1.1.1.Updated to OpenXR 1.0.27.Updated to Assimp 5.2.5.Updated to latest OpenCL specifications.Updated to latest OpenGL specifications.Updated to latest ImGui.Fixed XInput GetApi not being implemented. (thanks @skyebird189)Fixed TransparentBuffer not being applied correctly without specifying a PreferredBitDepth. (thanks @MarioGK)Fixed wide string marshalling.Fixed string array marshalling on systems where the max DBCS character size is insufficient for UTF8.Fixed Span overloads not calculating the correct length value for ommitted (implicit) length parameters.Fixed copying of native libraries under .NET Framework 4.6.1. (thanks @paralaxsd)Fixed SDL crashing on Android when the screen rotates in some cases.Fixed a memory leak when using GlobalMemory to marshal string arrays instead of StringArrayToPtr. (thanks @Khitiara)Welcome to the biggest update yet! 2.17 Spring
2025-03-28Un popover ou une boîte de dialogue situé dans un document inactif échouait de manière silencieuse. Aucune exception ne sera générée, mais comme le document est inactif, aucun pop-up ni aucune boîte de dialogue ne s'affichera. À partir de Chrome 132, ces situations génèrent désormais une exception InvalidStateError.API WebAuthn SignalPermet aux parties de confiance WebAuthn de signaler des informations sur les identifiants existants aux fournisseurs de stockage d'identifiants, afin que les identifiants incorrects ou révoqués puissent être mis à jour ou supprimés de l'UI du fournisseur et du système.En savoir plus sur l'API Signal pour les clés d'accès sur Chrome pour ordinateurWebGPU: mélange de textures à virgule flottante 32 bitsLa fonctionnalité GPU float32-blendable permet de mélanger les textures GPU avec les formats r32float, rg32float et rgba32float.WebGPU: exposer GPUAdapterInfo à partir de GPUDeviceL'attribut adapterInfo de GPUDevice expose le même GPUAdapterInfo que l'objet GPUAdapter.WebGPU: utilisation de la vue de textureAjoute un champ facultatif à la création de la vue de texture WebGPU pour demander un sous-ensemble des indicateurs d'utilisation de la texture source.Par défaut, l'utilisation de la vue de texture hérite de la texture source, mais il existe des formats de vue qui peuvent être incompatibles avec l'ensemble complet des utilisations héritées.L'ajout d'un champ d'utilisation à la création de la vue de texture permet à l'utilisateur de demander un sous-ensemble des utilisations de la texture source qui sont valides avec le format de vue et spécifiques à l'utilisation prévue de la vue de texture.Les implémentations WebGPU peuvent également optimiser la création de ressources de bas niveau et améliorer les performances lors de l'utilisation de vues avec des indicateurs d'utilisation plus spécialisés.Nouveaux tests OriginDans Chrome 132, vous pouvez activer les nouvelles phases d'évaluation de l'origine suivantes.Document-Isolation-PolicyDocument-Isolation-Policy permet à un document d'activer crossOriginIsolation pour lui-même, sans avoir à déployer COOP ou COEP, et quel que soit l'état crossOriginIsolation de la page. La règle est basée sur l'isolation des processus. De plus, les sous-ressources multi-origines non CORS du document seront chargées sans identifiants ou devront comporter un en-tête CORP.Cette fonctionnalité vous permet d'associer des informations sur les fonctions à analyser et compiler de manière anticipée dans les fichiers JavaScript. Les informations seront encodées en tant que commentaires magiques.Abandons et suppressionsCette version de Chrome introduit les abandons et suppressions suivants.Consultez ChromeStatus.com pour obtenir la liste des fonctionnalités abandonnées, en cours d'abandon et supprimées précédemment.Cette version de Chrome supprime deux fonctionnalités.navigator.storage n'est plus un EventTargetnavigator.storage est devenu
2025-03-27