Added WGSL shaders. (#3543)

This commit is contained in:
Branimir Karadžić
2026-01-09 19:31:01 -08:00
committed by GitHub
parent 1c08bab55a
commit 967f7629b6
342 changed files with 5869 additions and 865 deletions

View File

@@ -175,6 +175,77 @@ static const uint8_t vs_metaballs_spv[1608] =
0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x01, 0x00, 0x38, 0x00, 0x01, 0x00, 0x00, 0x03, // ..........8.....
0x05, 0x00, 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, // ........
};
static const uint8_t vs_metaballs_wgsl[1077] =
{
0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x0f, 0x75, // VSH......,.?...u
0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x04, 0x01, // _modelViewProj..
0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // .........u_model
0x04, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x03, 0x00, 0x00, 0x64, 0x69, // ..@...........di
0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x64, 0x65, // agnostic(off, de
0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, // rivative_uniform
0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, // ity);.diagnostic
0x28, 0x6f, 0x66, 0x66, 0x2c, 0x20, 0x73, 0x75, 0x62, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75, // (off, subgroup_u
0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x74, 0x79, 0x29, 0x3b, 0x0a, 0x0a, 0x73, 0x74, 0x72, // niformity);..str
0x75, 0x63, 0x74, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, // uct UniformBlock
0x5f, 0x31, 0x5f, 0x31, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // _1_1 {. u_model
0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x3a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x78, // ViewProj : mat4x
0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // 4<f32>,. u_mode
0x6c, 0x20, 0x3a, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3c, 0x6d, 0x61, 0x74, 0x34, 0x78, 0x34, // l : array<mat4x4
0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x31, 0x75, 0x3e, 0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, // <f32>, 1u>,.}..@
0x67, 0x72, 0x6f, 0x75, 0x70, 0x28, 0x30, 0x75, 0x29, 0x20, 0x40, 0x62, 0x69, 0x6e, 0x64, 0x69, // group(0u) @bindi
0x6e, 0x67, 0x28, 0x30, 0x75, 0x29, 0x20, 0x76, 0x61, 0x72, 0x3c, 0x75, 0x6e, 0x69, 0x66, 0x6f, // ng(0u) var<unifo
0x72, 0x6d, 0x3e, 0x20, 0x76, 0x20, 0x3a, 0x20, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, // rm> v : UniformB
0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x31, 0x5f, 0x31, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, // lock_1_1;..var<p
0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, // rivate> v_1 : ve
0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, // c4<f32>;..var<pr
0x69, 0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, // ivate> v_2 : vec
0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x76, 0x61, 0x72, 0x3c, 0x70, 0x72, 0x69, // 4<f32>;..var<pri
0x76, 0x61, 0x74, 0x65, 0x3e, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, // vate> v_3 : vec3
0x3c, 0x66, 0x33, 0x32, 0x3e, 0x3b, 0x0a, 0x0a, 0x66, 0x6e, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, // <f32>;..fn main_
0x69, 0x6e, 0x6e, 0x65, 0x72, 0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, // inner(a_color0 :
0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, // vec4<f32>, a_no
0x72, 0x6d, 0x61, 0x6c, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // rmal : vec3<f32>
0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, // , a_position : v
0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x65, // ec3<f32>) {. le
0x74, 0x20, 0x76, 0x5f, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, // t v_4 = (v.u_mod
0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, // elViewProj * vec
0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x28, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // 4<f32>(a_positio
0x6e, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, // n.x, a_position.
0x79, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x7a, 0x2c, // y, a_position.z,
0x20, 0x31, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x76, // 1.0f));. let v
0x5f, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x76, 0x2e, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, // _5 = ((v.u_model
0x5b, 0x30, 0x69, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, // [0i] * vec4<f32>
0x28, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x78, 0x2c, 0x20, 0x61, 0x5f, 0x6e, // (a_normal.x, a_n
0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x2e, 0x79, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, // ormal.y, a_norma
0x6c, 0x2e, 0x7a, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x66, 0x29, 0x29, 0x29, 0x2e, 0x78, 0x79, 0x7a, // l.z, 0.0f))).xyz
0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x31, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x34, 0x3b, 0x0a, 0x20, // ;. v_1 = v_4;.
0x20, 0x76, 0x5f, 0x32, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // v_2 = a_color0;
0x0a, 0x20, 0x20, 0x76, 0x5f, 0x33, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x35, 0x3b, 0x0a, 0x7d, 0x0a, // . v_3 = v_5;.}.
0x0a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, // .struct tint_sym
0x62, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x40, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, // bol {. @builtin
0x28, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x20, 0x3a, // (position). m :
0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, 0x20, 0x40, 0x6c, // vec4<f32>,. @l
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, 0x75, 0x29, 0x0a, 0x20, 0x20, 0x6d, 0x5f, // ocation(0u). m_
0x31, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x0a, 0x20, // 1 : vec4<f32>,.
0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x0a, 0x20, // @location(1u).
0x20, 0x6d, 0x5f, 0x32, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, // m_2 : vec3<f32>
0x2c, 0x0a, 0x7d, 0x0a, 0x0a, 0x40, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x0a, 0x66, 0x6e, 0x20, // ,.}..@vertex.fn
0x6d, 0x61, 0x69, 0x6e, 0x28, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x30, // main(@location(0
0x75, 0x29, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x20, 0x3a, 0x20, 0x76, 0x65, // u) a_color0 : ve
0x63, 0x34, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, // c4<f32>, @locati
0x6f, 0x6e, 0x28, 0x31, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x20, // on(1u) a_normal
0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, 0x3e, 0x2c, 0x20, 0x40, 0x6c, 0x6f, // : vec3<f32>, @lo
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x32, 0x75, 0x29, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, // cation(2u) a_pos
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3a, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3c, 0x66, 0x33, 0x32, // ition : vec3<f32
0x3e, 0x29, 0x20, 0x2d, 0x3e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, // >) -> tint_symbo
0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x65, 0x72, // l {. main_inner
0x28, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2c, 0x20, 0x61, 0x5f, 0x6e, 0x6f, 0x72, // (a_color0, a_nor
0x6d, 0x61, 0x6c, 0x2c, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x29, // mal, a_position)
0x3b, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x69, 0x6e, 0x74, 0x5f, // ;. return tint_
0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x28, 0x76, 0x5f, 0x31, 0x2c, 0x20, 0x76, 0x5f, 0x32, 0x2c, // symbol(v_1, v_2,
0x20, 0x76, 0x5f, 0x33, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, 0x03, 0x05, 0x00, 0x02, 0x00, 0x01, // v_3);.}........
0x00, 0x80, 0x00, 0x80, 0x00, // .....
};
static const uint8_t vs_metaballs_dx11[744] =
{
0x56, 0x53, 0x48, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2c, 0xf5, 0x3f, 0x02, 0x00, 0x0f, 0x75, // VSH......,.?...u