ShaderBoiやってみる
repo
ちなみにOSSではなさそう
ダウンロードしてみる
https://gyazo.com/cc9eb584ea9dd2fea9c67a308e28bf50
なんか.appじゃなくてびっくり
code:a
taiseiue@lily ShaderBoi % ./sboi
INFO ffmpeg detected: ffmpeg version 8.0.1 INFO ffprobe detected: ffprobe version 8.0.1 Error: no project file specified. either in config or as arg
ふむ..?
help
code:a
taiseiue@lily myshader % ./sboi --help
ShaderBoi
Options:
-i, --in shader to run: ID or full url
file
--cfg path to config file (ShaderBoi.ron)
--vr use mainVR instead of mainImage, to render in 360°
--stereo rendering mode:
mono|top-bottom|left-right|right-left|anaglyph
--ipd interpupillary distance (distance between pupils), only
relevant in stereo rendering
-s, --res override project resolution:
WxH|st|360p|sd|480p|md|720p|hd|4k|8k|16k
-r, --fps frame rate
-a, --audio path to audio input file
-m, --midi path to midi input file or name of midi input port
-c, --refetch clear cached version of shaders in scene, refetch
-t, --time time offset in seconds (float)
-d, --skipbeats time offset for midi file in beats (float)
-f, --fov set horz FOV (in degrees) for perspective projection.
default is 90°
-p, --invproj invert projection mode (default: perspective proj for live,
equirectangular for recording)
-V, --version print version info and exit
--help display usage information
Commands:
rec record video
fin finalize video with audio and metadata
inj inject 360° metadata into video file
dl download and unpack shader (extract code of render passes
into separate .frag files)
ul upload given shader to shadertoy (to save changes after
local editing)
pkg package unpacked shader back into one json file, for
manually importing it on shadertoy
genproj create new project folder containing a project.ron file
based on the given args
new create a new shader on shadertoy (with new id), download and
unpack it
audio-inputs list available audio input devices
cam-list list available camera devices (to use as shader input)
cam-opts list options (resolution, fps) for given camera
ふむふむ
一旦プロジェクト作成やってみる
code:a
taiseiue@lily ShaderBoi % ./sboi genproj myproj
Error: you must specify a shader with -i <shader_id> (before genproj)
なんかshadertoryのIDをベースにつくるらしい?
これをベースにやる
code:a
Error: fetch_shader(tlVGDt)
Caused by:
0: fetch_json_shader(tlVGDt)
1: HTTP error 403 Forbidden when fetching tlVGDt
だめです
しょうがないので手動
もっともらしいやつを生成してもらった
code:a
$ mkdir myproj
code:myproj/main.frag
void mainImage(out vec4 fragColor, in vec2 fragCoord)
{
vec2 uv = fragCoord / iResolution.xy;
float bass = texture(iChannel0, vec2(0.01, 0.25)).x;
vec3 col = vec3(uv, 0.5);
col += bass * 2.0;
fragColor = vec4(col, 1.0);
}
code:myproj/project.ron
(
shaders: [
(
name: "Image",
path: "main.frag",
inputs: [
(
channel: 0,
kind: "audio",
),
],
),
],
)
なんかどれでもsyntax errorになって使いかた不明なので塩漬け