¿Es posible emitir un nuevo tipo de primitiva desde el sombreador de geometría distinto de la entrada? Me gustaría ingresar un punto y renderizar un triángulo. El punto se usaría solo como centro para este triángulo. Si no, ¿hay otra opción para ingresar simplemente apuntar y representar otra pieza de geometría definida por ese punto?usando el sombreador de geometría para crear nuevos tipos de primitivas
Con la ayuda de la respuesta en este caso es la geometría de sombreado haciendo justo lo que pedí (si alguien alguna vez es necesario):
#version 120
#extension GL_EXT_geometry_shader4 : enable
layout(points) in;
layout(triangle_strip) out;
void main()
{
gl_Position = gl_in[0].gl_Position;
EmitVertex();
gl_Position = gl_in[0].gl_Position+vec4(1,0,0,0);
EmitVertex();
gl_Position = gl_in[0].gl_Position+vec4(0, 1, 0, 0);
EmitVertex();
EndPrimitive();
}
Tenga en cuenta que realmente no puede elegir la sintaxis. O más bien, la sintaxis que elija se basa en si está utilizando la versión de extensión de sombreadores de geometría o la funcionalidad principal. No intentes mezclar los dos. –
@Nicol De hecho, aún no he trabajado con sombreadores de geometría. Gracias por la aclaración. –