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

Aktuelle Zeit: Fr Jul 18, 2025 16:55

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Sep 18, 2007 18:13 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Hallo Leute!
Folgendes Problem: In meinem Programme benutze ich Vertex Buffer Objects (VBO), um Vertexdaten und Texturkoordinaten zu rendern. Als Code-Basis benutze ich Teile aus dem Tutorial hier im Wiki - klappt auch alles, die Vertexdaten werden in den VRAM der Grafikkarte geschrieben.

Rendern tue ich wie folgt:
Code:
  1.  
  2.  
  3.   glBindBuffer(GL_ARRAY_BUFFER, Number);
  4.   glInterleavedArrays(GL_T2F_V3F, Sizeof(TVertex), nil);
  5.  
  6.  
  7.    //glTexCoordPointer(2,GL_FLOAT,SizeOf(TVertex),nil);
  8.    //glVertexPointer(3,GL_FLOAT,SizeOf(TVertex),PVertex(8));
  9.  
  10.    glDrawArrays(GL_TRIANGLES,0,VertexCount);
  11.  
  12.  


Obiges Rendern schreibt meine Vertexdaten, die vorher nur im GraKa-RAM sind, aber anscheinend in den RAM - zumindest sagt das der Windows XP - Taskmanager. Auch wenn ich anstatt glInterleavedArrays() den auskommentierten Teil benutze.
Ich aktiviere beim Initialisieren:
glEnable(GL_VERTEX_ARRAY);
glEnable(GL_TEXTURE_COORD_ARRAY);
Auch wenn ich glEnableClientState() statt glEnable() benutze, gehen die Daten in den Arbeitsspeicher, genau das will ich ja aber nicht.

Weiß jemand Rat?

Rüdiger


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 18, 2007 19:17 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Wie weisst Du, das über den Taskmanager? Um in den Grafikspeicher zu schreiben, muss dieser virtuell in den Anwendungsaddressraum geblendet werden - dadurch wird der Speicher den Anwendung verwendet und zugreifen kann mehr, insofern ist dieses Verhalten ganz normal.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 18, 2007 19:27 
Offline
DGL Member

Registriert: Mi Mär 31, 2004 15:24
Beiträge: 114
Ah, okay. Danke :) Nur komisch, dass der Speicher im Taskmanager erst angezeigt wird, wenn glInterleavedArrays und glDrawArrays ausgeführt werden. Müsste der Speicherverbrauch nicht eigentlich dann im Taskmanager sichtbar werden, wenn die Vertexdaten in den Speicher geschrieben werden?


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


Wer ist online?

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