Rapid Prototyping of Graphics Shaders in Modern C++
summary
Claims a C++ library lets you compile GLSL as C++ so shader code runs on the CPU with full debugging and quick prototyping. Implementation uses templated vectors/matrices, union-backed members plus a swizzle proxy + fold expressions to emit minimal assembly in release; implicit-conversion decay and promotion traits fix template deduction for functions like dot/max. Results: trivial shaders hit ~500 FPS on GCC/phone, complex procedural planet needs a powerful GPU for 60 FPS while the CPU prototype drops to single-digit FPS; release is fast, debug is slow.
AI-written summary · about
chapters (7)
- 0:00Introduction and motivation
- 6:47History of shading languages
- 13:06Designing C++ shader library
- 22:07Implementing vector swizzling
- 31:10Matrix support and operators
- 34:47Benchmarking and results
- 41:57Q&A session
related talks
01h 33mGPU programming with modern C++
01h 03mIntro to 3D Graphics
13mPythonic Shader Metaprogramming with Metashade
26mCreative experiments with WebGL shaders in JavaScript
01h 01m3D Graphics for Dummies
26mHarvest the power of the GPU for awesome special effects
01h 22mThe Case for Graphics Programming Using the D Language
01h 02mThe joys and sorrows of portable, cross-platform 3D graphics in Qt 6
