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

Aktuelle Zeit: Do Jul 17, 2025 07:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Display Listen Problem
BeitragVerfasst: Fr Jan 14, 2005 12:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Ich rufe zum erstellen einer DL
Code:
  1. glNewList(Models[ModelNumber].DL, GL_COMPILE);

auf und am ende
Code:
  1. glEndList
.

Hierbei ist Models[ModelNumber].DL eine GLUInt Variable (Habs auch mit integer probiert).

Beim erstellen tritt kein Fehler auf und in den Listen sind nur Rendervorgänge, die vorher funktionierten:
Code:
  1.     glNewList(Models[ModelNumber].DL, GL_COMPILE);
  2.       if Models[ModelNumber].VBOs[0].Size>0 then begin
  3.         glDisable(GL_TEXTURE_2D);
  4.         glDisable(GL_ALPHA_TEST);
  5.         glBindBufferARB(GL_ARRAY_BUFFER_ARB, Models[ModelNumber].VBOs[0].VBO);
  6.         glInterleavedArrays(GL_N3F_V3F, SizeOf(TVertex), nil);
  7.         glDrawArrays(GL_TRIANGLES, 0, Models[ModelNumber].VBOs[0].Size*3);
  8.       end;
  9.       glEnable(GL_TEXTURE_2D);
  10.       glEnable(GL_ALPHA_TEST);
  11.       for i := 1 to Models[ModelNumber].VBONumber do begin
  12.         glbindtexture(GL_Texture_2d,Models[ModelNumber].VBOs[i].Tex);
  13.         glBindBufferARB(GL_ARRAY_BUFFER_ARB, Models[ModelNumber].VBOs[i].VBO);
  14.         glInterleavedArrays(GL_T2F_N3F_V3F, SizeOf(TVertex2), nil);
  15.         glDrawArrays(GL_TRIANGLES, 0, Models[ModelNumber].VBOs[i].Size*3);
  16.       end;
  17.     glEndList();


Aber wenn ichs zeichne, sieht mann nichts und die GLUint variablen haben alle den Wehrt 0!!! Und ich gebe beim erstellen ganz sicher die selben variablen an, wie beim aufrufen!

Und der Witz: Wenn ich vor dem erstellen die GLUInt variable manuell zuweise (1,2,3 usw) dann funktionierts.

Fehlt mir da ein befehl bei der Erstellung oder so???

(Vor geraumer zeit habe ich schon mal erfolgreich DLs benutzt)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 13:37 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
SORRY :roll:

blablabla:=glGenLists(1);

habs gefunden.

Vielleicht löscht mal jemand den thread???

Edit:

Ähhm: kann das sein, dass das im RedBook fählt? (sehr kleinlaut)

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 15:16 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nun im Wiki sind alle nötigen Befehle gelistet... 8) :D

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 15:31 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
glEnable() / glDisable() denke ich , funktionieren in einer DL sowieso nicht. Man muss entsprechende States vor dem Aufruf einer DL rufen. Oder ? :shock:
Ich meine, das wird nicht kompiliert. :? Oder ?

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 15:34 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Doch die sollten mit aufgenommen werden.
Steht jedenfalls nix im Wiki was gegenteiliges behauptet.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 15:37 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Ich werede das mal selbst testen. Selbst ist der Mann. 8) :wink:

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


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

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Hm, compilieren kann ichs und funktionieren tuts auch.

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 14, 2005 15:58 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Habe aber noch was wiziges gefunden:

Ich habe jetzt einen Modus ohne VBOs nur mit DLs

Wenn ich die befehle glbegin(gl_triangles); und glend; aus der Display List heraus nehme und sie vor und hinter den Befehl glGallList setze, dann wird das ganze sehr langsam (langsamer als iteratives zeichnen ohne DLs!!!).
Ist das Normal???

entweder (Schnell)

Code:
  1.     ...
  2.       glNewList(blabla, GL_COMPILE);
  3.         glbegin(gl_triangles);
  4.           for i2 := 1 to Models[ModelNumber].VBOs[i].Size*3 do begin
  5.             f.ReadBuffer(Vertex2,sizeof(vertex2));
  6.             with vertex2 do begin
  7.               gltexcoord3f(S,T,U);
  8.               glnormal3f(U,V,W);
  9.               glvertex3f(X,Y,Z);
  10.             end;
  11.           end;
  12.         glEnd;
  13.       glEndList();
  14.     ...
  15.       glcalllist(blabla);
  16.     ...


oder (sehr Langsam)

Code:
  1.     ...
  2.       glNewList(blabla, GL_COMPILE);        
  3.         for i2 := 1 to Models[ModelNumber].VBOs[i].Size*3 do begin
  4.           f.ReadBuffer(Vertex2,sizeof(vertex2));
  5.           with vertex2 do begin
  6.             gltexcoord3f(S,T,U);
  7.             glnormal3f(U,V,W);
  8.             glvertex3f(X,Y,Z);
  9.           end;
  10.         end;        
  11.       glEndList();
  12.     ...
  13.       glbegin(gl_triangles);
  14.         glcalllist(blabla);
  15.       glEnd;
  16.     ...


und so sieht mann nichts:

Code:
  1.     ...
  2.       glbegin(gl_triangles);
  3.         glNewList(blabla, GL_COMPILE);        
  4.           for i2 := 1 to Models[ModelNumber].VBOs[i].Size*3 do begin
  5.             f.ReadBuffer(Vertex2,sizeof(vertex2));
  6.             with vertex2 do begin
  7.               gltexcoord3f(S,T,U);
  8.               glnormal3f(U,V,W);
  9.               glvertex3f(X,Y,Z);
  10.             end;
  11.           end;        
  12.         glEndList();
  13.       glEnd;
  14.     ...
  15.       glbegin(gl_triangles);
  16.         glcalllist(blabla);
  17.       glEnd;
  18.     ...

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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 | 16 Queries | GZIP : On ]