pouët.net

do not rest your processors by qop [web]

       ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄   ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
       ██████          ▄▄▄▄▄▄ ▄▄▄▄▄▄          ██████ ██████          ██████
       █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░p█▓▓▓▓█
       █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░n█▒▒▒▒█
       █░░░░█ ░░░░░░░░ █░░░░█ █░░░░█ ░░░░░░░░ █░░░░█ █░░░░█ ░░░░░░░░x█░░░░█
       █░░░░█ ░░░░░░░░ █░░░░█ █░░░░█ ░░░░░░░░ █░░░░█ █░░░░█ ░░░░░░░░ █░░░░█
       █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█
       █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█
       ██████ ░░░░░░░░ ██████ ██████ ░░░░░░░░ ██████ ██████ ░░░░░░░░ ██████
       █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█
       █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█ █▒▒▒▒█ ░░░░░░░░ █▒▒▒▒█
       █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█ █▓▓▓▓█ ░░░░░░░░ █▓▓▓▓█
       ██████ ░░░░░░░░ ██████ █▓████ ░░░░░░░░ ██████ ██████ ░░░░░░░░ ██████
       ▀█████▄▄▄▄▄▄▄▄▄▄██████ ▀█▓███▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█████▀
       ┌────────────── ██████ ────────────────────── ██████ ──────────────┐
       └────────────── ██████ ────────────────────── ██████ ──────────────┘
      ┌│               ▀▀▀▀▀▀   is proud to release  ▀▀▀▀▀▀               │┐
      │└──────────────────────────────────────────────────────────────────┘│
      ││ do not rest your processors ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ││
      ││──────────────────────────────────────────────────────────────────││
      ││ First presented at Flashparty, October 2026, Buenos Aires,       ││
      ││ Argentina.                                                       ││
      ││                                                                  ││
      ││ A realtime demo that runs in a text terminal. Every frame is 3D  ││
      ││ rendered on the CPU and drawn with Unicode octant characters: a  ││
      ││ 2x4 grid of dots per character cell, two 24-bit colours per      ││
      ││ cell. No GPU, no pixels. What you see is text.                   ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ requirements ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ Windows 11: run run_wt.bat. It opens a fullscreen Windows        ││
      ││ Terminal with Cascadia Code and plays there with octant          ││
      ││ characters. Best at 1920x1080 or wider; any size works. Esc or   ││
      ││ Ctrl+C quits. No runtime to install. run_conhost.bat plays in    ││
      ││ the classic console with 2x2 blocks instead. qop.exe on its own  ││
      ││ follows the system's default terminal setting.                   ││
      ││                                                                  ││
      ││ Linux (Ubuntu 26.04 or similar): run ./qop in a terminal that    ││
      ││ draws octants itself (Ghostty, kitty 0.40+, foot 1.20+, VTE      ││
      ││ 0.78+). Audio needs libpulse0.                                   ││
      ││                                                                  ││
      ││ Any recent multicore CPU. The GPU is not used at all.            ││
      ││                                                                  ││
      ││ A video capture, qop-1080p60.mp4, is in the zip.                 ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ credits ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ Direction/Design/Music: Panoramix                                ││
      ││                                                                  ││
      ││ AI, declared: code written with Claude (Anthropic) under         ││
      ││ Panoramix's direction; art with Gemini, Microsoft Designer and   ││
      ││ local models, art-directed and edited by Panoramix. The          ││
      ││ soundtrack has no AI in it.                                      ││
      ││                                                                  ││
      ││ Additional Libraries:                                            ││
      ││   miniaudio, stb_image, stb_vorbis, GLM                          ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ music ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ By Panoramix, 175 BPM, no AI. Its MIDI and stems were analysed   ││
      ││ into a note table, and the rings, lit cells, knurls, strips and  ││
      ││ bars in the scenes land on its notes.                            ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ code ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ C++17, one engine for Windows and Linux. Twelve scenes on a bar  ││
      ││ grid, every cycle anchored to the music's clock. Raymarched and  ││
      ││ 2D shader scenes run on all CPU cores, then each character cell  ││
      ││ is quantised to the two colours it can show. A teletype stencils ││
      ││ a lit material through a rimmed chrome font; the loading screen  ││
      ││ fills with fluid.                                                ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ shaders ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ Every scene was rewritten for a CPU and a two-colours-a-cell     ││
      ││ display, but several began from other people's work. Thanks:     ││
      ││                                                                  ││
      ││ comb            "CAVE 09 - Enter the Cave" by Pinieon            ││
      ││ honey, cryo     after "kiln" by Patrick Jaillet                  ││
      ││ cellsurf        Shane's "Geometric Cellular Surfaces";           ││
      ││                 Voronoi edge distance by Tomkh and IQ            ││
      ││ inversion       after Kali's "The Inversion"                     ││
      ││ conduit         after the "rooms" VRChat world shader            ││
      ││ hexlat          after a PBR lattice (glslsandbox e#54592)        ││
      ││ hive            after the "blox" lattice paste                   ││
      ││ iris            after the "tri" paste                            ││
      ││ orb, orb_cells  after a rippled-shell paste                      ││
      ││ wire            after a wireframe paste                          ││
      ││ masks: glass    "Glass Field" by Kali                            ││
      ││        caustic  Dave Hoskins, after joltz0r                      ││
      ││        storm, streak  Patrick Jaillet                            ││
      ││        haze, web, spin, weave  Shadertoy pastes                  ││
      ││ Hex SDF, smooth min and much more by Inigo Quilez.               ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘
      ┌│ links ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ |┐
      │┌──────────────────────────────────────────────────────────────────┐│
      ││ https://github.com/Patrickjaillet/Z-GL-Shadertoy                 ││
      ││ https://www.shadertoy.com/view/4ssGWr                            ││
      ││ https://www.shadertoy.com/view/lss3zr                            ││
      ││ https://www.shadertoy.com/view/clsSWH                            ││
      ││ https://miniaud.io/                                              ││
      ││ https://github.com/nothings/stb                                  ││
      └│──────────────────────────────────────────────────────────────────│┘
       └──────────────────────────────────────────────────────────────────┘