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

Aktuelle Zeit: So Sep 07, 2025 21:24

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



Ein neues Thema erstellen Auf das Thema antworten  [ 32 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: TEXTUR funzt nicht
BeitragVerfasst: Fr Jan 10, 2003 14:50 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo NG,

so, nachdem ich die Dreherei in den Griff bekommen habe, möchte ich noch eine Textur aufkleben: funzt aber nicht.

Erstellen der TEXTUR:
Code:
  1.  
  2.  
  3.      glEnable(GL_TEXTURE_2D);
  4.  
  5.      texture1:=auxDIBImageLoadA('granit.bmp');
  6.  
  7.      glGenTextures(1,tex);
  8.  
  9.      glBindTexture(GL_TEXTURE_2D,tex);
  10.  
  11.      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
  12.  
  13.      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
  14.  
  15.      glTexImage2D(GL_TEXTURE_2D,0,3,texture1^.sizeX,texture1^.sizeY,
  16.  
  17.                    0,GL_RGB,GL_UNSIGNED_BYTE,texture1^.data);
  18.  
  19.      glBindTexture(GL_TEXTURE_2D,tex);
  20.  
  21.      //////////////////
  22.  
  23.  


TEXTUR anwenden
Code:
  1.  
  2.  
  3.              glBegin(GL_QUADS);
  4.  
  5.               glLineWidth(LWD[1]*0.4);
  6.  
  7.               glcolor3f(1,0,0);
  8.  
  9.               gltexcoord2f(0,0);
  10.  
  11.               glcolor3f(0.2,0.2,0.5);
  12.  
  13.               glvertex3f(PX[lauf1,lauf4],PY[lauf1,lauf4],PZ[lauf1,lauf4]);
  14.  
  15.               gltexcoord2f(0,1);
  16.  
  17.               glcolor3f(0.2,0.2,0.5);
  18.  
  19.               glvertex3f(PX[lauf1+1,lauf5],PY[lauf1+1,lauf5],PZ[lauf1+1,lauf5]);
  20.  
  21.               gltexcoord2f(1,1);
  22.  
  23.               glcolor3f(0.2,0.2,0.5);
  24.  
  25.               glvertex3f(PX[lauf1+1,lauf5+1],PY[lauf1+1,lauf5+1],PZ[lauf1+1,lauf5+1]);
  26.  
  27.               gltexcoord2f(1,0);
  28.  
  29.               glvertex3f(PX[lauf1,lauf4+1],PY[lauf1,lauf4+1],PZ[lauf1,lauf4+1]);
  30.  
  31.             glend;
  32.  
  33.  



Es ist weder ein Licht gesetzt noch sonst was. Ich erzeuge nur die Quadrate und beklebe sie dann. Das seltsame ist, dass die Szene immer gefüllt ist, obwohl ich da eigentlich ( :? ) nix gemacht habe. Setze ich an Stelle der QUADS Linien, erscheint ein sauberes Gittermodell, ohne Füllung.

Kann mir jemand helfen, wie ich die Textur da drauf bekomme ?

Gruß und DANKE

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 14:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

ruf mal VOR deinem Zeichnen des Quads das auf:

Code:
  1.  glBindTexture(GL_TEXTURE_2D,tex);
  2.  
  3.   glBegin(GL_QUADS);
  4.  
  5.     [...]


Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo AYA,

so sieht man sich wieder. Nö, das funzt auch nicht.

Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Zitat:
Das seltsame ist, dass die Szene immer gefüllt ist, obwohl ich da eigentlich (  ) nix gemacht habe.


Wie meintest du denn das?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo,


nun ja, die Quadrate sind alle blau gefüllt - ich dachte, die Füllung mache ich ?????? :oops: . Die TEXTUR ist aber nicht blau. Ich habe mir auch schon einige Texturen runter geladen - ist immer das Gleiche.

Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:18 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
mh...

dann liegt das an der art wie du die Textur lädst... :)
Selber geschrieben oder is das ne extra Unit???
(Lad dir mal die Textures.pas von Jan Horn runter, die is wirklich gut :) )

*winkt*
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
ah... hast du:
Code:
  1. glEnable(GL_TEXTURE_2D);

aufgerufen? :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo,

ich habe mir das aus dem TUT geklaut.

JAN HORN, ist das auch hier ?

Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Schau mal bei den Links, da die erste seite..:)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:33 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Hallo,


also enabled habe ich gesetzt. Das Füllen lag am POLYGONMODE...ich habe da doch was gemacht ... :? Jetzt ist ein sauberes Gittermodel da...aber immer noch ohne Textur.

Ich lese mal das von Jan Horn


Gruss


Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
mh...

