Autor Wątek: Emitowanie danych do wielu strumieni (sprzężenie zwrotne)  (Przeczytany 404 razy)

Offline Trix

  • Użytkownik

# Maj 13, 2017, 00:22:35
Dzień dobry,
stworzyłem proces sprzężenia zwrotnego, gdzie bufferMode to GL_INTERLEAVED_ATTRIBS.
Wierzchołki emitowane są do wybranych strumieni (istnieją 3 bufory wyjściowe).
Emitowanie wierzchołku do pojedynczego strumienia działa dobrze, problem pojawia się z wieloma strumieniami (1 wierzchołek chcę by został umiejscowiony do wielu buforów).

Geometry shader:
#version 420

layout(points) in;
layout(points, max_vertices = 1) out;

in vec2 vInstanceOffset[1];

layout(stream=0) out vec2 InstanceOffsetLOD0;
layout(stream=1) out vec2 InstanceOffsetLOD1;
layout(stream=2) out vec2 InstanceOffsetLOD2;

void main() {
InstanceOffsetLOD0 = vInstanceOffset[0];
EmitStreamVertex(0);
InstanceOffsetLOD1 = vInstanceOffset[0];
EmitStreamVertex(1);
InstanceOffsetLOD2 = vInstanceOffset[0];
EmitStreamVertex(2);

}

W efekcie dana wysyłana jest tylko do strumienia 0.
Jak to naprawić?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych