My personal OpenGL playground
Find a file
2025-10-21 05:01:14 +02:00
.vscode osu! slider path rendering 2025-07-09 00:19:50 +02:00
assets Use UV coords to collapse radius 2025-10-21 05:01:14 +02:00
src Implement advanced rounded rectangle (4 individual corners and border widths) 2025-10-21 04:36:06 +02:00
.gitignore I have *one* square 2024-07-03 21:59:42 +02:00
Cargo.lock Replace gl with glow 2025-07-10 23:30:18 +02:00
Cargo.toml Replace gl with glow 2025-07-10 23:30:18 +02:00
Readme.md OpenGL playground 2024-08-11 15:56:41 +02:00
rustfmt.toml Replace gl with glow 2025-07-10 23:30:18 +02:00

OpenGL playground

This is my personal playground to learn and experiment with low-level graphics programming stuff in OpenGL.

It runs with OpenGL >=3.3 on Windows, Linux and MacOS.

You can just run it with cargo run.

Scenes

F1 Round Quads

Round rects
Round quads scene

 

Tons of randomly styled rounded rectangles, spinning faster the closer they are to the mouse.

F2 Blurring

Blurring scene
Gaussian blur with kernel 5, radius 2 and 4 downsampling layers (no color dithering)

 

An image of Gawr Gura being blurred. The blur technique used is sampled Gaussian blur, with recursive downsampling and color dithering.

Relevant articles:

Keybinds:

  • / - Toggle diagonally sampled blur
  • D - Toggle dithering
  • - Increment blur kernel size
  • - Decrement blur kernel size
  • - Increase blur radius
  • - Decrease blur radius
  • L - Increase blur layers count
  • ⇧L - Decrease blur layers count

F3 Kawase Blur

Kawase Blur scene
Kawase-derived Dual-filter blur with radius 2 and 4 downsampling layers (no color dithering)

 

An image of Gawr Gura being blurred. The blur technique used is Dual Filtering, derived from the Kawase blur, with recursive downsampling and color dithering.

Relevant articles:

Keybinds:

  • D - Toggle dithering
  • - Increase kawase distance
  • - Decrease kawase distance
  • L - Increase blur layers count
  • ⇧L - Decrease blur layers count