, использующий геометрический шейдер для создания новых типов примитивов

Можно ли вывести новый тип примитива из геометрического шейдера, кроме того, который был введен? Я хочу ввести точку и отобразить треугольник. Точка будет использоваться как центр этого треугольника. Если нет, есть ли другой вариант для ввода просто точки и рендеринга какой-либо другой части геометрии, определенной этой точкой?

С помощью ответа здесь геометрический шейдер делает именно то, о чем я просил (если кому-то когда-либо понадобится):

#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();
}
5
задан Raven 23 September 2011 в 11:14
поделиться