2011-01-13 3 views

Antwort

0

Wenn Sie Ihr ausgewähltes Objekt mit einem bestimmten Shader rendern möchten, müssen Sie einen Shader erstellen, der dasselbe Verhalten wie das normale Rendern Ihrer Objekte (Beleuchtung, Texturierung, ...) aufweist. Das bedeutet, dass Sie die Farbe des Pixels selbst berechnen müssen.

Wenn Sie beabsichtigen, alle Ihre Objekte zu rendern und dann Ihre Auswahl hinzuzufügen, dann ist es unmöglich, die Farbe des Framebuffer-Pixels von Ihrem Fragment-Shader abzurufen (Sie müssen eine Textur aus Ihrem Framebuffer erstellen und verwenden, aber es ist außerhalb des Geltungsbereichs, denke ich).

0

Option A) Sie können eine Farbe auf die aktuellen diffuse Farbe/Textur hinzufügen und diese Fragment-Shader gelten nur für den ausgewählten: color = ... gl_FragColor = Mix (Farbe, selection, 0,5);

Option B) Sie zu einem Bildpuffer übertragen, und postproccess das Objekt der Farbe

Die Optionen hinzufügen, hängt von Ihrer Fähigkeit, die Shader und identifizieren das Objekt zu ändern.

Verwandte Themen