Next: ARB Vertex Programs
Up: ARB Program Shader
Previous: Praxis: Extensions mit GLew
Contents
Unser Programm soll zur Laufzeit beliebige Shader aus Textdateien laden
können um nicht jedes mal wenn wir einen Shader ändern unser Programm
neu compilieren zu müssen. Hierzu definieren wir eine Funktion die
den Dateinamen des zu ladenden Shaders in einem std::string entgegen nimmt
und einen char* zurückgeliefert der den Inhalt der Textdatei enthält.
Die Einzelheiten der Implementation sollen dem Leser hier erspart werden,
sie befindet sich in der Datei textfile.cpp.
Die Endung der zu ladenden Textdateien haben keinerlei inhärente Bedeutung,
wir werden uns für dieses Dokument auf folgende Erweiterungen einigen:
- .avp - ARB Vertex Program
- .afp - ARB Fragment Program
- .avs - ARB Vertex Shader (GLSL)
- .afs - ARB Fragment Shader (GLSL)
Nun definieren wir eine weitere Funktion welche das eigentlich Laden der Shader
übernehmen soll.
Diese Funktion nimmt einen std::string entgegen der den Dateinamen enthält,
versucht die Endung der Datei zu finden und ruft dann die entsprechende
Funktion zum Laden des Shaders auf. Auch hier werden wir die Implementationsdetails
nicht erörtern, der geneigte Leser mag sie in der Datei shader.cpp nachlesen.
Next: ARB Vertex Programs
Up: ARB Program Shader
Previous: Praxis: Extensions mit GLew
Contents
2005-10-25 Michael Bayer - nightspawn.com