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

Aktuelle Zeit: Di Jul 15, 2025 20:43

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: BMP-Datei --> textur
BeitragVerfasst: Sa Mai 29, 2004 08:32 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Hallo memberz,

ich hab eine BMP-Datei, welche ans Hintergerund genutzt werden soll?

Muss ich sie in eine Textur umwandeln?

Wenn ja wie geht das?

Und wie binde ich das dann ein?

Entschuldgiung, wenn es dazu einm tutorial gibt, und ich es nicht gefunden ahbe.

Viele Grüße

Bjo-Frei


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mai 29, 2004 08:40 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Schau’ dir mal Lektion 4 (Texturen, Tapeten und Ihre Tücken ) in den Einsteigertutorials an. Danach sollten alle Fragen beantwortet sein.

_________________
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 Mai 29, 2004 09:58 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Code:
  1. procedure LoadTextureFromBitmap(bmp:TBitmap);
  2. var
  3.  data:PByteArray;
  4.  i,j,w:integer;
  5.  b:PByteArray;
  6. begin
  7.  bmp.PixelFormat:=pf32bit;
  8.  getmem(data,bmp.width*bmp.height*4);
  9.  w:=bmp.Width;
  10.  for i:=0 to bmp.Height-1 do
  11.  begin
  12.   b:=bmp.ScanLine[i];
  13.   move(b^,data^[i*w*4],w*4);
  14.  end;
  15.  gltexparameteri(GL_TEXTURE_2D,GL_Texture_min_filter,GL_LINEAR_MIPMAP_LINEAR);
  16.  gltexparameteri(GL_TEXTURE_2D,GL_Texture_mag_filter,GL_LINEAR);
  17.  gluBuild2DMipmaps(GL_TEXTURE_2D,gl_RGBA8,bmp.width,bmp.Height,GL_BGRA,gl_unsigned_byte,data);
  18.  FreeMem(data);
  19. end;

So kann man auch sehr einfach eine Texture aus einem TBitmap laden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 13:07 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Hab mir die Lexktion durchgelesen und einbau versucht.

Zitat:
Code:
var tex : PgluInt;
begin
LoadBmpTexture('002.bmp');
glGenTextures(1, tex);
glBindTexture(GL_TEXTURE_2D, tex);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, 3, textur.sizeX, textur.sizeY,0, GL_RGB, GL_UNSIGNED_BYTE, textur.data);


glBindTexture(GL_TEXTURE_2D, tex); - hier sagt re, dass tex cadrinal sein muss, wenn ich dies mache geht aber glgentextures nicht mehr

wie behebe ich den fehler?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 13:14 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Code:
  1. var tex : gluInt;
  2. begin
  3. LoadBmpTexture('002.bmp');
  4. glGenTextures(1, @tex);
  5. glBindTexture(GL_TEXTURE_2D, tex);
  6. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  7. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  8. glTexImage2D(GL_TEXTURE_2D, 0, 3, textur.sizeX, textur.sizeY,0, GL_RGB, GL_UNSIGNED_BYTE, textur.data);


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 13:49 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Danke, dass klappt nun!

Aber irgendwie bleibt der Bildschirm schwarz?

ich gebe die koordinaten an, welche er nehemn soll mit hilfe GL_quads und gltextcoord2f.

Wie bekome ich die textur in den gesamten fenster?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 14:08 
Offline
DGL Member

Registriert: Do Mai 13, 2004 16:36
Beiträge: 116
Wohnort: Deutsch-Wagram (Österreich)
Hast du die Farben des Quads auf 1, 1, 1, 1 gestellt? Die Textur wird damit multipliziert. 'n Tipp: Verwende Jan Horns textures.pas

_________________
Diese Signatur ist defekt. Bitte wählen Sie die Numer 12846712894671893230917497617383216 (gültig ab 32.13.2671)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 14:53 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Es ist ein Anzeigungsproblem!

selbst mit der farbe klappt es nicht!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
dann zeig mal deinen Rendercode...
ohne tappt man mehr im dunkeln, als alles andere ;)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 15:12 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Binde die Texture am besten bevor du sie lädst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 18:34 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Code:
  1. LoadBmpTexture('002.bmp');
  2. glGenTextures(1, @tex);
  3. glBindTexture(GL_TEXTURE_2D, tex);
  4. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  5. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  6. glTexImage2D(GL_TEXTURE_2D, 0, 3, textur.sizeX, textur.sizeY,0, GL_RGB, GL_UNSIGNED_BYTE, textur.data);
  7. glBegin(GL_QUADS);
  8.         glTexCoord2f(0,1);
  9.         glTexCoord2f(0,0);
  10.         glTexCoord2f(1,1);
  11.         glTexCoord2f(1,0);
  12. glEnd;
  13.  
  14.  


Dwer Quellcode siehe oben!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 18:38 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Du musst zwischen glbegin und glend noch die vertex-daten übergeben, so hast du nur die texturcoordinaten. Bei dir wär das sowas wie

Code:
  1. glBegin(GL_QUADS);
  2.         glTexCoord2f(0,1); glVertex3f(0,0);
  3.         glTexCoord2f(0,0); glVertex3f(0,1);
  4.         glTexCoord2f(1,1); glVertex3f(1,1);
  5.         glTexCoord2f(1,0); glVertex3f(1,0);
  6. glEnd;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 20:08 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Bildschirm bleibt weiterhin schwarz!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 20:10 
Offline
DGL Member

Registriert: Do Mai 13, 2004 16:36
Beiträge: 116
Wohnort: Deutsch-Wagram (Österreich)
Ist das Quad ohne Texturen sichtbar?
Verwendest du glAux?
Ich habe mit glAux einmal ein weißes Quad gehabt... nutze jetzt textures.pas!
Hast du die Farbe auf schwarz gestellt?

_________________
Diese Signatur ist defekt. Bitte wählen Sie die Numer 12846712894671893230917497617383216 (gültig ab 32.13.2671)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jun 04, 2004 22:35 
Offline
DGL Member

Registriert: Do Mai 20, 2004 15:09
Beiträge: 11
Code:
  1. LoadBmpTexture('002.bmp');
  2. glGenTextures(1, @tex);
  3. glBindTexture(GL_TEXTURE_2D, tex);
  4. glTexParameteri
  5. (GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  6. glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  7. glTexImage2D(GL_TEXTURE_2D, 0, 3, textur.sizeX, textur.sizeY,0, GL_RGB, GL_UNSIGNED_BYTE, textur.data);
  8. glBegin(GL_QUADS);
  9.         glTexCoord2f(0,0); glVertex2f(0,0);
  10.         glTexCoord2f(0,1); glVertex2f(0,1);
  11.         glTexCoord2f(1,1); glVertex2f(1,1);
  12.         glTexCoord2f(1,0); glVertex2f(1,0);
  13. glEnd;
  14. BuildFont('Comic Sans MS',28);
  15. glcolor3f(210,224,0);
  16. ShowText(100,500,'Menue');
  17.  


Den Text"Menue" zeigt er nur an, wenn Textur sache auskommentiert ist.
Weder Quader noch Textur werden dargestellt!

nutze glAux!
farbänderung brachte auch nix, quader nix zu sehen


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 24 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.010s | 14 Queries | GZIP : On ]