Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 10, 2025 03:49

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TBitmap nach gluInt laden
BeitragVerfasst: Sa Jul 15, 2006 17:44 
Offline
DGL Member

Registriert: Mo Dez 26, 2005 22:27
Beiträge: 117
Programmiersprache: Pascal, C++
Morgen :D
Hab seit langer Ziet wieder mal ne Frage:
Ich lade mir aus einem Stream ein Bitmap und möchte es als Textur verwenden. Nun weiß ich nicht wie man ein TBitmap nach gluInt umwandeln kann.
Hat jemand ne Idee wie das geht? :?

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 15, 2006 17:58 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Wenn ich dich richtig verstehe willst du einfach eine Textur mittels TBitmap laden.

Das kannst deine Textur ganz normal laden:
Code:
  1.  
  2. //Textur laden
  3. BMP:=TBitmap.Create;
  4. BMP.LoadFromFile(FileName);
  5. //OpenGL-Textur erstellen und aktivieren
  6. glGenTextures(1, TexID);
  7. glBindTexture(GL_TEXTURE_2D, @TexID);
  8. //Filter setzen
  9. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  10. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  11. //Texturdaten in den Grafikkartenspeicher schieben
  12. glTexImage2D(GL_TEXTURE_2D, 0, 3, BMP.Width, BMP.Height, 0, GL_BGR, GL_UNSIGNED_BYTE, BMP.ScanLine[BMP.Height-1]);
  13. //Daten im RAM wieder freigeben
  14. BMP.Free;

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jul 15, 2006 18:24 
Offline
DGL Member

Registriert: Mo Dez 26, 2005 22:27
Beiträge: 117
Programmiersprache: Pascal, C++
Erstma danke, aber: Der Code hat ein paar Fehler, die ich glaub ich falsch behoben habe.. (wenigstens meckert delphi net mehr 8) )

Code:
  1. glGenTextures(1, @L_BG);
  2. glBindTexture(GL_TEXTURE_2D, L_BG);
  3.  
  4. //Filter setzen
  5. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  6. glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
  7.  
  8. //Texturdaten in den Grafikkartenspeicher schieben
  9. glTexImage2D(GL_TEXTURE_2D, 0, 3, bg.Width, bg.Height, 0, GL_BGR, GL_UNSIGNED_BYTE, bg.ScanLine[bg.Height-1]);
  10. bg.Free;


Nun ja, wenn ich das jetzt irgendwo draufmappen will, bekomme ich nur eine schwarze Fläche... :cry:
Des muss doch irgendiwe gehen


Edit: AH!!!! Ich bin ziemlich dumm... Geht wunderbar, hatte nur ein glDisable(GL_COLOR_MATERIAL); drin :oops:

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 16, 2006 23:21 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Guck dir mal die glBitmap.pas an. Den Loader sollte man zumindest mal gesehen haben. Den verwenden hier viele. (Und der Macher ist hier immer anzutreffen: LosseyX)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 17, 2006 13:18 
Offline
DGL Member

Registriert: Mo Dez 26, 2005 22:27
Beiträge: 117
Programmiersprache: Pascal, C++
Flash hat geschrieben:
Guck dir mal die glBitmap.pas an. Den Loader sollte man zumindest mal gesehen haben. Den verwenden hier viele. (Und der Macher ist hier immer anzutreffen: LosseyX)


Joah, schon klar (Wer kennt die Unit net?).... Aber meines Wissens nach kann man damit nur Bilder einladen, die lokal auf der Platte liegen. Ich lad mir das Bild ja aus einem Stream.. 8)
Naja, wie auch immer.. Problem is jetzt gelöst

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 17, 2006 13:57 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Carmageddon hat geschrieben:
Joah, schon klar (Wer kennt die Unit net?).... Aber meines Wissens nach kann man damit nur Bilder einladen, die lokal auf der Platte liegen. Ich lad mir das Bild ja aus einem Stream.. 8)

Nicht ganz. Ich lade die Daten ausschließlich nur aus Streams. Die Textures und die glBMP können nur lokale Dateien. :P Du könntest deine Daten aber auch direkt aus einem TBitmap kopieren.

Aber da das Problem ja bereits gelöst ist das nur als kleine Randbemerkung. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]