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

Aktuelle Zeit: Sa Apr 17, 2021 16:10

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



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: Texturen mit OpenGL 1.1
BeitragVerfasst: Fr Jun 16, 2017 12:40 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
mathias hat geschrieben:
Dann war der Weg der ich früher machte, das ich die Texturen bei jeden Draw-Durchgang neu ins VRAM ladete gar nicht so falsch.
War dies nicht der ursprüngliche Weg, welcher bei den AGP-Karten vorgesehen war ?


Nope, das ist nur dein eigenes Konstrukt :)

Eher das Gegenteil trifft zu weil alles so viel viel teurer war. Da blieb nur genug Leistung um ein paar Spezialeffekte, wie etwa dynamische Beleuchtung, auf diese Weise zu lösen. Und selbst da wurde noch Optimiert bis zum Geht-nicht-mehr.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texturen mit OpenGL 1.1
BeitragVerfasst: Fr Jun 16, 2017 14:01 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
glGenerateTextures solltest beim Updaten nicht verwenden nur beim Erstellen.
Texturen solltest Du nur updaten, wenn sich die Daten verändert haben, es ist zwar nicht falsch es in jedem frame zu tun, aber absolut sinnloser ballast.

Teximage alloziert und lädt hoch, texsubimage lädt nur hoch, also brauchst du mindestens einmal teximage, aber das allozieren kannst du dir später sparen.

teximage und texsubimage haben als 2ten parameter das level, das steht für das mipmap-level und du kannst so die einzelnen mipmap-level hochladen.

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


Zuletzt geändert von Vinz am Sa Jun 17, 2017 11:25, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texturen mit OpenGL 1.1
BeitragVerfasst: Fr Jun 16, 2017 20:17 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1211
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Ich habe folgendes probiert, und es scheint zu funktionieren.
So wie ich sehe, kann man bei glTexSubImage2D offset-Werte mitgeben. und somit nur ein Teil einer Textur schreiben ?
Code:
  1. // Einmal
  2.  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 2, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, nil);
  3.  
  4. // später mehmals
  5.   glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 2, 2, GL_RGBA, GL_UNSIGNED_BYTE, @Textur32);


Für was kann man glTexStorage2D gebrauchen ?

Hast du noch ein Beispiel, wie das mit dem Mipmap-Level geht ?

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Texturen mit OpenGL 1.1
BeitragVerfasst: Sa Jun 17, 2017 11:23 
Offline
DGL Member

Registriert: Fr Mai 11, 2012 13:25
Beiträge: 229
Programmiersprache: c++, c, JavaScript
In der Regel werden die MipMaps so gewählt, dass das MipMap mit Level i eine Textur der Abmessung size / (2^i) ist, wenn size die ursprüngliche Abmessung der Textur ist, jedes Mipmap hat also die halbe Breite und Höhe von dem niedriger liegenden Level.

glTexStorage alloziert und legt die Größen entsprechend dieser vorgaben, ausserdem Format etc. für alle Level einer Textur fest, und setzt den Inhalt Null, also so, als würdest Du teximage für jedes Level
mit den richtigen Größen aufrufen und NULL am Ende übergeben.

Wenn deine Version mindestens 4.2 ist, kannst Du das machen, und anschließend mit texsubimage die Daten hochladen.

Ansonsten würde ich mit glTexImage jedes level allozieren und hochladen.

Wichtig ist aber dass Du deine MipMaps schon zuvor in der richtigen Größe im RAM hast.

Die Offsets kannst Du alle 0 lassen, wenn nicht nur einen Teil des Bildes updaten möchtest.

Wenn Du aber nicht irgendwas ganz spezielles vorhast, würde ich einfach glGenerateMipmap oder so verwenden ;)

_________________
"Pixel, ich bin dein Vater."
-Darf Shader


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.048s | 19 Queries | GZIP : On ]