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

Aktuelle Zeit: Sa Jun 08, 2024 11:44

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 28, 2005 14:59 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
doppelpost damit ihr es auch lest:

hab mich jetzt mal an die displaylisten angenähert.

und folgenden code produziert:

Code:
  1. //==============================================================================
  2. //buildlists - baut die displaylisten für das terrain
  3. //==============================================================================
  4. procedure buildlists(map:TMap);
  5. var l,i,k:integer;
  6.     qw,qh:single;
  7. begin
  8.  
  9. if not f_hm_loaded then
  10.  begin
  11.  setlength(HM,map.HeightMap.Width,map.HeightMap.Height); // Heightmap-Array initialisieren
  12.  for i:= 0 to map.HeightMap.Width-1 do
  13.   for k := 0 to map.HeightMap.Height-1 do
  14.    begin
  15.    //value:=map.HeightMap.Canvas.Pixels[i,k];
  16.    HM[i,k]:=getrvalue(map.HeightMap.Canvas.Pixels[i,k]);
  17.      //hextoint(copy(inttohex(value,6),0,2));
  18.       //^Rot-Wert wird zur Höhe^
  19.    end;
  20.  f_hm_loaded:=true;
  21.  end;          //das braucht man wohl - denn die displaylist will ja keine leere heightmap haben.
  22.  
  23. if not f_tm_loaded then
  24.  begin
  25.  setlength(TM,map.heightmap.Width,map.heightmap.Height); // Texturemap-Array initialisieren
  26.  for i:= 0 to map.TextureAssignment.Width-1 do
  27.   for k := 0 to map.TextureAssignment.Height-1 do
  28.    begin
  29.    TM[i,k]:=getrvalue(map.TextureAssignment.Canvas.Pixels[i,k]);
  30.      //^Rot-Wert wird zum Texturindex^
  31.    end;
  32.  f_tm_loaded:=true;
  33.  end;          //wie oben - aber jetzt mit texturemap
  34.  
  35.  
  36. if not f_tex_loaded then
  37.  begin
  38.   for i:=0 to high(map.textures) do
  39.    begin
  40.     textures[i]:=TGLBitMap2d.Create;
  41.     textures[i].SetTextureWrap(GL_REPEAT, GL_REPEAT);
  42.     textures[i].SetFilter(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR);
  43.     textures[i].loadfromfile(map.textures[i]);
  44.     textures[i].GenTexture;
  45.    end;
  46.   f_tex_loaded:=true;
  47.  end;          //sollte eigentlich nicht nötig sein, habs aber trotzdem drin.
  48.  
  49.  
  50. qw:=1/map.HeightMap.Width;          //für die textur- wie hiess das? naja ausrichtung oder so
  51. qh:=1/map.HeightMap.Height;         // \"
  52.  
  53. glGenLists(1+length(map.textures));  // eine liste für die anchors und eine für jede textur
  54. glnewlist(LIST_ANCHORS,GL_COMPILE);  //kompilierung der anchors-liste
  55.  Levelrender(level);          //gibt nur die anchors aus
  56. glEndList;
  57.  
  58.  for l:= 2 to high(map.textures)+2 do begin  // für alle texturen
  59.   glNewList(l,GL_COMPILE);
  60.   glbegin(gl_triangles);
  61.   for k:= 0 to high(HM[0])-1 do
  62.    for i:= 0 to high(HM)-1 do
  63.     if l=TM[i,k] then  // und hier liegt der fehler - denn da ich zurzeit nur 2 texturen habe, kann ich gar nichts angezeigt bekommen.
  64.      begin
  65.       gltexcoord2f(i*qw,k*qh);        glvertex3f(i,  HM[i,k],    k);
  66.       gltexcoord2f(i*qw,(k+1)*qh);    glvertex3f(i,  HM[i,k+1],  k+1);
  67.       gltexcoord2f((i+1)*qw,(k+1)*qh);glvertex3f(i+1,HM[i+1,k+1],k+1);
  68.  
  69.       gltexcoord2f(i*qw,k*qh);        glvertex3f(i,  HM[i,k],    k  );
  70.       gltexcoord2f((i+1)*qw,(k+1)*qh);glvertex3f(i+1,HM[i+1,k+1],k+1);
  71.       gltexcoord2f((i+1)*qw,k*qh);    glvertex3f(i+1,HM[i+1,k],  k  );
  72.  
  73.      end;
  74.   glend;
  75.   glEndList;
  76.  end;
  77.  
  78.  
  79. end;


und der bericht, dass ich nichts sehe, hat sich eigentlich erübrigt - denn mein letzter kommentar sagt eigentlich alles.
:roll:

ich schicks trotzdem ab, damit ihr das mal seht. :D

EDIT: hab das jetz mal geändert(if l-2=TM[i,k]) - aber ich seh immer noch nichts.

EDIT2: habs jetz n bisschen umorganisiert, es flackert jetzt auch nicht mehr, wie es bisher tat, aber ich sehe immer noch nichts. werd ich wohl noch n bisschen rumprobieren müssen.

EDIT3: es geht! juhu! siehe projektthread!

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

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