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

Aktuelle Zeit: Do Mär 28, 2024 19:16

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: glBufferData vs. glBufferStorage
BeitragVerfasst: Di Mai 23, 2017 21:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Was ist der Unterschied zwischen glBufferData und glBufferStorage ?
Egal, ob ich glBufferData oder glBufferStorage nehme, ich stelle keinen Unterschied fest.
Code:
  1.   glBindBuffer(GL_ARRAY_BUFFER, VBCube.VBOvert);
  2.   //  glBufferData(GL_ARRAY_BUFFER, sizeof(CubeVertex), @CubeVertex, GL_STATIC_DRAW);
  3.   glBufferStorage(GL_ARRAY_BUFFER, sizeof(CubeVertex), @CubeVertex, GL_MAP_WRITE_BIT or GL_MAP_PERSISTENT_BIT);
  4.   glEnableVertexAttribArray(10);                  
  5.   glVertexAttribPointer(10, 3, GL_FLOAT, False, 0, nil);

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBufferData vs. glBufferStorage
BeitragVerfasst: Mi Mai 24, 2017 07:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Bei den *Storage Funktionen geht es darum die Ressourcen nur einmal zu reservieren, wohingegen die normale *Data-Familie zum Beispiel neuen Speicher reservieren darf. Die Idee dahinter ist halt das dein Treiber so weitere Optimierungen fahren darf. Allerdings ist das dann natürlich wieder Sache des jeweiligen Herstellers.

Die Daten selbst kannst du dann mit den *SubData Funktionen oder per Shader natürlich immer noch bearbeiten.

Zwei gute Beispiele für solche Buffer wären virtuelle Texturen und Partikel Systeme da diese ja niemals die Größe ändern.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: glBufferData vs. glBufferStorage
BeitragVerfasst: Mi Mai 24, 2017 17:05 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Bei den *Storage Funktionen geht es darum die Ressourcen nur einmal zu reservieren,

Dann ist *Storage eher für statische Meshes geeignet, und *Data für Meshes, welche sich zur Laufzeit verändern ?

Ich habe gerade gesehen, das glBufferStorage erst ab OpenGL 4.4 gibt.
https://www.khronos.org/registry/OpenGL ... rage.xhtml

_________________
OpenGL


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 31 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.075s | 17 Queries | GZIP : On ]