mirror of
https://github.com/crystalidea/qt6windows7.git
synced 2025-02-09 08:15:39 +08:00
49 lines
838 B
GLSL
49 lines
838 B
GLSL
#version 450
|
|
|
|
layout (location = 0) in vec3 position;
|
|
|
|
layout (std140, binding = 6) uniform unused0
|
|
{
|
|
int unused;
|
|
}u0;
|
|
|
|
layout (binding = 0) uniform u
|
|
{
|
|
mat4 matrix;
|
|
};
|
|
|
|
layout (std430, binding = 5) readonly buffer ssbo5
|
|
{
|
|
float _float[];
|
|
};
|
|
|
|
layout (std140, binding = 3) readonly buffer ssbo3
|
|
{
|
|
vec4 _vec4;
|
|
};
|
|
|
|
layout (std430, binding = 4) readonly buffer ssbo1
|
|
{
|
|
bool _bool[];
|
|
};
|
|
|
|
layout (std430, binding = 1) readonly buffer unused1
|
|
{
|
|
int unused[];
|
|
}u1;
|
|
|
|
|
|
void main()
|
|
{
|
|
|
|
// some OpenGL implementations will optimize out the buffer variables if we don't use them
|
|
// resulting in a .length() of 0
|
|
float a = _float[0] == 0 && _bool[0] ? 1 : 1;
|
|
|
|
gl_Position = vec4(0);
|
|
|
|
if(_bool.length() == 32)
|
|
gl_Position = a * matrix * vec4(position*_vec4.xyz, _float.length() == 64 ? 1.0 : 0.0);
|
|
|
|
}
|