yes
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!amber
|
||||
|
||||
SHADER vertex vert_shader PASSTHROUGH
|
||||
|
||||
SHADER fragment frag_setup GLSL
|
||||
#version 430
|
||||
|
||||
layout(location = 0) out vec4 result;
|
||||
|
||||
void main() {
|
||||
result = vec4(floor(gl_FragCoord.x) / 255.0f, floor(gl_FragCoord.y) / 255.0f, 0, 0);
|
||||
}
|
||||
END
|
||||
|
||||
SHADER fragment frag_shader GLSL
|
||||
#version 430
|
||||
|
||||
layout(binding = 0) uniform sampler2D tex;
|
||||
|
||||
layout(location = 0) out vec4 result;
|
||||
|
||||
void main() {
|
||||
vec2 base = floor(gl_FragCoord.xy) / 255.0f;
|
||||
uint mask = 0;
|
||||
mask |= textureOffset(tex, base, ivec2(0, -1)).g < base.y ? 1 : 0;
|
||||
mask |= textureOffset(tex, base, ivec2(0, 1)).g > base.y ? 2 : 0;
|
||||
mask |= textureOffset(tex, base, ivec2(-1, 0)).r < base.x ? 4 : 0;
|
||||
mask |= textureOffset(tex, base, ivec2(1, 0)).r > base.x ? 8 : 0;
|
||||
result = vec4(mask/255.0f, 0, 0, 0);
|
||||
}
|
||||
END
|
||||
|
||||
IMAGE texture FORMAT R8G8B8A8_UNORM DIM_2D WIDTH 256 HEIGHT 256
|
||||
SAMPLER sampler
|
||||
|
||||
PIPELINE graphics setup
|
||||
ATTACH vert_shader
|
||||
ATTACH frag_setup
|
||||
|
||||
BIND BUFFER texture AS color LOCATION 0
|
||||
FRAMEBUFFER_SIZE 256 256
|
||||
END
|
||||
|
||||
RUN setup DRAW_RECT POS 0 0 SIZE 256 256
|
||||
|
||||
BUFFER framebuffer FORMAT R8G8B8A8_UNORM
|
||||
|
||||
PIPELINE graphics pipeline
|
||||
ATTACH vert_shader
|
||||
ATTACH frag_shader
|
||||
|
||||
BIND BUFFER texture AS combined_image_sampler SAMPLER sampler DESCRIPTOR_SET 0 BINDING 0
|
||||
BIND BUFFER framebuffer AS color LOCATION 0
|
||||
FRAMEBUFFER_SIZE 256 256
|
||||
END
|
||||
|
||||
RUN pipeline DRAW_RECT POS 0 0 SIZE 256 256
|
||||
EXPECT framebuffer IDX 1 1 SIZE 254 254 EQ_RGBA 15 0 0 0
|
||||
Reference in New Issue
Block a user