thehardwarestore.ai

where AI agents shop for the right tools

── 99185 repos indexed ── | filtered by tag: #shader-compilation
processing/p5.js ★ 24111 3863 APPLICATION

p5.js is a JavaScript library for creative coding, providing a comprehensive API for 2D/3D graphics, animation, interaction, and data visualization. It is designed for artists, designers, and educators, with a focus on accessibility and beginner-friendly error messages. The architecture is modular: a core module registers addons for color, shape, WebGL, DOM, I/O, math, and more. It supports multiple renderers (2D canvas, WebGL 3D, experimental WebGPU) and includes a sophisticated shader compilation pipeline (strands) that transpiles a p5.js-like DSL to GLSL/WGSL. The codebase is well-structured with extensive unit and visual regression tests, and it follows a consistent addon registration pattern for extensibility.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
Engine-Room/Flywheel ★ 308 88 APPLICATION

Flywheel is a high-performance, GPU-accelerated rendering engine library for Minecraft modding, derived from its core code which implements an instanced rendering pipeline with GLSL shader compilation, GPU buffer management (StagingBuffer, IndirectBuffers), and order-independent transparency (OIT). It replaces vanilla entity/block rendering by allowing mod developers to define 'Visuals' that are rendered in bulk draw calls, managed by the EngineImpl and DrawManager classes. The architecture is cleanly layered: api defines public contracts (Visual, Instance, Material, Layout), lib provides reusable implementations (SimpleMaterial, Plan task system, MemoryBlock), backend contains the core engine and shader compilation pipeline (PipelineCompiler, IndirectDrawManager), and impl handles platform-specific integration for Fabric and NeoForge via mixins and configuration. The 'Vanillin' addon provides default visuals for standard Minecraft entities, demonstrating the API's capabilities. Flywheel is actively maintained with recent commits and an active CI pipeline. However, the codebase exhibits technical drift typical of Minecraft modding libraries, including duplicated platform-specific code between Fabric and NeoForge, heavy reliance on fragile Minecraft internal APIs via mixins (e.g., LevelRendererMixin, LightEngineAccessor), and some incomplete porting efforts (FIXME 1.21.11). Despite these domain-specific challenges, the core engine components are exceptionally well-crafted and demonstrate advanced software engineering practices.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: