85 lines
1.8 KiB
Plaintext
85 lines
1.8 KiB
Plaintext
#!amber
|
|
# Copyright 2021 The Amber Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
SHADER vertex vtex_shader GLSL
|
|
#version 430
|
|
|
|
layout(location = 0) in vec4 position;
|
|
layout(location = 1) in vec4 vert_color0;
|
|
layout(location = 2) in vec4 vert_color1;
|
|
layout(location = 0) out vec4 frag_color;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = position;
|
|
frag_color = vert_color0 + vert_color1;
|
|
}
|
|
END
|
|
|
|
SHADER fragment frag_shader GLSL
|
|
#version 430
|
|
|
|
layout(location = 0) in vec4 frag_color;
|
|
layout(location = 0) out vec4 final_color;
|
|
|
|
void main()
|
|
{
|
|
final_color = frag_color;
|
|
}
|
|
END
|
|
|
|
BUFFER position_buf DATA_TYPE R8G8_SNORM DATA
|
|
-128 -128
|
|
127 127
|
|
-128 127
|
|
-128 -128
|
|
127 127
|
|
127 -128
|
|
END
|
|
|
|
BUFFER vert_color DATA_TYPE R8G8B8A8_UNORM DATA
|
|
255 0 0 255
|
|
255 0 0 255
|
|
255 0 0 255
|
|
255 0 0 255
|
|
255 0 0 255
|
|
255 0 0 255
|
|
|
|
0 255 0 255
|
|
0 255 0 255
|
|
0 255 0 255
|
|
0 255 0 255
|
|
0 255 0 255
|
|
0 255 0 255
|
|
END
|
|
|
|
BUFFER framebuffer FORMAT B8G8R8A8_UNORM
|
|
|
|
PIPELINE graphics pipeline
|
|
ATTACH vtex_shader
|
|
ATTACH frag_shader
|
|
|
|
VERTEX_DATA position_buf LOCATION 0
|
|
VERTEX_DATA vert_color LOCATION 1
|
|
VERTEX_DATA vert_color LOCATION 2 OFFSET 24
|
|
|
|
BIND BUFFER framebuffer AS color LOCATION 0
|
|
END
|
|
|
|
CLEAR pipeline
|
|
|
|
RUN pipeline DRAW_ARRAY AS TRIANGLE_LIST START_IDX 0 COUNT 6
|
|
EXPECT framebuffer IDX 0 0 SIZE 250 250 EQ_RGBA 255 255 0 255
|