Simple starter files for GPU projects
Note that WebGPU standard is not ready,
quick status check: https://github.com/gpuweb/gpuweb/milestones
browser support: https://github.com/gpuweb/gpuweb/wiki/Implementation-Status
For OpenGL context loading, glad is used: https://github.com/Dav1dde/glad
Desktop multiplatform windowing: GLFW or SDL2
The apps display the Mandelbrot and Julia sets.
OpenCL has two more small apps for command line device query and parallel vecadd
Windows are resizable, and F11 - toggle fullscreen
Mouse move - set Julia parameter
Mouse drag - pan
Mouse wheel - zoom
Q key - freeze parameter
Ctrl-C and Ctrl-V: copies and pastes the Julia parameter. (Paste doesn't work for web apps, instead they show the parameter at all times)
GLFW: multiple monitor support: glfw/glfw#1699
SDL: app poses a full load on the CPU, vsync or manual sleep didn't work properly with X11
WebGPU: Working both in Firefox (Nightly) and Chromium, but without resizing
OpenCL: resizing can crash the app
Vulkan: coming
(no smartphone or controller support atm)