Damit die Daten der Partikel auf der Grafikkarte berechnet werden können müssen ihr diese Informationen zur Verfügung gestellt werden. Es gibt zwei Möglichkeiten:
Uniform Variabeln:
Aus einer C++ Anwendung wird dem Shader (Programm welches auf der GPU ausgeführt wird) gesendet. Das Senden der Uniform Variabeln findet auf der CPU statt.
Vertex-Texturen:
Es können Informationen in einer Textur abgelegt werden. Diese Textur wird in den Shader eingebunden und deren Inhalt kann im Shader verwendet werden. Das Senden der Textur an den Shader findet ebenfalls auf der CPU statt. Ein Zurückschreiben in die Textur welche an den Shader gesendet wurde ist nicht möglich.
Unser Ziel ist, dass die CPU nach der Initialisierung für die Berechnung nicht mehr in Anspruch genommen wird. Die Berechnung der Daten soll die GPU übernehmen.
Wie lässt sich erreichen, dass Daten auf der Grafikkarte bleiben und ein zurüschreiben der Daten in die Textur möglich ist?
Die Berechnungen und deren Resultate bleiben nun stetig auf der Grafikkarte. Es kann eine GPU-Based Particle Engine realisiert werden.
Mehr Informationen über Vertex-Texturen finden Sie unter Downloads.