do some initial grass rendering prep
This commit is contained in:
parent
80bbe103e0
commit
c9807cb38e
@ -293,8 +293,6 @@ draw_level_editor :: () {
|
||||
size = size_of(type_of(positions)),
|
||||
}));
|
||||
|
||||
print("Offset for trile: % is %\n", it.trileName, offset);
|
||||
|
||||
bindings : sg_bindings;
|
||||
bindings.vertex_buffers[0] = trilegfx.vertex_buffer;
|
||||
bindings.vertex_buffers[1] = trilegfx.normal_buffer;
|
||||
|
||||
@ -13,5 +13,5 @@ draw_ground_plane :: (cam: *Camera, worldConfig: *World_Config = null) {
|
||||
sg_apply_bindings(*gPipelines.plane.bind);
|
||||
sg_apply_uniforms(UB_plane_vs_params, *(sg_range.{ ptr = *vs_params, size = size_of(type_of(vs_params)) }));
|
||||
sg_apply_uniforms(UB_plane_world_config, *(sg_range.{ptr = *world_conf, size = size_of(type_of(world_conf))}));
|
||||
sg_draw(0, 6, 10);
|
||||
sg_draw(0, 6, 64);
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ Plane_World_Config :: struct {
|
||||
void main()
|
||||
{
|
||||
vec3 _16 = position.xyz * 1000.0;
|
||||
gl_Position = mat4(plane_vs_params[0], plane_vs_params[1], plane_vs_params[2], plane_vs_params[3]) * vec4(_16.x, (_16.y + 0.100000001490116119384765625) + (float(gl_InstanceID) * 0.004999999888241291046142578125), _16.z, 1.0);
|
||||
gl_Position = mat4(plane_vs_params[0], plane_vs_params[1], plane_vs_params[2], plane_vs_params[3]) * vec4(_16.x, float(gl_InstanceID) * 0.00999999977648258209228515625, _16.z, 1.0);
|
||||
pos = position;
|
||||
idx = gl_InstanceID;
|
||||
}
|
||||
@ -89,17 +89,15 @@ vs_plane_source_glsl430 := u8.[
|
||||
0x31,0x5d,0x2c,0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,
|
||||
0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x76,0x73,
|
||||
0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,
|
||||
0x63,0x34,0x28,0x5f,0x31,0x36,0x2e,0x78,0x2c,0x20,0x28,0x5f,0x31,0x36,0x2e,0x79,
|
||||
0x20,0x2b,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,
|
||||
0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,
|
||||
0x29,0x20,0x2b,0x20,0x28,0x66,0x6c,0x6f,0x61,0x74,0x28,0x67,0x6c,0x5f,0x49,0x6e,
|
||||
0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x44,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,
|
||||
0x34,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,
|
||||
0x30,0x34,0x36,0x31,0x34,0x32,0x35,0x37,0x38,0x31,0x32,0x35,0x29,0x2c,0x20,0x5f,
|
||||
0x31,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x70,0x6f,0x73,0x20,0x3d,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x69,0x64,0x78,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x49,0x6e,0x73,
|
||||
0x74,0x61,0x6e,0x63,0x65,0x49,0x44,0x3b,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
0x63,0x34,0x28,0x5f,0x31,0x36,0x2e,0x78,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,
|
||||
0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x44,0x29,0x20,0x2a,
|
||||
0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,
|
||||
0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,
|
||||
0x2c,0x20,0x5f,0x31,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,
|
||||
0x20,0x20,0x20,0x70,0x6f,0x73,0x20,0x3d,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,
|
||||
0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x64,0x78,0x20,0x3d,0x20,0x67,0x6c,0x5f,
|
||||
0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x44,0x3b,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
|
||||
];
|
||||
/*
|
||||
#version 430
|
||||
@ -122,28 +120,46 @@ vs_plane_source_glsl430 := u8.[
|
||||
float time;
|
||||
};
|
||||
|
||||
uniform plane_world_config _28;
|
||||
uniform plane_world_config _84;
|
||||
|
||||
layout(location = 0) out vec4 frag_color;
|
||||
layout(location = 0) in vec4 pos;
|
||||
layout(location = 1) flat in int idx;
|
||||
|
||||
float random(vec2 st)
|
||||
uint murmurHash12(inout uvec2 src)
|
||||
{
|
||||
return fract(sin(dot(st, vec2(12.98980045318603515625, 767.23297119140625))) * 43758.546875);
|
||||
src *= uvec2(1540483477u);
|
||||
src ^= (src >> uvec2(24u));
|
||||
src *= uvec2(1540483477u);
|
||||
uint _49 = ((3744546739u ^ src.x) * 1540483477u) ^ src.y;
|
||||
uint _56 = (_49 ^ (_49 >> 13u)) * 1540483477u;
|
||||
return _56 ^ (_56 >> 15u);
|
||||
}
|
||||
|
||||
float hash12(vec2 src)
|
||||
{
|
||||
uvec2 param = floatBitsToUint(src);
|
||||
uint _69 = murmurHash12(param);
|
||||
return uintBitsToFloat((_69 & 8388607u) | 1065353216u) - 1.0;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
if (_28.planeType == 1)
|
||||
if (_84.planeType == 1)
|
||||
{
|
||||
frag_color = vec4(0.0, 0.0, 1.0, 1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
vec2 _54 = pos.xy * 10.0;
|
||||
vec2 param = _54;
|
||||
frag_color = vec4(vec3(length(vec2((fract(_54.x) * 2.0) - 1.0, (fract(_54.y) * 2.0) - 1.0))) * 0.100000001490116119384765625, 1.0);
|
||||
vec2 _109 = pos.xz * 100000.0;
|
||||
vec2 _110 = round(_109);
|
||||
vec2 param = _110;
|
||||
float _122 = hash12(param);
|
||||
if (((_122 - (0.0625 * float(idx))) * 0.5) < length(_110 - _109))
|
||||
{
|
||||
discard;
|
||||
}
|
||||
frag_color = vec4(0.0, _122, 0.0, 1.0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -171,42 +187,69 @@ fs_plane_source_glsl430 := u8.[
|
||||
0x70,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x74,0x69,
|
||||
0x6d,0x65,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x20,
|
||||
0x70,0x6c,0x61,0x6e,0x65,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,
|
||||
0x69,0x67,0x20,0x5f,0x32,0x38,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,
|
||||
0x69,0x67,0x20,0x5f,0x38,0x34,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,
|
||||
0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x6f,0x75,
|
||||
0x74,0x20,0x76,0x65,0x63,0x34,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,
|
||||
0x72,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,
|
||||
0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,0x20,0x69,0x6e,0x20,0x76,0x65,0x63,0x34,0x20,
|
||||
0x70,0x6f,0x73,0x3b,0x0a,0x6c,0x61,0x79,0x6f,0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,
|
||||
0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x31,0x29,0x20,0x66,0x6c,0x61,0x74,0x20,0x69,
|
||||
0x6e,0x20,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3b,0x0a,0x0a,0x66,0x6c,0x6f,0x61,
|
||||
0x74,0x20,0x72,0x61,0x6e,0x64,0x6f,0x6d,0x28,0x76,0x65,0x63,0x32,0x20,0x73,0x74,
|
||||
0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,
|
||||
0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x73,0x74,0x2c,
|
||||
0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30,0x30,0x34,
|
||||
0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x37,
|
||||
0x36,0x37,0x2e,0x32,0x33,0x32,0x39,0x37,0x31,0x31,0x39,0x31,0x34,0x30,0x36,0x32,
|
||||
0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,0x36,
|
||||
0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,0x61,
|
||||
0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,
|
||||
0x32,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,0x20,0x3d,0x3d,0x20,
|
||||
0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,
|
||||
0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,
|
||||
0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x35,0x34,0x20,0x3d,0x20,
|
||||
0x70,0x6f,0x73,0x2e,0x78,0x79,0x20,0x2a,0x20,0x31,0x30,0x2e,0x30,0x3b,0x0a,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,
|
||||
0x6d,0x20,0x3d,0x20,0x5f,0x35,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,
|
||||
0x63,0x34,0x28,0x76,0x65,0x63,0x33,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x76,
|
||||
0x65,0x63,0x32,0x28,0x28,0x66,0x72,0x61,0x63,0x74,0x28,0x5f,0x35,0x34,0x2e,0x78,
|
||||
0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x2c,0x20,
|
||||
0x28,0x66,0x72,0x61,0x63,0x74,0x28,0x5f,0x35,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,
|
||||
0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,
|
||||
0x30,0x2e,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,
|
||||
0x36,0x31,0x31,0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,
|
||||
0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
0x6e,0x20,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3b,0x0a,0x0a,0x75,0x69,0x6e,0x74,
|
||||
0x20,0x6d,0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,0x31,0x32,0x28,0x69,0x6e,
|
||||
0x6f,0x75,0x74,0x20,0x75,0x76,0x65,0x63,0x32,0x20,0x73,0x72,0x63,0x29,0x0a,0x7b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,0x20,0x75,0x76,0x65,0x63,
|
||||
0x32,0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x5e,0x3d,0x20,0x28,0x73,0x72,0x63,0x20,
|
||||
0x3e,0x3e,0x20,0x75,0x76,0x65,0x63,0x32,0x28,0x32,0x34,0x75,0x29,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,0x20,0x75,0x76,0x65,0x63,0x32,
|
||||
0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x29,0x3b,0x0a,0x20,
|
||||
0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x34,0x39,0x20,0x3d,0x20,0x28,0x28,
|
||||
0x33,0x37,0x34,0x34,0x35,0x34,0x36,0x37,0x33,0x39,0x75,0x20,0x5e,0x20,0x73,0x72,
|
||||
0x63,0x2e,0x78,0x29,0x20,0x2a,0x20,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,
|
||||
0x37,0x75,0x29,0x20,0x5e,0x20,0x73,0x72,0x63,0x2e,0x79,0x3b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x35,0x36,0x20,0x3d,0x20,0x28,0x5f,0x34,0x39,
|
||||
0x20,0x5e,0x20,0x28,0x5f,0x34,0x39,0x20,0x3e,0x3e,0x20,0x31,0x33,0x75,0x29,0x29,
|
||||
0x20,0x2a,0x20,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x35,0x36,0x20,0x5e,
|
||||
0x20,0x28,0x5f,0x35,0x36,0x20,0x3e,0x3e,0x20,0x31,0x35,0x75,0x29,0x3b,0x0a,0x7d,
|
||||
0x0a,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x76,
|
||||
0x65,0x63,0x32,0x20,0x73,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x75,
|
||||
0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x66,0x6c,0x6f,
|
||||
0x61,0x74,0x42,0x69,0x74,0x73,0x54,0x6f,0x55,0x69,0x6e,0x74,0x28,0x73,0x72,0x63,
|
||||
0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x36,0x39,0x20,
|
||||
0x3d,0x20,0x6d,0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,0x31,0x32,0x28,0x70,
|
||||
0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,
|
||||
0x6e,0x20,0x75,0x69,0x6e,0x74,0x42,0x69,0x74,0x73,0x54,0x6f,0x46,0x6c,0x6f,0x61,
|
||||
0x74,0x28,0x28,0x5f,0x36,0x39,0x20,0x26,0x20,0x38,0x33,0x38,0x38,0x36,0x30,0x37,
|
||||
0x75,0x29,0x20,0x7c,0x20,0x31,0x30,0x36,0x35,0x33,0x35,0x33,0x32,0x31,0x36,0x75,
|
||||
0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,
|
||||
0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,
|
||||
0x20,0x28,0x5f,0x38,0x34,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,0x20,
|
||||
0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,
|
||||
0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,
|
||||
0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,0x65,0x63,0x32,0x20,0x5f,0x31,0x30,
|
||||
0x39,0x20,0x3d,0x20,0x70,0x6f,0x73,0x2e,0x78,0x7a,0x20,0x2a,0x20,0x31,0x30,0x30,
|
||||
0x30,0x30,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x76,
|
||||
0x65,0x63,0x32,0x20,0x5f,0x31,0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x6e,0x64,
|
||||
0x28,0x5f,0x31,0x30,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x31,0x31,
|
||||
0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,
|
||||
0x20,0x5f,0x31,0x32,0x32,0x20,0x3d,0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x70,
|
||||
0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,
|
||||
0x66,0x20,0x28,0x28,0x28,0x5f,0x31,0x32,0x32,0x20,0x2d,0x20,0x28,0x30,0x2e,0x30,
|
||||
0x36,0x32,0x35,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x69,0x64,0x78,0x29,
|
||||
0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x3c,0x20,0x6c,0x65,0x6e,0x67,
|
||||
0x74,0x68,0x28,0x5f,0x31,0x31,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x39,0x29,0x29,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,
|
||||
0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x32,0x32,0x2c,0x20,0x30,
|
||||
0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,
|
||||
0x7d,0x0a,0x0a,0x00,
|
||||
];
|
||||
/*
|
||||
#version 300 es
|
||||
@ -219,7 +262,7 @@ fs_plane_source_glsl430 := u8.[
|
||||
void main()
|
||||
{
|
||||
vec3 _16 = position.xyz * 1000.0;
|
||||
gl_Position = mat4(plane_vs_params[0], plane_vs_params[1], plane_vs_params[2], plane_vs_params[3]) * vec4(_16.x, (_16.y + 0.100000001490116119384765625) + (float(gl_InstanceID) * 0.004999999888241291046142578125), _16.z, 1.0);
|
||||
gl_Position = mat4(plane_vs_params[0], plane_vs_params[1], plane_vs_params[2], plane_vs_params[3]) * vec4(_16.x, float(gl_InstanceID) * 0.00999999977648258209228515625, _16.z, 1.0);
|
||||
pos = position;
|
||||
idx = gl_InstanceID;
|
||||
}
|
||||
@ -244,17 +287,14 @@ vs_plane_source_glsl300es := u8.[
|
||||
0x6e,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x5b,0x32,0x5d,0x2c,
|
||||
0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x76,0x73,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,
|
||||
0x5b,0x33,0x5d,0x29,0x20,0x2a,0x20,0x76,0x65,0x63,0x34,0x28,0x5f,0x31,0x36,0x2e,
|
||||
0x78,0x2c,0x20,0x28,0x5f,0x31,0x36,0x2e,0x79,0x20,0x2b,0x20,0x30,0x2e,0x31,0x30,
|
||||
0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,
|
||||
0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x66,0x6c,
|
||||
0x6f,0x61,0x74,0x28,0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,
|
||||
0x44,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39,0x39,
|
||||
0x38,0x38,0x38,0x32,0x34,0x31,0x32,0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32,0x35,
|
||||
0x37,0x38,0x31,0x32,0x35,0x29,0x2c,0x20,0x5f,0x31,0x36,0x2e,0x7a,0x2c,0x20,0x31,
|
||||
0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x20,0x3d,0x20,0x70,
|
||||
0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x64,0x78,
|
||||
0x20,0x3d,0x20,0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x44,
|
||||
0x3b,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
0x78,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,
|
||||
0x61,0x6e,0x63,0x65,0x49,0x44,0x29,0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,
|
||||
0x39,0x39,0x39,0x39,0x39,0x37,0x37,0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,
|
||||
0x32,0x32,0x38,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,0x5f,0x31,0x36,0x2e,0x7a,
|
||||
0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x70,0x6f,0x73,0x20,
|
||||
0x3d,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x69,0x64,0x78,0x20,0x3d,0x20,0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,
|
||||
0x65,0x49,0x44,0x3b,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
];
|
||||
/*
|
||||
#version 300 es
|
||||
@ -279,28 +319,46 @@ vs_plane_source_glsl300es := u8.[
|
||||
highp float time;
|
||||
};
|
||||
|
||||
uniform plane_world_config _28;
|
||||
uniform plane_world_config _84;
|
||||
|
||||
layout(location = 0) out highp vec4 frag_color;
|
||||
in highp vec4 pos;
|
||||
flat in int idx;
|
||||
|
||||
highp float random(highp vec2 st)
|
||||
uint murmurHash12(inout uvec2 src)
|
||||
{
|
||||
return fract(sin(dot(st, vec2(12.98980045318603515625, 767.23297119140625))) * 43758.546875);
|
||||
src *= uvec2(1540483477u);
|
||||
src ^= (src >> uvec2(24u));
|
||||
src *= uvec2(1540483477u);
|
||||
uint _49 = ((3744546739u ^ src.x) * 1540483477u) ^ src.y;
|
||||
uint _56 = (_49 ^ (_49 >> 13u)) * 1540483477u;
|
||||
return _56 ^ (_56 >> 15u);
|
||||
}
|
||||
|
||||
highp float hash12(highp vec2 src)
|
||||
{
|
||||
uvec2 param = floatBitsToUint(src);
|
||||
uint _69 = murmurHash12(param);
|
||||
return uintBitsToFloat((_69 & 8388607u) | 1065353216u) - 1.0;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
if (_28.planeType == 1)
|
||||
if (_84.planeType == 1)
|
||||
{
|
||||
frag_color = vec4(0.0, 0.0, 1.0, 1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
highp vec2 _54 = pos.xy * 10.0;
|
||||
highp vec2 param = _54;
|
||||
frag_color = vec4(vec3(length(vec2((fract(_54.x) * 2.0) - 1.0, (fract(_54.y) * 2.0) - 1.0))) * 0.100000001490116119384765625, 1.0);
|
||||
highp vec2 _109 = pos.xz * 100000.0;
|
||||
highp vec2 _110 = round(_109);
|
||||
highp vec2 param = _110;
|
||||
highp float _122 = hash12(param);
|
||||
if (((_122 - (0.0625 * float(idx))) * 0.5) < length(_110 - _109))
|
||||
{
|
||||
discard;
|
||||
}
|
||||
frag_color = vec4(0.0, _122, 0.0, 1.0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -335,42 +393,69 @@ fs_plane_source_glsl300es := u8.[
|
||||
0x0a,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,
|
||||
0x20,0x74,0x69,0x6d,0x65,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x75,0x6e,0x69,0x66,0x6f,
|
||||
0x72,0x6d,0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,0x63,
|
||||
0x6f,0x6e,0x66,0x69,0x67,0x20,0x5f,0x32,0x38,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,
|
||||
0x6f,0x6e,0x66,0x69,0x67,0x20,0x5f,0x38,0x34,0x3b,0x0a,0x0a,0x6c,0x61,0x79,0x6f,
|
||||
0x75,0x74,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x30,0x29,
|
||||
0x20,0x6f,0x75,0x74,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,
|
||||
0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x3b,0x0a,0x69,0x6e,0x20,0x68,
|
||||
0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x34,0x20,0x70,0x6f,0x73,0x3b,0x0a,0x66,
|
||||
0x6c,0x61,0x74,0x20,0x69,0x6e,0x20,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3b,0x0a,
|
||||
0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,
|
||||
0x64,0x6f,0x6d,0x28,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x73,
|
||||
0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,
|
||||
0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x73,0x74,
|
||||
0x2c,0x20,0x76,0x65,0x63,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,0x38,0x30,0x30,
|
||||
0x34,0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,0x35,0x2c,0x20,
|
||||
0x37,0x36,0x37,0x2e,0x32,0x33,0x32,0x39,0x37,0x31,0x31,0x39,0x31,0x34,0x30,0x36,
|
||||
0x32,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,0x2e,0x35,0x34,
|
||||
0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6d,
|
||||
0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,
|
||||
0x5f,0x32,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,0x20,0x3d,0x3d,
|
||||
0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,
|
||||
0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,
|
||||
0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,
|
||||
0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,
|
||||
0x0a,0x75,0x69,0x6e,0x74,0x20,0x6d,0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,
|
||||
0x31,0x32,0x28,0x69,0x6e,0x6f,0x75,0x74,0x20,0x75,0x76,0x65,0x63,0x32,0x20,0x73,
|
||||
0x72,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,
|
||||
0x20,0x75,0x76,0x65,0x63,0x32,0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,
|
||||
0x37,0x75,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x5e,0x3d,0x20,
|
||||
0x28,0x73,0x72,0x63,0x20,0x3e,0x3e,0x20,0x75,0x76,0x65,0x63,0x32,0x28,0x32,0x34,
|
||||
0x75,0x29,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,0x20,
|
||||
0x75,0x76,0x65,0x63,0x32,0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,
|
||||
0x75,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x34,0x39,
|
||||
0x20,0x3d,0x20,0x28,0x28,0x33,0x37,0x34,0x34,0x35,0x34,0x36,0x37,0x33,0x39,0x75,
|
||||
0x20,0x5e,0x20,0x73,0x72,0x63,0x2e,0x78,0x29,0x20,0x2a,0x20,0x31,0x35,0x34,0x30,
|
||||
0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x29,0x20,0x5e,0x20,0x73,0x72,0x63,0x2e,0x79,
|
||||
0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x35,0x36,0x20,0x3d,
|
||||
0x20,0x28,0x5f,0x34,0x39,0x20,0x5e,0x20,0x28,0x5f,0x34,0x39,0x20,0x3e,0x3e,0x20,
|
||||
0x31,0x33,0x75,0x29,0x29,0x20,0x2a,0x20,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,
|
||||
0x37,0x37,0x75,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,
|
||||
0x5f,0x35,0x36,0x20,0x5e,0x20,0x28,0x5f,0x35,0x36,0x20,0x3e,0x3e,0x20,0x31,0x35,
|
||||
0x75,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x68,0x69,0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,
|
||||
0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x68,0x69,0x67,0x68,0x70,0x20,
|
||||
0x76,0x65,0x63,0x32,0x20,0x73,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x75,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x66,0x6c,
|
||||
0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x54,0x6f,0x55,0x69,0x6e,0x74,0x28,0x73,0x72,
|
||||
0x63,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x36,0x39,
|
||||
0x20,0x3d,0x20,0x6d,0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,0x31,0x32,0x28,
|
||||
0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,
|
||||
0x72,0x6e,0x20,0x75,0x69,0x6e,0x74,0x42,0x69,0x74,0x73,0x54,0x6f,0x46,0x6c,0x6f,
|
||||
0x61,0x74,0x28,0x28,0x5f,0x36,0x39,0x20,0x26,0x20,0x38,0x33,0x38,0x38,0x36,0x30,
|
||||
0x37,0x75,0x29,0x20,0x7c,0x20,0x31,0x30,0x36,0x35,0x33,0x35,0x33,0x32,0x31,0x36,
|
||||
0x75,0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x76,0x6f,0x69,
|
||||
0x64,0x20,0x6d,0x61,0x69,0x6e,0x28,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x69,
|
||||
0x66,0x20,0x28,0x5f,0x38,0x34,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,
|
||||
0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,
|
||||
0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,
|
||||
0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,
|
||||
0x65,0x63,0x32,0x20,0x5f,0x31,0x30,0x39,0x20,0x3d,0x20,0x70,0x6f,0x73,0x2e,0x78,
|
||||
0x7a,0x20,0x2a,0x20,0x31,0x30,0x30,0x30,0x30,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,
|
||||
0x20,0x5f,0x35,0x34,0x20,0x3d,0x20,0x70,0x6f,0x73,0x2e,0x78,0x79,0x20,0x2a,0x20,
|
||||
0x31,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,
|
||||
0x67,0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,
|
||||
0x20,0x5f,0x35,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,
|
||||
0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,
|
||||
0x76,0x65,0x63,0x33,0x28,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x76,0x65,0x63,0x32,
|
||||
0x28,0x28,0x66,0x72,0x61,0x63,0x74,0x28,0x5f,0x35,0x34,0x2e,0x78,0x29,0x20,0x2a,
|
||||
0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x2c,0x20,0x28,0x66,0x72,
|
||||
0x61,0x63,0x74,0x28,0x5f,0x35,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,
|
||||
0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,
|
||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,
|
||||
0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,
|
||||
0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
0x20,0x5f,0x31,0x31,0x30,0x20,0x3d,0x20,0x72,0x6f,0x75,0x6e,0x64,0x28,0x5f,0x31,
|
||||
0x30,0x39,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,0x67,
|
||||
0x68,0x70,0x20,0x76,0x65,0x63,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,
|
||||
0x5f,0x31,0x31,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x68,0x69,
|
||||
0x67,0x68,0x70,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x32,0x32,0x20,0x3d,
|
||||
0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x28,0x5f,0x31,
|
||||
0x32,0x32,0x20,0x2d,0x20,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,0x66,
|
||||
0x6c,0x6f,0x61,0x74,0x28,0x69,0x64,0x78,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,
|
||||
0x35,0x29,0x20,0x3c,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x5f,0x31,0x31,0x30,
|
||||
0x20,0x2d,0x20,0x5f,0x31,0x30,0x39,0x29,0x29,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x72,0x61,0x67,0x5f,
|
||||
0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x76,0x65,0x63,0x34,0x28,0x30,0x2e,0x30,
|
||||
0x2c,0x20,0x5f,0x31,0x32,0x32,0x2c,0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,
|
||||
0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
];
|
||||
/*
|
||||
#include <metal_stdlib>
|
||||
@ -399,7 +484,7 @@ fs_plane_source_glsl300es := u8.[
|
||||
{
|
||||
main0_out out = {};
|
||||
float3 _16 = in.position.xyz * 1000.0;
|
||||
out.gl_Position = _28.mvp * float4(_16.x, (_16.y + 0.100000001490116119384765625) + (float(int(gl_InstanceIndex)) * 0.004999999888241291046142578125), _16.z, 1.0);
|
||||
out.gl_Position = _28.mvp * float4(_16.x, float(int(gl_InstanceIndex)) * 0.00999999977648258209228515625, _16.z, 1.0);
|
||||
out.pos = in.position;
|
||||
out.idx = int(gl_InstanceIndex);
|
||||
return out;
|
||||
@ -441,20 +526,17 @@ vs_plane_source_metal_macos := u8.[
|
||||
0x30,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x67,0x6c,
|
||||
0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x20,0x3d,0x20,0x5f,0x32,0x38,0x2e,
|
||||
0x6d,0x76,0x70,0x20,0x2a,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x5f,0x31,0x36,
|
||||
0x2e,0x78,0x2c,0x20,0x28,0x5f,0x31,0x36,0x2e,0x79,0x20,0x2b,0x20,0x30,0x2e,0x31,
|
||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,
|
||||
0x39,0x33,0x38,0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x29,0x20,0x2b,0x20,0x28,0x66,
|
||||
0x6c,0x6f,0x61,0x74,0x28,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x49,0x6e,0x73,0x74,
|
||||
0x61,0x6e,0x63,0x65,0x49,0x6e,0x64,0x65,0x78,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,
|
||||
0x30,0x30,0x34,0x39,0x39,0x39,0x39,0x39,0x39,0x38,0x38,0x38,0x32,0x34,0x31,0x32,
|
||||
0x39,0x31,0x30,0x34,0x36,0x31,0x34,0x32,0x35,0x37,0x38,0x31,0x32,0x35,0x29,0x2c,
|
||||
0x20,0x5f,0x31,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x6f,0x75,0x74,0x2e,0x70,0x6f,0x73,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x70,
|
||||
0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,
|
||||
0x2e,0x69,0x64,0x78,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x67,0x6c,0x5f,0x49,0x6e,
|
||||
0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x6e,0x64,0x65,0x78,0x29,0x3b,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,
|
||||
0x0a,0x00,
|
||||
0x2e,0x78,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x28,0x69,0x6e,0x74,0x28,0x67,0x6c,
|
||||
0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x6e,0x64,0x65,0x78,0x29,0x29,
|
||||
0x20,0x2a,0x20,0x30,0x2e,0x30,0x30,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x37,0x37,
|
||||
0x36,0x34,0x38,0x32,0x35,0x38,0x32,0x30,0x39,0x32,0x32,0x38,0x35,0x31,0x35,0x36,
|
||||
0x32,0x35,0x2c,0x20,0x5f,0x31,0x36,0x2e,0x7a,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x70,0x6f,0x73,0x20,0x3d,0x20,0x69,
|
||||
0x6e,0x2e,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x6f,0x75,0x74,0x2e,0x69,0x64,0x78,0x20,0x3d,0x20,0x69,0x6e,0x74,0x28,0x67,0x6c,
|
||||
0x5f,0x49,0x6e,0x73,0x74,0x61,0x6e,0x63,0x65,0x49,0x6e,0x64,0x65,0x78,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,
|
||||
0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
];
|
||||
/*
|
||||
#pragma clang diagnostic ignored "-Wmissing-prototypes"
|
||||
@ -490,26 +572,46 @@ vs_plane_source_metal_macos := u8.[
|
||||
struct main0_in
|
||||
{
|
||||
float4 pos [[user(locn0)]];
|
||||
int idx [[user(locn1)]];
|
||||
};
|
||||
|
||||
static inline __attribute__((always_inline))
|
||||
float random(thread const float2& st)
|
||||
uint murmurHash12(thread uint2& src)
|
||||
{
|
||||
return fract(sin(dot(st, float2(12.98980045318603515625, 767.23297119140625))) * 43758.546875);
|
||||
src *= uint2(1540483477u);
|
||||
src ^= (src >> uint2(24u));
|
||||
src *= uint2(1540483477u);
|
||||
uint _49 = ((3744546739u ^ src.x) * 1540483477u) ^ src.y;
|
||||
uint _56 = (_49 ^ (_49 >> 13u)) * 1540483477u;
|
||||
return _56 ^ (_56 >> 15u);
|
||||
}
|
||||
|
||||
fragment main0_out main0(main0_in in [[stage_in]], constant plane_world_config& _28 [[buffer(0)]])
|
||||
static inline __attribute__((always_inline))
|
||||
float hash12(thread const float2& src)
|
||||
{
|
||||
uint2 param = as_type<uint2>(src);
|
||||
uint _69 = murmurHash12(param);
|
||||
return as_type<float>((_69 & 8388607u) | 1065353216u) - 1.0;
|
||||
}
|
||||
|
||||
fragment main0_out main0(main0_in in [[stage_in]], constant plane_world_config& _84 [[buffer(0)]])
|
||||
{
|
||||
main0_out out = {};
|
||||
if (_28.planeType == 1)
|
||||
if (_84.planeType == 1)
|
||||
{
|
||||
out.frag_color = float4(0.0, 0.0, 1.0, 1.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
float2 _54 = in.pos.xy * 10.0;
|
||||
float2 param = _54;
|
||||
out.frag_color = float4(float3(length(float2((fract(_54.x) * 2.0) - 1.0, (fract(_54.y) * 2.0) - 1.0))) * 0.100000001490116119384765625, 1.0);
|
||||
float2 _109 = in.pos.xz * 100000.0;
|
||||
float2 _110 = round(_109);
|
||||
float2 param = _110;
|
||||
float _122 = hash12(param);
|
||||
if (((_122 - (0.0625 * float(in.idx))) * 0.5) < length(_110 - _109))
|
||||
{
|
||||
discard_fragment();
|
||||
}
|
||||
out.frag_color = float4(0.0, _122, 0.0, 1.0);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
@ -551,49 +653,81 @@ fs_plane_source_metal_macos := u8.[
|
||||
0x28,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,0x72,0x75,0x63,
|
||||
0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x0a,0x7b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x70,0x6f,0x73,0x20,0x5b,0x5b,0x75,0x73,
|
||||
0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,
|
||||
0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,
|
||||
0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,
|
||||
0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x66,0x6c,
|
||||
0x6f,0x61,0x74,0x20,0x72,0x61,0x6e,0x64,0x6f,0x6d,0x28,0x74,0x68,0x72,0x65,0x61,
|
||||
0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x26,0x20,
|
||||
0x73,0x74,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,
|
||||
0x20,0x66,0x72,0x61,0x63,0x74,0x28,0x73,0x69,0x6e,0x28,0x64,0x6f,0x74,0x28,0x73,
|
||||
0x74,0x2c,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x31,0x32,0x2e,0x39,0x38,0x39,
|
||||
0x38,0x30,0x30,0x34,0x35,0x33,0x31,0x38,0x36,0x30,0x33,0x35,0x31,0x35,0x36,0x32,
|
||||
0x35,0x2c,0x20,0x37,0x36,0x37,0x2e,0x32,0x33,0x32,0x39,0x37,0x31,0x31,0x39,0x31,
|
||||
0x34,0x30,0x36,0x32,0x35,0x29,0x29,0x29,0x20,0x2a,0x20,0x34,0x33,0x37,0x35,0x38,
|
||||
0x2e,0x35,0x34,0x36,0x38,0x37,0x35,0x29,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,
|
||||
0x67,0x6d,0x65,0x6e,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,
|
||||
0x6d,0x61,0x69,0x6e,0x30,0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,
|
||||
0x6e,0x20,0x5b,0x5b,0x73,0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,
|
||||
0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x77,
|
||||
0x6f,0x72,0x6c,0x64,0x5f,0x63,0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x32,0x38,
|
||||
0x20,0x5b,0x5b,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,
|
||||
0x7b,0x0a,0x20,0x20,0x20,0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,
|
||||
0x6f,0x75,0x74,0x20,0x3d,0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,
|
||||
0x20,0x28,0x5f,0x32,0x38,0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,0x20,
|
||||
0x3d,0x3d,0x20,0x31,0x29,0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,
|
||||
0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,
|
||||
0x20,0x30,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,
|
||||
0x6f,0x61,0x74,0x32,0x20,0x5f,0x35,0x34,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x70,0x6f,
|
||||
0x73,0x2e,0x78,0x79,0x20,0x2a,0x20,0x31,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,0x61,0x72,0x61,
|
||||
0x6d,0x20,0x3d,0x20,0x5f,0x35,0x34,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,
|
||||
0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x66,0x6c,0x6f,0x61,0x74,0x33,0x28,
|
||||
0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,0x66,0x6c,0x6f,0x61,0x74,0x32,0x28,0x28,0x66,
|
||||
0x72,0x61,0x63,0x74,0x28,0x5f,0x35,0x34,0x2e,0x78,0x29,0x20,0x2a,0x20,0x32,0x2e,
|
||||
0x30,0x29,0x20,0x2d,0x20,0x31,0x2e,0x30,0x2c,0x20,0x28,0x66,0x72,0x61,0x63,0x74,
|
||||
0x28,0x5f,0x35,0x34,0x2e,0x79,0x29,0x20,0x2a,0x20,0x32,0x2e,0x30,0x29,0x20,0x2d,
|
||||
0x20,0x31,0x2e,0x30,0x29,0x29,0x29,0x20,0x2a,0x20,0x30,0x2e,0x31,0x30,0x30,0x30,
|
||||
0x30,0x30,0x30,0x30,0x31,0x34,0x39,0x30,0x31,0x31,0x36,0x31,0x31,0x39,0x33,0x38,
|
||||
0x34,0x37,0x36,0x35,0x36,0x32,0x35,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,
|
||||
0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,
|
||||
0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,0x0a,0x00,
|
||||
0x65,0x72,0x28,0x6c,0x6f,0x63,0x6e,0x30,0x29,0x5d,0x5d,0x3b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x20,0x5b,0x5b,0x75,0x73,0x65,0x72,0x28,
|
||||
0x6c,0x6f,0x63,0x6e,0x31,0x29,0x5d,0x5d,0x3b,0x0a,0x7d,0x3b,0x0a,0x0a,0x73,0x74,
|
||||
0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x5f,0x5f,0x61,0x74,
|
||||
0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x61,0x6c,0x77,0x61,0x79,
|
||||
0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,0x75,0x69,0x6e,0x74,0x20,
|
||||
0x6d,0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,0x31,0x32,0x28,0x74,0x68,0x72,
|
||||
0x65,0x61,0x64,0x20,0x75,0x69,0x6e,0x74,0x32,0x26,0x20,0x73,0x72,0x63,0x29,0x0a,
|
||||
0x7b,0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,0x20,0x75,0x69,0x6e,
|
||||
0x74,0x32,0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x5e,0x3d,0x20,0x28,0x73,0x72,0x63,
|
||||
0x20,0x3e,0x3e,0x20,0x75,0x69,0x6e,0x74,0x32,0x28,0x32,0x34,0x75,0x29,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x73,0x72,0x63,0x20,0x2a,0x3d,0x20,0x75,0x69,0x6e,0x74,
|
||||
0x32,0x28,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x34,0x39,0x20,0x3d,0x20,0x28,
|
||||
0x28,0x33,0x37,0x34,0x34,0x35,0x34,0x36,0x37,0x33,0x39,0x75,0x20,0x5e,0x20,0x73,
|
||||
0x72,0x63,0x2e,0x78,0x29,0x20,0x2a,0x20,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,
|
||||
0x37,0x37,0x75,0x29,0x20,0x5e,0x20,0x73,0x72,0x63,0x2e,0x79,0x3b,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x35,0x36,0x20,0x3d,0x20,0x28,0x5f,0x34,
|
||||
0x39,0x20,0x5e,0x20,0x28,0x5f,0x34,0x39,0x20,0x3e,0x3e,0x20,0x31,0x33,0x75,0x29,
|
||||
0x29,0x20,0x2a,0x20,0x31,0x35,0x34,0x30,0x34,0x38,0x33,0x34,0x37,0x37,0x75,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x5f,0x35,0x36,0x20,
|
||||
0x5e,0x20,0x28,0x5f,0x35,0x36,0x20,0x3e,0x3e,0x20,0x31,0x35,0x75,0x29,0x3b,0x0a,
|
||||
0x7d,0x0a,0x0a,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x69,0x6e,0x6c,0x69,0x6e,0x65,
|
||||
0x20,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,
|
||||
0x61,0x6c,0x77,0x61,0x79,0x73,0x5f,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x29,0x29,0x0a,
|
||||
0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x74,0x68,0x72,
|
||||
0x65,0x61,0x64,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,
|
||||
0x26,0x20,0x73,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,
|
||||
0x74,0x32,0x20,0x70,0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x61,0x73,0x5f,0x74,0x79,
|
||||
0x70,0x65,0x3c,0x75,0x69,0x6e,0x74,0x32,0x3e,0x28,0x73,0x72,0x63,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x20,0x5f,0x36,0x39,0x20,0x3d,0x20,0x6d,
|
||||
0x75,0x72,0x6d,0x75,0x72,0x48,0x61,0x73,0x68,0x31,0x32,0x28,0x70,0x61,0x72,0x61,
|
||||
0x6d,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,
|
||||
0x73,0x5f,0x74,0x79,0x70,0x65,0x3c,0x66,0x6c,0x6f,0x61,0x74,0x3e,0x28,0x28,0x5f,
|
||||
0x36,0x39,0x20,0x26,0x20,0x38,0x33,0x38,0x38,0x36,0x30,0x37,0x75,0x29,0x20,0x7c,
|
||||
0x20,0x31,0x30,0x36,0x35,0x33,0x35,0x33,0x32,0x31,0x36,0x75,0x29,0x20,0x2d,0x20,
|
||||
0x31,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x0a,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,
|
||||
0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6d,0x61,0x69,0x6e,0x30,
|
||||
0x28,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x69,0x6e,0x20,0x69,0x6e,0x20,0x5b,0x5b,0x73,
|
||||
0x74,0x61,0x67,0x65,0x5f,0x69,0x6e,0x5d,0x5d,0x2c,0x20,0x63,0x6f,0x6e,0x73,0x74,
|
||||
0x61,0x6e,0x74,0x20,0x70,0x6c,0x61,0x6e,0x65,0x5f,0x77,0x6f,0x72,0x6c,0x64,0x5f,
|
||||
0x63,0x6f,0x6e,0x66,0x69,0x67,0x26,0x20,0x5f,0x38,0x34,0x20,0x5b,0x5b,0x62,0x75,
|
||||
0x66,0x66,0x65,0x72,0x28,0x30,0x29,0x5d,0x5d,0x29,0x0a,0x7b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x6d,0x61,0x69,0x6e,0x30,0x5f,0x6f,0x75,0x74,0x20,0x6f,0x75,0x74,0x20,0x3d,
|
||||
0x20,0x7b,0x7d,0x3b,0x0a,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x5f,0x38,0x34,
|
||||
0x2e,0x70,0x6c,0x61,0x6e,0x65,0x54,0x79,0x70,0x65,0x20,0x3d,0x3d,0x20,0x31,0x29,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,
|
||||
0x75,0x74,0x2e,0x66,0x72,0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,
|
||||
0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x30,0x2e,0x30,0x2c,
|
||||
0x20,0x31,0x2e,0x30,0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,
|
||||
0x7d,0x0a,0x20,0x20,0x20,0x20,0x65,0x6c,0x73,0x65,0x0a,0x20,0x20,0x20,0x20,0x7b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,
|
||||
0x5f,0x31,0x30,0x39,0x20,0x3d,0x20,0x69,0x6e,0x2e,0x70,0x6f,0x73,0x2e,0x78,0x7a,
|
||||
0x20,0x2a,0x20,0x31,0x30,0x30,0x30,0x30,0x30,0x2e,0x30,0x3b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x5f,0x31,0x31,0x30,
|
||||
0x20,0x3d,0x20,0x72,0x6f,0x75,0x6e,0x64,0x28,0x5f,0x31,0x30,0x39,0x29,0x3b,0x0a,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x32,0x20,0x70,
|
||||
0x61,0x72,0x61,0x6d,0x20,0x3d,0x20,0x5f,0x31,0x31,0x30,0x3b,0x0a,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x5f,0x31,0x32,0x32,0x20,
|
||||
0x3d,0x20,0x68,0x61,0x73,0x68,0x31,0x32,0x28,0x70,0x61,0x72,0x61,0x6d,0x29,0x3b,
|
||||
0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x69,0x66,0x20,0x28,0x28,0x28,0x5f,
|
||||
0x31,0x32,0x32,0x20,0x2d,0x20,0x28,0x30,0x2e,0x30,0x36,0x32,0x35,0x20,0x2a,0x20,
|
||||
0x66,0x6c,0x6f,0x61,0x74,0x28,0x69,0x6e,0x2e,0x69,0x64,0x78,0x29,0x29,0x29,0x20,
|
||||
0x2a,0x20,0x30,0x2e,0x35,0x29,0x20,0x3c,0x20,0x6c,0x65,0x6e,0x67,0x74,0x68,0x28,
|
||||
0x5f,0x31,0x31,0x30,0x20,0x2d,0x20,0x5f,0x31,0x30,0x39,0x29,0x29,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x20,0x20,0x20,0x20,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x5f,0x66,0x72,0x61,0x67,
|
||||
0x6d,0x65,0x6e,0x74,0x28,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
|
||||
0x7d,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x6f,0x75,0x74,0x2e,0x66,0x72,
|
||||
0x61,0x67,0x5f,0x63,0x6f,0x6c,0x6f,0x72,0x20,0x3d,0x20,0x66,0x6c,0x6f,0x61,0x74,
|
||||
0x34,0x28,0x30,0x2e,0x30,0x2c,0x20,0x5f,0x31,0x32,0x32,0x2c,0x20,0x30,0x2e,0x30,
|
||||
0x2c,0x20,0x31,0x2e,0x30,0x29,0x3b,0x0a,0x20,0x20,0x20,0x20,0x7d,0x0a,0x20,0x20,
|
||||
0x20,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6f,0x75,0x74,0x3b,0x0a,0x7d,0x0a,
|
||||
0x0a,0x00,
|
||||
];
|
||||
plane_shader_desc :: (backend: sg_backend) -> sg_shader_desc {
|
||||
desc: sg_shader_desc;
|
||||
@ -617,46 +751,46 @@ plane_shader_desc :: (backend: sg_backend) -> sg_shader_desc {
|
||||
desc.uniform_blocks[1].size = 144;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_28.skyBase";
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_84.skyBase";
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_28.skyTop";
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_84.skyTop";
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_28.sunDisk";
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_84.sunDisk";
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_28.horizonHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_84.horizonHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_28.sunHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_84.sunHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_28.sunLightColor";
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_84.sunLightColor";
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_28.sunPosition";
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_84.sunPosition";
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_28.sunIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_84.sunIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_28.skyIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_84.skyIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_28.hasClouds";
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_84.hasClouds";
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_28.hasPlane";
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_84.hasPlane";
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_28.planeHeight";
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_84.planeHeight";
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_28.planeType";
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_84.planeType";
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_28.time";
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_84.time";
|
||||
case .GLES3;
|
||||
desc.vertex_func.source = xx *vs_plane_source_glsl300es;
|
||||
desc.vertex_func.entry = "main";
|
||||
@ -675,46 +809,46 @@ plane_shader_desc :: (backend: sg_backend) -> sg_shader_desc {
|
||||
desc.uniform_blocks[1].size = 144;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_28.skyBase";
|
||||
desc.uniform_blocks[1].glsl_uniforms[0].glsl_name = "_84.skyBase";
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_28.skyTop";
|
||||
desc.uniform_blocks[1].glsl_uniforms[1].glsl_name = "_84.skyTop";
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_28.sunDisk";
|
||||
desc.uniform_blocks[1].glsl_uniforms[2].glsl_name = "_84.sunDisk";
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_28.horizonHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[3].glsl_name = "_84.horizonHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_28.sunHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[4].glsl_name = "_84.sunHalo";
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_28.sunLightColor";
|
||||
desc.uniform_blocks[1].glsl_uniforms[5].glsl_name = "_84.sunLightColor";
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].type = .FLOAT3;
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_28.sunPosition";
|
||||
desc.uniform_blocks[1].glsl_uniforms[6].glsl_name = "_84.sunPosition";
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_28.sunIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[7].glsl_name = "_84.sunIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_28.skyIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[8].glsl_name = "_84.skyIntensity";
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_28.hasClouds";
|
||||
desc.uniform_blocks[1].glsl_uniforms[9].glsl_name = "_84.hasClouds";
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_28.hasPlane";
|
||||
desc.uniform_blocks[1].glsl_uniforms[10].glsl_name = "_84.hasPlane";
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_28.planeHeight";
|
||||
desc.uniform_blocks[1].glsl_uniforms[11].glsl_name = "_84.planeHeight";
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].type = .INT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_28.planeType";
|
||||
desc.uniform_blocks[1].glsl_uniforms[12].glsl_name = "_84.planeType";
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].type = .FLOAT;
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].array_count = 0;
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_28.time";
|
||||
desc.uniform_blocks[1].glsl_uniforms[13].glsl_name = "_84.time";
|
||||
case .METAL_MACOS;
|
||||
desc.vertex_func.source = xx *vs_plane_source_metal_macos;
|
||||
desc.vertex_func.entry = "main0";
|
||||
|
||||
@ -12,7 +12,7 @@ out flat int idx;
|
||||
|
||||
void main() {
|
||||
vec3 multisize = vec3(position.xyz * 1000.0);
|
||||
gl_Position = mvp * (vec4(multisize.x, multisize.y + 0.1 + float(gl_InstanceIndex) * 0.005, multisize.z, 1.0));
|
||||
gl_Position = mvp * (vec4(multisize.x, 0.0 + float(gl_InstanceIndex) * 0.01, multisize.z, 1.0));
|
||||
pos = position;
|
||||
idx = gl_InstanceIndex;
|
||||
}
|
||||
@ -24,8 +24,18 @@ in vec4 pos;
|
||||
in flat int idx;
|
||||
out vec4 frag_color;
|
||||
|
||||
float random (vec2 st) {
|
||||
return fract(sin(dot(st.xy, vec2(12.9898,767.233)))* 43758.5453123);
|
||||
uint murmurHash12(uvec2 src) {
|
||||
const uint M = 0x5bd1e995u;
|
||||
uint h = 1190494759u;
|
||||
src *= M; src ^= src>>24u; src *= M;
|
||||
h *= M; h ^= src.x; h *= M; h ^= src.y;
|
||||
h ^= h>>13u; h *= M; h ^= h>>15u;
|
||||
return h;
|
||||
}
|
||||
|
||||
float hash12(vec2 src) {
|
||||
uint h = murmurHash12(floatBitsToUint(src));
|
||||
return uintBitsToFloat(h & 0x007fffffu | 0x3f800000u) - 1.0;
|
||||
}
|
||||
|
||||
layout(binding=1) uniform plane_world_config {
|
||||
@ -53,22 +63,20 @@ void main() {
|
||||
if(planeType == 1) {
|
||||
frag_color = vec4(0.0, 0.0, 1.0, 1.0);
|
||||
} else {
|
||||
float density = 10.0;
|
||||
|
||||
vec2 uv = pos.xy * density;
|
||||
vec2 localUV = vec2(fract(uv.x) * 2.0 - 1.0, fract(uv.y) * 2.0 - 1.0);
|
||||
|
||||
float localDistanceFromCenter = length(localUV);
|
||||
|
||||
float rand = random(uv);
|
||||
float density = 100000.0;
|
||||
vec2 uv = round(pos.xz * density);
|
||||
float distanceFromCenter = length(uv - (pos.xz * density));
|
||||
|
||||
float rand = hash12(uv);
|
||||
float h = (1.0 / 16.0) * idx;
|
||||
|
||||
bool outsideThickness = localDistanceFromCenter > (0.1 * (rand - pos.y));
|
||||
|
||||
if(outsideThickness) {
|
||||
// discard;
|
||||
float thickness = 0.5;
|
||||
|
||||
if((rand - h) * thickness < distanceFromCenter) {
|
||||
discard;
|
||||
}
|
||||
frag_color = vec4(vec3(localDistanceFromCenter) * 0.1, 1.0);
|
||||
|
||||
frag_color = vec4(0.0, rand, 0.0, 1.0);
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user