Textur laden (OpenGL)
-
Im nehe Tut ist das immer voll umständlich und scheint mir auch etwas angestaubt :o Außerdem muss man da ja auch alle Texturnamen schon vorher wissen, geht das auch dynamischer?
Wär ganz gut, wenn jemand nen neueres und vieleicht auch einfacheres Verfahren zum textur laden zur Hand hat. THX :p
-
DX benutzen
-
Was genau gefaellt Dir denn daran nicht?
-
Original erstellt von TGGC:
DX benutzenFLAMEALARM
ich hab mir mal ne klasse geschreiben die pngs lädt und alle parameter die die texture braucht selbst zur verfügung stellt... und naja das mit dem dynamisch laden.. da speichert man halt die texturenamen irgendwo (modellfiles oder sonst irgendwo) ud lädt die dann halt danach
[ Dieser Beitrag wurde am 19.04.2003 um 20:57 Uhr von japro editiert. ]
-
-
Hi !
Das Nehe Tutorial ist auf keinen Fall angestaubt -die Spezifikationen von OpenGl haben sich -im Gegensatz zu denen von Dx- innerhalb der letzten Jahre nicht geändert.
Umständlich ... mag sein, aber hast du dir mal angeschaut wie man in DirectDraw oder Direct3D Texturen lädt ? Das ist dort auch nicht wesentlich einfacher.
Einfacher wird es wenn du Libraries wie SDL, Allegro, Glut -oder wie schon von nman erwähnt Clanlib verwendest. Diese Libraries bieten übrigens noch den Vorteil der Plattformunabhängigkeit."Dynamischeres laden" kannst du übrigens sehr einfach mir der Clanlib machen :
//lädt die Resourcendatei CL_ResourceManager manager = new CL_ResourceManager ("res/resources.scr", //lädt die Textur aus der resourcendatei (sone überraschung !) CL_Texture texture = CL_Texture::load ("monster", manager);
Inhalt der "res/resources.scr :
monster = ../gfx/gates.tga (type=texture);
Du kannst nun in der resources.scr die TGA Datei beliebig umändern, auch den Dateityp kannst du z.b. auf Bmp oder Png wechseln -das ist dem Programm dann egal, es klappt weiterhin.
-
Wie wäre es mit OpenIL aka DevIL [url] openil.sourceforge.net [/url]?
Kann fast alles laden was es als Bildformate so gibt, orientiert sich am OpenGL-Syntax und bietet auch extra Features für die Zusammenarbeit mit OpenGL.
Funzt unter Win und Linux.