also du willst ein Gittermodell Texturieren???

Dann siehst du die Textur aber NUR auf den Linien... :) Willst du das so??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:49 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
nö nö nö nö... ich will das QUAD texturieren. Nur bisher war es so, dass das Feld (wenn ich die TEXTUR disabled habe) als Fläche dargestellt wurde. Jetzt wird es wieder ein Gittermodell.

Sag mal, kann da mein Fehler liegen ?? Mach ich da was mit dem POLAGONMODE falsch ? oder mit dem glshademodel ?


Gruss

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:51 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Das dein Quad wenn es ohne Textur ist, komplett Weiß (bzw Blau) ist, ist völlig richtig :)

Poste dochmal deine komplette Procedur in der du die Szene zeichnest :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 15:54 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jan 03, 2003 14:15
Beiträge: 36
Kommt schon:

Code:
  1.  
  2.  
  3.  procedure TForm1.DrawScene;
  4.  
  5.   const
  6.  
  7.   ambient  : array[0..3] of GLFloat = (0.5,0.3,0.3,1);
  8.  
  9.   diffuse  : array[0..3] of GLFloat = (0.7,0.7,0.7,1);
  10.  
  11.   specular : array[0..3] of GLFloat = (0.2,0.2,0.2,1);
  12.  
  13.   position : array[0..3] of GLFloat = (-1.0,-0.5,1.0,1);
  14.  
  15.   Direction: array[0..2] of GLFloat = (0,0,0);
  16.  
  17.  
  18.  
  19.   var lauf1 : integer;
  20.  
  21.       lauf2 : integer;
  22.  
  23.       lauf3 : integer;
  24.  
  25.       lauf4 : integer;
  26.  
  27.       lauf5 : integer;
  28.  
  29.       lwd   : array[0..1] of GLFloat;
  30.  
  31.       wdt   : GLFloat;
  32.  
  33.       step  : GLFloat;
  34.  
  35.   begin
  36.  
  37.  
  38.  
  39.     glGetFloatv(GL_POINT_SIZE_RANGE,@lwd);
  40.  
  41.     glGetFloatv(GL_POINT_SIZE_GRANULARITY,@step);
  42.  
  43.  
  44.  
  45. {    glLightfv(Gl_Light0,GL_AMBIENT,@Ambient);
  46.  
  47.     glLightfv(Gl_Light0,GL_DIFFUSE,@Diffuse);
  48.  
  49.     glLightfv(Gl_Light0,GL_SPECULAR,@Specular);
  50.  
  51.  
  52.  
  53.     glLightmodelfv(GL_LIGHT_MODEL_AMBIENT,@Ambient);
  54.  
  55.     glLightModelf(Gl_LIGHT_MODEL_TWO_SIDE,1);
  56.  
  57.     glLightModelf(GL_LIGHT_MODEL_LOCAL_VIEWER,1);
  58.  
  59.  
  60.  
  61.     glLightf(GL_LIGHT0,GL_SPOT_CUTOFF,200);
  62.  
  63.     glLightf(GL_LIGHT0,GL_SPOT_EXPONENT,10);
  64.  
  65.     glDisable(GL_LIGHTING);}
  66.  
  67.  
  68.  
  69. //    glEnable(GL_LIGHT0);
  70.  
  71. //    glPolygonMode(GL_FRONT,GL_LINE);
  72.  
  73. //    glEnable(GL_TEXTURE_2D);
  74.  
  75.  
  76.  
  77.     lauf4:=1;
  78.  
  79.     lauf5:=1;
  80.  
  81.     for lauf1:=1 to BLMAX-1 do
  82.  
  83.       begin
  84.  
  85.         for lauf2:=1 to max(BLINDEX[lauf1],BLINDEX[Lauf1+1]) do
  86.  
  87.           begin
  88.  
  89.             glBindTexture(GL_TEXTURE_2D,tex);
  90.  
  91.             glEnable(GL_TEXTURE_2D);
  92.  
  93.             glBegin(GL_QUADS);
  94.  
  95.             glLineWidth(LWD[1]*0.4);
  96.  
  97.             glcolor3f(1,0,0);
  98.  
  99.             gltexcoord2f(0,0);
  100.  
  101.             glcolor3f(0.2,0.2,0.5);
  102.  
  103.             glvertex3f(PX[lauf1,lauf4],PY[lauf1,lauf4],PZ[lauf1,lauf4]);
  104.  
  105.             gltexcoord2f(0,1);
  106.  
  107.             glcolor3f(0.2,0.2,0.5);
  108.  
  109.             glvertex3f(PX[lauf1+1,lauf5],PY[lauf1+1,lauf5],PZ[lauf1+1,lauf5]);
  110.  
  111.             gltexcoord2f(1,1);
  112.  
  113.             glcolor3f(0.2,0.2,0.5);
  114.  
  115.             glvertex3f(PX[lauf1+1,lauf5+1],PY[lauf1+1,lauf5+1],PZ[lauf1+1,lauf5+1]);
  116.  
  117.             gltexcoord2f(1,0);
  118.  
  119.             glvertex3f(PX[lauf1,lauf4+1],PY[lauf1,lauf4+1],PZ[lauf1,lauf4+1]);
  120.  
  121.             glend;
  122.  
  123.             glDisable(GL_TEXTURE_2D);
  124.  
  125.  
  126.  
  127.             lauf4:=lauf4+1;
  128.  
  129.             lauf5:=lauf5+1;
  130.  
  131.             if lauf4>=BLINDEX[lauf1]-1 then lauf4:=BLINDEX[lauf1]-1;
  132.  
  133.             if lauf5>=BLINDEX[lauf1+1]-1 then lauf5:=BLINDEX[lauf1+1]-1;
  134.  
  135.           end;
  136.  
  137.  
  138.  
  139.  
  140.  
  141.          glLineWidth(LWD[1]*0.2);
  142.  
  143.          glBegin(gl_lines);
  144.  
  145.            glcolor3f(1,0,0);
  146.  
  147.            glVertex3f(LX[lauf1,1],LY[lauf1,1],PZ[lauf1,1]);
  148.  
  149.            glVertex3f(BX[lauf1,BLINDEX[lauf1]],BY[lauf1,BLINDEX[lauf1]],BZ[lauf1,BLINDEX[lauf1]]);
  150.  
  151.          glend;
  152.  
  153.          glBegin(gl_lines);
  154.  
  155.            glcolor3f(1,0,0);
  156.  
  157.            glVertex3f(LX[lauf1+1,1],LY[lauf1+1,1],PZ[lauf1+1,1]);
  158.  
  159.            glVertex3f(BX[lauf1+1,BLINDEX[lauf1+1]],BY[lauf1+1,BLINDEX[lauf1+1]],BZ[lauf1+1,BLINDEX[lauf1+1]]);
  160.  
  161.          glend;
  162.  
  163.  
  164.  
  165.          glBegin(gl_lines);
  166.  
  167.            glcolor3f(0,1,0);
  168.  
  169.            glVertex3f(PX[lauf1,1],PY[lauf1,1],PZ[lauf1,1]);
  170.  
  171.            glVertex3f(LX[lauf1,1],LY[lauf1,1],PZ[lauf1,1]);
  172.  
  173.          glend;
  174.  
  175.  
  176.  
  177.          glBegin(gl_lines);
  178.  
  179.            glcolor3f(0,1,0);
  180.  
  181.            glVertex3f(PX[lauf1+1,1],PY[lauf1+1,1],PZ[lauf1+1,1]);
  182.  
  183.            glVertex3f(LX[lauf1+1,1],LY[lauf1+1,1],PZ[lauf1+1,1]);
  184.  
  185.          glend;
  186.  
  187.  
  188.  
  189.          glLineWidth(LWD[0]);
  190.  
  191.         lauf4:=1;
  192.  
  193.         lauf5:=1;
  194.  
  195.       end;
  196.  
  197.  
  198.  
  199.      for lauf3:=1 to BLMPMAX do
  200.  
  201.        begin
  202.  
  203.  &nbsp; &nbsp; &nbsp; &nbsp; if BLV[lauf3]<=2.5 then
  204.  
  205.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin
  206.  
  207.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glPointSize(lwd[1]);
  208.  
  209.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glColor3f(1,0,0);
  210.  
  211.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glBegin(GL_POINTS);
  212.  
  213.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glvertex3f(PX[BLI[lauf3],BLMPI[lauf3]],PY[BLI[lauf3],BLMPI[lauf3]]
  214.  
  215.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;,PZ[BLI[lauf3],BLMPI[lauf3]]);
  216.  
  217.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; glend;
  218.  
  219.  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end;
  220.  
  221.  &nbsp; &nbsp; &nbsp; end;
  222.  
  223.  &nbsp;end;
  224.  
  225. //*******************************************************************
  226.  
  227.  


Gruss

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 10, 2003 16:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
huhu,

also ich seh da keinen direkten fehler... denke mal es liegt an deiner Methode die Textur zu laden.. :)

Lad dir mal die Textures.pas runter und lade deine Textur dann mit:

Code:
  1. LoadTexture(FileName,'Speicher für die Textur (GLUInt)','Aus einer Resource laden?');


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]