This program listens on port 8081
for incoming requests. If a request comes in
it blows a ton of confetti on your desktop using a compute-shader on your GPU.
Well. Usefulness is a very subjective term. I use it so that I get notified when a chat-message from twitch comes in using this little program: https://github.com/michaeleggers/obs-twitch-bot.
- Use native networking API to listen for requests and send a response.
- Start SDL window with OpenGL context.
- Move request-handling into its own thread.
- Experiment with wayland directly to make window non-clickable (failed, but was fun).
- Load GLSL code from disk and compile to SPIR-V via glslang.
- Create uniform buffer to animate shader with CPU-side data.
- Render a shit-load of particles using a compute-shader.
- Allow multiple events to be played at the same time.
- Investigate possible read/write hazard in compute shader. Weird artifacts appear sometimes.
- Load external models (OBJ).
- Linux OS
- clang++
- glslang (comes with eg. the Vulkan SDK)
Create Makefile (or whatever you need) via CMake. Then build the program. It will be put into the /bin/
directory.
The program expects you to either have the shaders
next to the executable directory:
cp -r shaders bin/
or you pass the base-directory as a commandline-argument eg:
./curltest /home/<usename>/<...>/opengl-request-handler/
Start the program with
SDL_VIDEODRIVER=x11 ./curltest
Otherwise the window will not be placed as the top-most one.