Schlechte Qualität bei Verwendung von 3D-Sprites

Anfängerfragen zum Programmieren mit PureBasic.
pureanfänger
Beiträge: 74
Registriert: 29.03.2008 15:22

Schlechte Qualität bei Verwendung von 3D-Sprites

Beitrag von pureanfänger »

Hallo Leute,
ich habe folgendes Problem:
Ich verwende in meinem Programm 3D-Sprites zur Darstellung von "Buttons". Leider musste ich feststellen, dass es erhebliche Qualitätsverluste gibt, sobald ich 3D-Sprites verwende.
Wenn ich das gleiche Sprite mit DisplaySprite darstelle, ist die Qualität super.

Ist es allgemein so, dass 3D-Sprites beim darstellen eine schlechtere Qualität haben, oder liegt es ggf. an meinem Rechner?

LG
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Code oder Screenshots würden vll dein Problem mehr verdeutlich ich kann jedoch sagen: Wenn du das Sprite3D weder zoomst noch drehst kommt da garantiert das gleiche raus (natürlich sollte ein Sprite3D immer 2^n mal 2^n sein, auch wenn neuere Grakas das verkraften können ältere muggen, vll is das ja dein Problem)
Klar ist natürlich auch das wenn du zoomst oder drehst Qualität auf der
Strecke bleibt...
(\/) (°,,,°) (\/)
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Bei Skalierung muss interpoliert werden, dann wird es schwamming, vorrausgesetzt du hast mit Sprite3DQuality() Bilineare Filterung eingestellt, ansonsten wird es nur kantig.

Da Sprite3Ds letzendlich nur texturierte Quads sind, sollten auch auf neuen Grafikkarten die Dimensionen 2^n verwendet werden (da die Texturpixel ansonsten nicht auf die Texel des Quads passen und ebenfalls interpoliert werden muss).
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

je nach Einstellung der Grafiktreiber kann ich mir durchaus vorstellen,
dass auch bei einem 1:1 Größenverhältnis weichgezeichnet wird,
wenn die Sprite3DQuality() hochgestellt wurde.

zusätzlich ist immer das Verhältnis von Screen-Auflösung zu nativer Monitorauflösung zu bedenken,
aber das betrifft 2D sprites genauso wie Sprite3D.

ich verweise auch noch mal auf das 2^n...

und erneuere KeyKons rückfrage:
>> Screenshots würden vll dein Problem mehr verdeutlich
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Kaeru Gaman hat geschrieben:je nach Einstellung der Grafiktreiber kann ich mir durchaus vorstellen,
dass auch bei einem 1:1 Größenverhältnis weichgezeichnet wird,
wenn die Sprite3DQuality() hochgestellt wurde.
Das kann ich bezeugen, denn diese Erfahrung habe ich in den letzten Tagen gemacht, dem ist so.

Und zum Treiber lässt sich sagen: wenn der Benutzer will, kann er einige Einstellungen der Anwendung mit dem Grafikkartentreiber überschreiben.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
pureanfänger
Beiträge: 74
Registriert: 29.03.2008 15:22

Beitrag von pureanfänger »

danke schon mal für eure schnellen antworten.

bedeutet die Aussage 2^n mal 2^n das ich ein Quadratischen Button haben muss, oder das die Größe nur eine vielfache von 2 sein muss?

Ich habe momentan eine Buttongröße von 200x40 Pixel
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

meine tests ergaben das es auch in deinem Fall dann 256*64 sein kann
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

pureanfänger hat geschrieben:... oder das die Größe nur eine vielfache von 2 sein muss?
2 hoch n heißt nicht 2 mal n...

jede der Seiten sollte eine Zweierpotenz sein, wobei moderne Karten (also seit ein paar Jahren) mit nicht-quadratischen formaten zurecht kommen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Wenn du die Buttons nich Quadratisch willst kannst du ja mit Transparenz arbeiten...
(\/) (°,,,°) (\/)
Antworten