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

Aktuelle Zeit: Fr Jul 18, 2025 12:27

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



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Warum Kantenlänge = 2^n?
BeitragVerfasst: Di Aug 12, 2008 09:25 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 15:11
Beiträge: 13
Hallo!

Dann starte ich mal den zweiten Versuch.
Meine Frage war, warum es bei den Kantenlängen der Texturen die Beschränkung auf 2^n x 2^m gibt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 09:29 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
weil bei mipmaps jeweils 2x2 pixel fusioniert werden um den nächsten Level zu erzeugen. Das ist bei nicht PoT kuam sinnvoll zu machen.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 09:30 
Offline
DGL Member

Registriert: Sa Dez 30, 2006 20:52
Beiträge: 43
Programmiersprache: Delphi
Viele neue GraKa können auch NPOT-Texturen verarbeiten, also Texturen mit "ungeraden" Seitenlängen. Aber das können eben nicht alle GraKa, deshalb sollte man weiterhin darauf achten :-|


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 09:33 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 15:11
Beiträge: 13
Achso. Das mit den Mip-Maps wusste ich nicht...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 10:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Wie the-winner schon sagte. Eine POT Textur lässt sich viel einfacher verrechnen, da nur ganze Pixel verrechnet werden müssen und keine halben Pixel zu stande kommen können.

NPOT Texturen werden mittlerweile auf allen Karten unterstützt. Allerdings geht der ein oder andere Hersteller her und verfällt unter bestimmten Bedingungen (NPOT und MipMaps) in einen Softwaremodus wodurch das dann unsichtbar auf der CPU berechnet wirden. Was dann aber richtig langsam ist. Leider kann man nicht herrausfinden wann das der Fall ist sondern man merkt es nur, wenn es zu spät ist. Deswegen ist man mit POT Texturen leider auf der einzig sicheren Seite.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 13:57 
Offline
DGL Member

Registriert: Fr Okt 24, 2003 22:26
Beiträge: 120
Wohnort: Mannheim
Programmiersprache: Delphi
>NPOT Texturen werden mittlerweile auf allen Karten unterstützt

Einschränkung!
Villeicht auf allen neueren Spielegrafikkarten, aber sicher nicht auf allen Karten.
Es kommt da leider immer noch auf die Zielgruppe drauf an, ob man will, daß es (fast) überall funktioniert, oder man die Zeilgruppe auf aktuelle Hardware reduzieren kann.

Grüße
User69


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Aug 12, 2008 17:56 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das war damit gemeint. Alle Karten die seit 3-4 Jahren rauskommen können NPOT Texturen. Teilweise auch mit den von mir genannten Einschränkungen (MipMaps). Es ist vollkommen klar, dass eine TNT2 von vor 12 jahren nicht urplötzlich NPOTs kann. Genau so wie irgendwelche super stromsparenden Notebook chips die gerade mal 2D Beschleunigen können. Da hast du vollkommen recht, wenn du sagst, dass es auf den Einsatzzweck ankommt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 15, 2008 18:30 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 15:11
Beiträge: 13
Per gluBuild2DMipMaps kann ich ja Texturen beliebiger Größe laden (so stehts auch im Wiki). Ich glaub die Funktion mischt da noch Zeilen mit rein (Ich hatte mal eine kleine Schachbretttextur mit 3x3 Pixeln geladen, die erschien dann verschwommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Aug 15, 2008 18:32 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
mario hat geschrieben:
Per gluBuild2DMipMaps kann ich ja Texturen beliebiger Größe laden (so stehts auch im Wiki). Ich glaub die Funktion mischt da noch Zeilen mit rein (Ich hatte mal eine kleine Schachbretttextur mit 3x3 Pixeln geladen, die erschien dann verschwommen.

Afaik vergrößert die einfach die Textur auf die nächste POT größe und baut dann von dort ausgehend die mipmaps auf.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 18, 2008 09:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Wenn du keine NPOT Texturen hast, bekommst du auch Probleme mit Texturkompression, da die in 4x4 Blöcken arbeitet.
Wo man vorher eine Reihe oder Spalte Schwarze Pixel abstand verwendet hat, z.B. bei Fontmaps, da muss man dann 2 Pixel Breit arbeiten.
Wenn die Texture Kleiner als 4x4 ist kannst du die Textur wegwerfen, da die dann hochskaliert wird und das endet im pixeldreck.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.007s | 15 Queries | GZIP : On ]