First implementation of SSBO, vertex pulling
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#version 450 core
|
||||
struct PosCol {
|
||||
vec4 pospos;
|
||||
vec4 col;
|
||||
};
|
||||
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
|
||||
layout (std430, binding = 1) readonly buffer Pos { PosCol data[]; };
|
||||
out vec4 vCol;
|
||||
out vec4 vPos;
|
||||
int indices[6] = {0,1,2,2,3,0};
|
||||
vec4 iface[6] =
|
||||
{ vec4 (-1,-1,0,1)
|
||||
, vec4 (-1,1,0,1)
|
||||
, vec4 (1,1,0,1)
|
||||
, vec4 (1,1,0,1)
|
||||
, vec4 (1,-1,0,1)
|
||||
, vec4 (-1,-1,0,1)
|
||||
};
|
||||
void main()
|
||||
{
|
||||
//const struct PosCol pc = data[gl_VertexID / 6];
|
||||
vec4 pp = data[gl_VertexID / 6].pospos;
|
||||
vCol = data[gl_VertexID / 6].col;
|
||||
//vCol = vec4(1,0.5,0,0.5);
|
||||
int j = indices[gl_VertexID % 6];
|
||||
float z = (j / 2 > 0 ? 5000 : 0);
|
||||
//vec2 xy = (j % 2 > 0 ? pc.pospos.xy : pc.pospos.zw);
|
||||
vec2 xy = (j % 2 > 0 ? pp.xy : pp.zw);
|
||||
vPos = vec4( xy, z, 1);
|
||||
// vPos = vec4( 0,0,0, 1);
|
||||
//vCol = pc.col;
|
||||
gl_Position = theMat * vPos;
|
||||
//gl_Position = iface[gl_VertexID % 6];
|
||||
}
|
||||
Reference in New Issue
Block a user