21 lines
764 B
GLSL
21 lines
764 B
GLSL
|
#version 310 es
|
||
|
layout(location = 0) in highp vec4 a_position;
|
||
|
layout(location = 0) out mediump float v_vtxResult;
|
||
|
|
||
|
layout(set = 0, binding = 0, std140, row_major) uniform Block
|
||
|
{
|
||
|
highp mat2x3 var[3][4];
|
||
|
};
|
||
|
|
||
|
mediump float compare_float (highp float a, highp float b) { return abs(a - b) < 0.05 ? 1.0 : 0.0; }
|
||
|
mediump float compare_vec3 (highp vec3 a, highp vec3 b) { return compare_float(a.x, b.x)*compare_float(a.y, b.y)*compare_float(a.z, b.z); }
|
||
|
mediump float compare_mat2x3 (highp mat2x3 a, highp mat2x3 b){ return compare_vec3(a[0], b[0])*compare_vec3(a[1], b[1]); }
|
||
|
|
||
|
void main (void)
|
||
|
{
|
||
|
gl_Position = a_position;
|
||
|
mediump float result = 1.0;
|
||
|
result *= compare_mat2x3(var[0][0], mat2x3(2.0, 6.0, -6.0, 0.0, 5.0, 5.0));
|
||
|
v_vtxResult = result;
|
||
|
}
|