实时着色器编码工具和 Shader Showdown 核心工具
This is a live-coding tool, where you can write a 2D fragment/pixel shader while it is running in the background.
The tool was originally conceived and implemented after the Revision 2014 demoscene party's live coding competition where two contestants improv-code an effect in 25 minutes head-to-head. Wanna see how it looks in action? Check https://www.youtube.com/watch?v=KG_2q4OEhKc
Fresh builds of Bonzomatic will always be available at https://github.com/Gargaj/Bonzomatic/releases
On Windows, both DirectX 9 and 11 are supported.
For the OpenGL version (for any platform), at least OpenGL 4.1 is required.
On recent macOS, to allow sound input to be captured (for FFT textures to be generated), you need to: Open up System Preferences, click on Security & Privacy, click on the Privacy tab then click on the Microphone menu item. Make sure Bonzomatic.app is in the list and ticked.
You can configure Bonzomatic by creating a config.json and placing it next to the binary executable you're planning to run in the working directory for the binary; Bonzomatic will helpfully print this directory out for you when you run it, and you can also pass a file (with absolute or relative path, whichever you want) as parameter to the executable to load any other file as config.json. This allows you to have multiple configurations for multiple situations.
The file can have the following contents: (all fields are optional)
…
If you want the shader to be backed up once you quit Bonzomatic, you can use the above postExitCmd parameter in the config, and use a batch file like this:
@echo off
REM ### cf. https://stackoverflow.com/a/23476347
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
copy %1 X:\MyShaderBackups\%YYYY%%MM%%DD%-%HH%%Min%%Sec%.glsl
This will copy the shader timestamped into a specified folder.
A similar script for Linux and OSX would be:
cp "$1" "~/MyShaderBackups/shader-$(date +%s).glsl"
To have this script run on exit, make sure your postExitCmd has a ./ before the script name.
As you can see you're gonna need CMAKE for this, but don't worry, a lot of it is automated at this point.
Use at least Visual C++ 2010. For the DX9/DX11 builds, obviously you'll be needing a DirectX SDK, though a lot of it is already in the Windows 8.1 SDK as well.
cmake should take care of everything:
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ../
cmake --build .
The Bonzomatic.app bundle, resulting from the compilation, should be found in ./build/Bonzomatic.app. You can place it anywhere.
We do NOT recommend putting it in /Applications. Bonzomatic is looking for config.json files and resources living at the same level of the app.
You'll need xorg-dev, libasound2-dev and libglu1-mesa-dev; after that cmake should take care of the rest:
apt install xorg-dev libglu1-mesa-dev libasound2-dev cmake
cd Bonzomatic
cmake .
make
make install
Xenocara contains all required components. Hack away with
cmake .
make
or use the port
cd /usr/ports/graphics/bonzomatic
make install
If you want to organize a competition using Bonzomatic at your party, here's a handy-dandy guide on how to get started: https://github.com/Gargaj/Bonzomatic/wiki/How-to-set-up-a-Live-Coding-compo
These software are available under their respective licenses.
The remainder of this project code was (mostly, I guess) written by Gargaj / Conspiracy and is public domain. OSX / macOS maintenance and ports by Alkama / Tpolm + Calodox; Linux maintenance by PoroCYon / K2.
If you have anything to say, do it at https://www.pouet.net/topic.php?which=9881
暂无开放 Issues,或尚未同步最近议题。