PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GeForce - Texturformate


aths
2002-06-01, 16:29:51
GeForce unterstützt offenbar (ARGB) keine 8332-Texturen, ebenso fehlt eine Art 88-Textur (8 Bit Alpha, 8 Bit Palette.) Den Support von (RGB) 332 vermisse ich ebenso. Hat jemand eine Ahnung, ob das HW- oder Treiber-bedingt ist?

StefanV
2002-06-01, 16:59:34
du vergisst die 8bit Palettet Textures *eg*

Demirug
2002-06-01, 17:08:42
Originally posted by Stefan Payne
du vergisst die 8bit Palettet Textures *eg*

Wieso??? Meine Geforce hier meldet 8bit Palettet Textures als verfügbar.

Aber mal im Ernst. Die 8 bit RGB Formate sind doch sowieso nicht wirklich brauchbar. Und die Palettet Textures sind beim Mulitexture auch schlecht zu handhaben da immer nur eine Palette aktive sein kann.

StefanV
2002-06-01, 17:15:55
Originally posted by Demirug
Aber mal im Ernst. Die 8 bit RGB Formate sind doch sowieso nicht wirklich brauchbar. Und die Palettet Textures sind beim Mulitexture auch schlecht zu handhaben da immer nur eine Palette aktive sein kann.

Bei den 8bit Texturen stimm ich dir zu.

Nur nutzen 8bit Texturen manche alte Games, die eh nur ST nutzen...

zeckensack
2002-06-01, 17:33:44
Originally posted by aths
GeForce unterstützt offenbar (ARGB) keine 8332-Texturen, ebenso fehlt eine Art 88-Textur (8 Bit Alpha, 8 Bit Palette.) Den Support von (RGB) 332 vermisse ich ebenso. Hat jemand eine Ahnung, ob das HW- oder Treiber-bedingt ist? Das sind wohl eher Relikte aus Voodoo-Zeiten. Sprich, sie wurden in die D3D-Spec aufgenommen, um auch unter dieser API eine Voodoo halbwegs ausreizen zu können. Diese Mischformate machen bei üppigem Texturspeicher kaum noch Sinn.
Übrigens kann ich dir garantieren, daß die Radeon zumindest das RGB332-Format auch nicht hardwareseitig beherrscht. Es wird vom Treiber in ein 16bit-Format umgewandelt. Die AP88 und ARGB8322 Formate entziehen sich meinem Zugriff (unter OpenGL gibt es derartiges nicht).

Quasar
2002-06-01, 17:47:03
Unter OpenGL gibt es zumindest Support für RGBA 3320, was in etwa deiner Forderung nach RGB 332 entspräche.
Auch der RGBA 3328 sollte unter OpenGL kein Problem sein, wie GL-Info vermeldet.

Auch Color Index-Formate (sind die nicht irgendwie mit palletized Textures verwandt) werden in 4 (1+1+1+0=4?) und 8 (3+3+2+0) Bit unterstützt.


Aber aths macht's glaube ich ebensoviel Spaß, irgendwelche Erbsen zu zählen, wie den meisten Leuten das Spielen mit solchen Grafikboliden.
Haben sich die €500 wirklich dafür gelohnt? ;)

ow
2002-06-01, 19:14:27
Originally posted by Stefan Payne


Bei den 8bit Texturen stimm ich dir zu.

Nur nutzen 8bit Texturen manche alte Games, die eh nur ST nutzen...


Da stimme ich nicht zu.

Quake2 nutzt 8bit palleted textures UND Multitexturing.

ow
2002-06-01, 19:16:35
Wer braucht denn schon 332, 8332 und 88?

Werden die von irgendwas genutzt? Mir fällt da gerade nichts ein.

aths
2002-06-01, 19:57:15
Eine PowerVR-Demo nutzt die. Ist schon komisch, mit der aktuellen HighEnd-Karte aus dem Hause des Marktführers nicht alles sehen zu können.

ow
2002-06-01, 20:22:15
:lol::lol::lol::lol:

Xmas
2002-06-01, 21:49:31
Originally posted by Quasar
Unter OpenGL gibt es zumindest Support für RGBA 3320, was in etwa deiner Forderung nach RGB 332 entspräche.
Auch der RGBA 3328 sollte unter OpenGL kein Problem sein, wie GL-Info vermeldet.

Auch Color Index-Formate (sind die nicht irgendwie mit palletized Textures verwandt) werden in 4 (1+1+1+0=4?) und 8 (3+3+2+0) Bit unterstützt.
Öhm, du redest jetzt von den Framebuffer-Formaten, oder?

(BTW, wieso gibt der Deto bei mir (GF3) an, Color Index Formate mit bis zu 32bpp zu unterstützen? Oder hab ich da den Sinn nicht ganz verstanden und das gibt das Format der Paletteneinträge an?)

Originally posted by aths
Ist schon komisch, mit der aktuellen HighEnd-Karte aus dem Hause des Marktführers nicht alles sehen zu können.
Das ist nicht komisch, das ist normal.
Diese Texturformate sind so unnötig wie der OGL Color Index Mode.

Quasar
2002-06-01, 22:05:21
@Xmas:

Jo...davon spreche ich.

@aths:
Ja, komisch ist es. BTW, wußtest du, daß es noch ein paar andere Dinge gibt, die du mit deiner sündhaft teueren Marktführer-Karte nicht zu sehen bekommen wirst?

aths
2002-06-02, 01:18:18
Zitter... zum Beispiel?

Quasar
2002-06-02, 01:24:55
Na, wenn du das nicht selber weisst.. ;)
(PS1.4 -> Treasure Chest, andere ATi-Demos...etc.)

BTW, hab eben durch Zufall noch was schönes gefunden, auch wenn's "nur" eine Treiberemulation ist:
(keine Ahnung, was die "unausgewählten" Texturformate sein sollen..)

aths
2002-06-02, 01:32:15
Quasar, ja, dass ich Demos die für höher entwickelte Hardware geschrieben wurde nicht sehen kann, sehe ich ein. Nur dass die GeForce nicht mal alles das kann, was eine Uralt-Voodoo schon konnte, finde ich schade.

... Ich stöber mal im rt, ob ich dieses Panel auch finde!

edit: Hehe, aus irgendwelchen Gründen ist bei mir alles schon ausgewählt.

Xmas
2002-06-02, 01:47:49
Originally posted by aths
Quasar, ja, dass ich Demos die für höher entwickelte Hardware geschrieben wurde nicht sehen kann, sehe ich ein. Nur dass die GeForce nicht mal alles das kann, was eine Uralt-Voodoo schon konnte, finde ich schade.
Na und wie stehts mit Glide? Oder noch besser, MeTaL? ;)
Oder, um mal bei den Texturen zu bleiben, sie kann keine NCC. Wieso auch? Das braucht kein Mensch.

ow
2002-06-02, 10:35:32
Originally posted by aths
Quasar, ja, dass ich Demos die für höher entwickelte Hardware geschrieben wurde nicht sehen kann, sehe ich ein. Nur dass die GeForce nicht mal alles das kann, was eine Uralt-Voodoo schon konnte, finde ich schade.




Und das ein VSA100 weit weniger kann als ein RivaTNT finde ich auch schade.

aths
2002-06-02, 13:55:37
Originally posted by ow
Und das ein VSA100 weit weniger kann als ein RivaTNT finde ich auch schade.

Die Diskussion hatten wir schon. Aus meiner Sicht kann ein VSA-100 weit mehr als ein TNT-Chip.

ow
2002-06-02, 14:10:59
Behalt du nur deine Sicht.

Aber hier fehlende 8Bit Tex-Formate zu bemängeln ist einfach lächerlich.

TBird
2002-06-02, 15:08:10
Originally posted by ow
Aber hier fehlende 8Bit Tex-Formate zu bemängeln ist einfach lächerlich.

Wohl wahr...

aths
2002-06-02, 18:20:29
Originally posted by ow
Behalt du nur deine Sicht.
Aber hier fehlende 8Bit Tex-Formate zu bemängeln ist einfach lächerlich.

Müssen solche Angriffe sein, ow? Ich denke, nicht.

ow
2002-06-02, 18:29:29
Angriff?

Ich tue hier meine Meinung kund, mehr nicht.

aths
2002-06-02, 18:44:12
<Meine Meinung on>

Das Fehlen von Texturformaten zu verteidigen, ist einfach lächerlich.

<Meine Meinung off>

Was oben in kursiver Schrift steht, hilft keinem weiter. Also verkneife ich mir sowas. Ganz besonders im Technologie-Forum. Ich würde mich freuen wenn du es ebenfalls unterlässt, andere zu bewerten. Denn nichts anderes hast du mit deiner Äußerung getan. Mehr habe ich hierzu nicht zu sagen.

TBird
2002-06-02, 19:13:01
ow,

bei aths mußt Du ganz besonders vorsichtig sein, der ist da nämlich sehr sensibel. ;)


aths,

Dein Konter ist mal wieder blanker Hohn. Ich frage Dich: Wem hilft es weiter hier über die fehlende Unterstützung von obsoleten Texturformaten zu diskutieren ???
Das mit der Unterlassung von Bewertungen würde ich (und vielleicht auch einige andere) mir eher in so manch einem Deiner Artikel wünschen. Hier im Forum gilt aber hoffentlich immer noch die Meinungsfreiheit.

zeckensack
2002-06-02, 23:03:09
Kein moderner Chip kann sowas überhaupt. Das sind Karteileichen in Direct3D, die für die Voodoos angeschafft wurden.

Trotzdem kann man der Geforce4Ti dieses als fehlendes Feature unterstellen. Reichlich anderen Chips auch. Wo ist das Problem?

Tbird, wenn du aths hier schon auf den Senkel gehen willst (mehr als Anmache war das ja wohl nicht), dann werde doch bitte etwas ausführlicher. Vielleicht kann man dich eines besseren belehren, wenn du deine Meinung erstmal vernünftig darlegst.

aths
2002-06-02, 23:29:17
zeckensack,

es ist doch trotzdem komisch, dass diese DX8.1-Karte nicht mal alle DX7-Anwendungen vollständig laufen lassen kann.

Quasar
2002-06-02, 23:48:03
aths, ich habe hier noch eine Voodoo4 PCI, vielleicht möchtest du tauschen?

Exxtreme
2002-06-02, 23:49:07
Originally posted by Quasar
aths, ich habe hier noch eine Voodoo4 PCI, vielleicht möchtest du tauschen?
LOL
Ich hätte noch eine Voodoo2. ;)

Gruß
Alex

zeckensack
2002-06-02, 23:57:59
Originally posted by aths
zeckensack,

es ist doch trotzdem komisch, dass diese DX8.1-Karte nicht mal alle DX7-Anwendungen vollständig laufen lassen kann. Womit wir wieder bei meinem Lieblingsthema wären: Was ist eigentlich Direct3D?

Im Gegensatz zu einer anderen altehrwürdigen Grafik-API wird bei Direct3D nur so mit radikalen Änderungen um sich geschossen. Jedesmal ist es das gleiche. Mit jeder neuen Version steht zwischen den Zeilen "Was wir da letztes mal gemacht haben, war irgendwie nicht richtig durchdacht. Deswegen fangen wir jetzt nochmal von vorne an. Neue Interfaces für alle!"

Es fehlt hier tatsächlich vor allem planerisch an einem Grundkonzept, das alles andere zusammenhält. Da werden ganz abstruse Features aufgenommen, die nur ein Hersteller überhaupt hat, dann werden sie zwei Versionsnummern später wieder gekickt. Entweder weil kein anderer Hersteller sie vernünftig implementieren will (color key, paletted Textures ;) ), oder weil's einfach Schwachsinn ist (LFB/Z-Buffer-Locks). Diese Dinge müssen aber aufgrund der Rückwärtskompatibilität irgendwie in den alten Interfaces emuliert werden, dann fangen die Probleme an.


Wenn man paletted textures emuliert und als unterstützt meldet, dann steht zu befürchten, daß die Anwendung diese auch benutzt. Emulation dieser Funktion liegt aber irgendwo zwischen hakelig und grottenlahm, also ist es meistens besser, sich von Emulation fernzuhalten und nur die Funktionen zu melden, die die Chip/Treiberkombination tatsächlich in jeder Lebenslage ausreichend schnell schafft.


Wer der Meinung ist, daß Direct3D eine einheitliche, abwärtskompatible API ist, der ist IMO ziemlich auf dem Holzweg. Die Nummer mit den 'exotischen' Texturformaten wäre ein Beispiel dafür.

Aber das ist nicht NVIDIA (all caps!) in die Schuhe zu schieben ;)

Quasar
2002-06-03, 00:17:21
Originally posted by zeckensack

Wenn man paletted textures emuliert und als unterstützt meldet, dann steht zu befürchten, daß die Anwendung diese auch benutzt. Emulation dieser Funktion liegt aber irgendwo zwischen hakelig und grottenlahm, also ist es meistens besser, sich von Emulation fernzuhalten und nur die Funktionen zu melden, die die Chip/Treiberkombination tatsächlich in jeder Lebenslage ausreichend schnell schafft.


Hm...zeckensack.
Sag mir bitte mal eines: unterstützten Radeons palletized Textures per Emulation? Mir kommt da so eine Idee...

zeckensack
2002-06-03, 00:25:35
Originally posted by Quasar


Hm...zeckensack.
Sag mir bitte mal eines: unterstützten Radeons palletized Textures per Emulation? Mir kommt da so eine Idee... Nope. Weder unter Direct3D (Final Fantasy 7 ungepatcht läuft nicht), noch OpenGL (EXT_paletted_texture fehlt).

Nicht falsch verstehen, man (ich zB) kann das per Software emulieren, aber der Treiber tut das nicht.

Quasar
2002-06-03, 00:38:53
Gut....sowas hab' ich mir fast gedacht. :D

edit:
Ach, was soll's. Bevor ich hier jetzt ewig rumprobiere, kann ich genausogut erstmal fragen, ob vielleicht schon vorher jemand auf diese Idee gekommen ist:

Ultima IX läuft auf GF scheisse, auf Radeon gut(zum. besser), Ultima IX war auf Glide programmiert, Glide unterstützt Paletten von Texturen (;)), GF emuliert das per default im Treiber, Radeon tut das nicht tun, Z-Bag sagt "Emulation=Böse, weil langsam", Quasar versucht zu denken "GF macht Emulation mit Palette, UltimaIX deswegen langsam."

Hat schonmal jemand probiert, U9 auf einer GeForce mit deaktivierter Palettenemulation laufen zu lassen?

Wenn ja, bitte in 5 Minuten melden, sonst installier ich es erst wieder und ich muss morgen früh aufstehen...

StefanV
2002-06-03, 00:46:41
Auf allen Karten sind 8bit Paletted Textures per Default deaktiviert.

PS: Matrox kanns, wenn mans aktiviert ;)

Quasar
2002-06-03, 01:56:41
Stefan, wenn du aufmerksam gewesen wärest, hättest du meinen Screenshot von vorhin gesehen, der den default-Zustand wiederspiegelt....

StefanV
2002-06-03, 06:28:12
Originally posted by Quasar
Stefan, wenn du aufmerksam gewesen wärest, hättest du meinen Screenshot von vorhin gesehen, der den default-Zustand wiederspiegelt....

Ja, hab ich.

Aber bisher waren die 8bit Texturen bei den NV Treibern deaktiviert.

Hab gerade nicht FF8 installiert, sonst hätte ich mal 'nen Screenie gepostet ;)

TBird
2002-06-03, 07:54:05
Originally posted by zeckensack

Tbird, wenn du aths hier schon auf den Senkel gehen willst (mehr als Anmache war das ja wohl nicht), dann werde doch bitte etwas ausführlicher. Vielleicht kann man dich eines besseren belehren, wenn du deine Meinung erstmal vernünftig darlegst.


Für Dich nochmal hervorgehoben meine Meinung: 8 Bit Texturformate (egal ob palettized oder nicht) sind obsolet. Alles < 32 Bit lohnt sich überhaupt keiner Diskussion. Was aths hier wieder mal betreibt ist rückwärtsgewandte Erbsenzählerei. Ich frage mich wieso er sich eine neue Grafikkarte geholt hat wenn er jetzt uralte exotische Spiele damit spielen will. Ich kauf mir doch kein High-End System um damit dann Loom oder Zak McCracken zu spielen. Irgendwann muß auch mal schluß sein.

TBird
2002-06-03, 08:40:14
Originally posted by zeckensack
Womit wir wieder bei meinem Lieblingsthema wären: Was ist eigentlich Direct3D?


Du meinst DirectX Graphics ehemals DirectDraw und Direct3D.
Das sind APIs, was sonst ?


Wer der Meinung ist, daß Direct3D eine einheitliche, abwärtskompatible API ist, der ist IMO ziemlich auf dem Holzweg. Die Nummer mit den 'exotischen' Texturformaten wäre ein Beispiel dafür.


Einheitlich ist DX über Versionen sicher nicht, abwärtskompatibel aber auf jeden Fall. Jedenfalls ist mir kein Fall bekannt in der eine Anwendung die mit einer älteren Schnittstelle realisiert wurde bei einem neuen Release von DX nicht mehr läuft, da alle neuen Releases von DX auch ALLE älteren Releases (Schnittstellen, Datenstrukturen, etc) unverändert enthalten. Jedenfalls sollte das so sein, wie gesagt ist mir kein Beispiel bekannt bei dem es nicht so ist. Über ein Beispielprogramm mit Sourcecode, die Deine Aussage bestätigen zeckensack wäre ich sehr dankbar, man lernt ja nie aus.

Ganon
2002-06-03, 09:28:44
da alle neuen Releases von DX auch ALLE älteren Releases (Schnittstellen, Datenstrukturen, etc) unverändert enthalten.

Komisch! DX3 Spiele (DarkReign) meint das ich kein DX auf dem Rechner hab! Imo fängt es erst bei DX5 an(Add-On des Spieles läuft auf DX5 und läuft auch)! Alles drunter wird wohl nicht mehr genutzt!

ow
2002-06-03, 10:02:36
Nein, Ganon


Auch DX3 funzt einwandfrei unter DX8 RT mit irgendeinem NV Treiber auf meiner TNT/MX.

Beispiele sind der alte Gamestar und PCPlayer Bench. Beide DX3.

aths
2002-06-03, 10:52:38
Originally posted by TBird
Was aths hier wieder mal betreibt ist rückwärtsgewandte Erbsenzählerei.

Den Spruch mit der Schulweisheit kennst du ja :))

aths
2002-06-03, 10:59:01
zeckensack,

ich habe lange überlegt und kein Spiel gefunden, welches 332-Texturen nutzt. Indizierte Texturen werden natürlich gerne von älteren Spielen verwendet, in meinen Augen macht das auch großen Sinn. Selbst heute würde ich kleinere Texturen (je nach auftretendem Farbfehler) noch indiziert speichern wollen. Diese in Verbindung mit 8 Bit Alpha könnten gut für Rauch oder Wolken verwendet werden. Immerhin spart man so die Hälfte des benötigten Texturspeichers (verglichen mit ARGB-8888.) Dass LUMA88-Texturen nicht supportet werden, halte ich deshalb für schade.

TBird
2002-06-03, 11:01:59
Originally posted by aths


Den Spruch mit der Schulweisheit kennst du ja :))

???

Quasar
2002-06-03, 11:28:54
Originally posted by Stefan Payne


Ja, hab ich.

Aber bisher waren die 8bit Texturen bei den NV Treibern deaktiviert.

Hab gerade nicht FF8 installiert, sonst hätte ich mal 'nen Screenie gepostet ;)

Soso...bisher ist aber nicht aktuell :)

Und wieso kein FF8? Du hast dich doch so bitterlich beklagt, daß es auf deiner im Schrank liegenden Ti200 nicht laufen wollte (kein Wunder, wenn sie im Schrank liegt).

Probleme mit der MGA?

aths
2002-06-03, 11:55:49
Quasar,

könnten wir bitte im topic bleiben?

Quasar
2002-06-03, 12:07:06
Sorry!! *AufdieKniefallundumGnadewinsel*
Ich wollte Stefan nur auf seinen Irrtum hinweisen und bei der Gelegenheit mich nach dem Befinden seines Game-Probs erkundigen.

StefanV
2002-06-03, 12:17:19
@aths

Kann man bei 32bit Farbtiefe auch 8bit Paletted Textures nutzen??

Die Texturformate, die du 'vermisst', die könnte man ja z.B. für kleine Texturen nehmen und für MIP Maps, die recht weit entfernt sind...

Originally posted by Quasar

Soso...bisher ist aber nicht aktuell :)

Und wieso kein FF8? Du hast dich doch so bitterlich beklagt, daß es auf deiner im Schrank liegenden Ti200 nicht laufen wollte (kein Wunder, wenn sie im Schrank liegt).

Probleme mit der MGA?

1. bis 12.41 bin ich mir sicher, danach hab ichs nicht ausprobiert.
2a. Weil ich im Moment FF9 auffer PSX spiele, da brauch ich kein FF8, außerdem hat sich letztens mal wieder die Windows installation zerlegt (seitdem hab ichs nicht installiert)...
2b.da verwechselst du was...
FF8 wollte mit der GF1 nicht laufen, nicht mit der GF3
3. mit 'ner MGA hat man keine Probleme *eg*

Xmas
2002-06-03, 16:49:51
Originally posted by Stefan Payne
Kann man bei 32bit Farbtiefe auch 8bit Paletted Textures nutzen??

Die Texturformate, die du 'vermisst', die könnte man ja z.B. für kleine Texturen nehmen und für MIP Maps, die recht weit entfernt sind...
1. Ja, ist überhaupt kein Problem (sofern der Chip das kann)

2. Bei kleinen Texturen bringen sie aber auch nur eine geringe Ersparnis, auf die man verzichten kann (womit man sich dann den Aufwand mit den Paletten spart). S3TC braucht übrigens nur 4 Bit pro Texel...
Das mit den Mipmaps funktioniert nicht. Alle Mipmaps einer Textur müssen dasselbe Format haben.

zeckensack
2002-06-04, 10:56:42
Originally posted by aths
zeckensack,

ich habe lange überlegt und kein Spiel gefunden, welches 332-Texturen nutzt.Ich auch nicht ;)Indizierte Texturen werden natürlich gerne von älteren Spielen verwendet, in meinen Augen macht das auch großen Sinn. Selbst heute würde ich kleinere Texturen (je nach auftretendem Farbfehler) noch indiziert speichern wollen. Diese in Verbindung mit 8 Bit Alpha könnten gut für Rauch oder Wolken verwendet werden. Immerhin spart man so die Hälfte des benötigten Texturspeichers (verglichen mit ARGB-8888.) Dass LUMA88-Texturen nicht supportet werden, halte ich deshalb für schade. [/B]Das Problem dabei ist, daß man nicht mit einer Palette auskommt, sonst reduziert man die gesamte Farbanzahl (im Frame!) auf 256+Zwischenwerte durch Texturfilterung. Je größer die Texturen werden, desto mehr verspielt man durch Paletten ihren Sinn. Schon eine 256x256 große Textur kann 64k verschiedene Farben enthalten, durch eine Palette würde man dies wieder beschränken. Dann wäre man auch sofort soweit, für jede Textur eine eigene Palette nutzen zu wollen, was Treiber (und auch Chips ohne HW-Support dafür) nun wirklich nicht leiden können ...
Das nur am Rande, du hattest ja ausdrücklich gesagt "kleinere Texturen".

Für Wolken und Rauch kommt man IMO ganz gut mit reinen Alpha-Texturen aus, Farbe kann man dem ganzen mittels Vertex-Farben verleihen.

Wenn's eine hochaufgelöste (nicht-transparente) Skybox sein soll, ist DXT1 das beste, was man kriegen kann. Da man idR mit nur zwei 'echten' Farben (zB weiß und blau) und Zwischenwerten zu tun hat, bekommt man die Nachteile dieser Methode überhaupt nicht zu spüren, und spart gegenüber Paletten nochmal die Hälfte an Speicher.

Und LUMA88 (nennt man das so?) kann man doch auf aktuellen Chips benutzen???
Selbst wenn sie intern als RGBA8888 gespeichert werden, was für eine Applikation sowieso schwer überprüfbar ist, dann ist das Problem erstmal vom Tisch. Für den Programmierer ist dieses Verhalten vollständig transparent und erfordert keine aufwendige Emulation, wie eben Paletten sie benötigen. Die Chiphersteller müssen letztendlich selber wissen, ob sie dieses Format nativ unterstützen wollen. Die Vorteile dürften hinlänglich bekannt sein.

aths
2002-06-04, 15:48:50
zs,

DXT1 und GeForce sind wie Feuer und Wasser :)) GeForce interpoliert bei DXT1 nur im 16-Bit-Farbraum, und dass GF4 dabei nun dithert, macht es auch nicht wirklich besser.

"D3DTextureFormats" (PowerVR-Demo) zeigt Luma88 als nicht unterstützt an.

Paletten-Texturen könnten m.E. z.B. für Grastexturen, sich wiederholende Holzflächen, Tapeten, aber auch für Detail Texturing verwendet werden, wenn sie denn in HW vernünftig supportet würden. Dass man, nur weil genügend Speicher und Bandbreite vorhanden ist, ineffizient sein muss, finde ich natürlich nicht so gut.

Demirug
2002-06-04, 17:08:14
Originally posted by aths
Paletten-Texturen könnten m.E. z.B. für Grastexturen, sich wiederholende Holzflächen, Tapeten, aber auch für Detail Texturing verwendet werden, wenn sie denn in HW vernünftig supportet würden. Dass man, nur weil genügend Speicher und Bandbreite vorhanden ist, ineffizient sein muss, finde ich natürlich nicht so gut.

Solange es die Einschränkung gibt das sich alle aktiven Paletten-Texturen eine Palette Teilen müssen sind sie einfach in der Handhabung zu umständlich. Um diese Beschränkung aufzuheben müsste man pro Texturstufe zusätzlich 1KB Speicher auf dem Chip haben. Zudem wären die TMUs aufwendiger und die Texturcacheverwaltung ebenfalls.

IMO sollte man die Transitoren sinnvoller einsetzten.

zeckensack
2002-06-04, 17:20:27
Originally posted by aths
zs,

DXT1 und GeForce sind wie Feuer und Wasser :)) GeForce interpoliert bei DXT1 nur im 16-Bit-Farbraum, und dass GF4 dabei nun dithert, macht es auch nicht wirklich besser.Entschuldigung, hatte ich vergessen ...
Ich darf mich da nicht allzuweit aus dem Fenster lehnen, da ich außer meinen Testbildchen noch nie irgendwelche DXT1-Texturen auf einer Geforce gesehen habe. Trotzdem ist es schade. Gerade für die von dir genannten Einsatzgebiete ist DX1 hervorragend geeignet.
"D3DTextureFormats" (PowerVR-Demo) zeigt Luma88 als nicht unterstützt an.Direct3D eben *eg*
Unter OpenGL funktioniert das anstandslos auf jeder Karte inklusive RivaTNT, Geforce2MX, Savage2K und Radeon.
Es muß auch, ansonsten dürften die Treiber nichtmal OpenGL1.1-Konformität melden.
Die "Emulation" ist auch dermaßen trivial, daß ich beinahe schockiert bin, daß man das gleiche nicht auch unter D3D hinbekommt :|
Paletten-Texturen könnten m.E. z.B. für Grastexturen, sich wiederholende Holzflächen, Tapeten, aber auch für Detail Texturing verwendet werden, wenn sie denn in HW vernünftig supportet würden.Siehe oben. Und außerdem finde ich, Paletten wären für diese Dinge Overkill. Wenn ich eine Grastextur mit, hmmm, sagen wir mal 32 Grünschattierungen habe, brauche ich dafür wirklich eine Palette mit 256 Einträgen? Dazu kommt noch der erhöhte Logikaufwand, im Programm, im Treiber, und auch im Chip.

Um es mal etwas technischer auszudrücken: Bei Material, daß in der Chrominanz nur wenige Werte enthält, ist S3TC die perfekte Lösung, sowohl bei starken Kontrasten als auch bei feinen Gradienten. Es ist hierbei Palettenformaten noch weit überlegen und erfordert gleichzeitig nur wenig zusätzliche Chiplogik und null zusätzliche Treiber/Software-Logik. S3TC hat Palettenformate schlichtweg unnötig werden lassen.
Dass man, nur weil genügend Speicher und Bandbreite vorhanden ist, ineffizient sein muss, finde ich natürlich nicht so gut. Ich finde das auch nicht gut. Gerade diese LUMA88-Geschichte ist blanker Hohn. Es wird mir wohl niemand erzählen wollen, daß es zu aufwendig wäre ???
Bei den Paletten kann ich es aber aus wirtschaftlicher Sicht nachvollziehen. Für echten Hardware-Support braucht man dafür nämlich (wenn ich mich nicht verrechnet habe):
1)Pro TMU einen Cache für die Palette (sonst: lahm)
2)Diese Caches müssen ebensoviele Read-Ports haben, wie pro Takt Texel eingelesen werden (Filtern darf erst nach dem Lookup erfolgen).
Da wären wir bei 4Pipes*2TMUs und trilinearem Filter bei 8*1KiB Cache mit jeweils 8 Read-Ports. Alternativ 8*8=64 einfache SRAMs mit jeweils 1KiB. Tendenz steigend bei Aniso und/oder Multisampling. Ein Faß ohne Boden.
3)Die bloße Existenz dieser Funktion verlängert die Pipeline (Texel muß erst eingelesen werden, bevor der Farbwert aus der Palette geholt werden muß), oder die maximale Arbeitsfrequenz muß abgesenkt werden. Palettenformate sind (wenn alles in Caches abläuft) langsamer als Vollformate und auch langsamer als S3TC, das ohne zusätzlichen Speicherzugriff auskommt.

Man sollte wirklich nicht unnötig Entwickler dazu ermutigen, ein 'Relikt'-Feature zu benutzen, das obendrein noch eine Menge Probleme aufwirft.

Xmas
2002-06-04, 19:19:01
Originally posted by zeckensack
Tendenz steigend bei Aniso und/oder Multisampling.
Beim Rest stimme ich dir voll zu, aber das musst du mir mal erklären. ;)
Multisampling braucht nicht mehr Texturzugriffe, und welche TMU schafft AF in einem Takt?

Übrigens meine ich mal gelesen zu haben dass GeForce-Karten alle Texturen als RGBA bzw. Vierkanal-Format speichern. Zumindest dass es keinen Unterschied zwischen RGB und RGBA gibt.

zeckensack
2002-06-04, 20:04:51
Originally posted by Xmas
Beim Rest stimme ich dir voll zu, aber das musst du mir mal erklären. ;)
aaargh! ;)Multisampling braucht nicht mehr TexturzugriffeStimmt. Ich schiebe meine Verwirrung einfach mal aufs Wetter :stareup:, und welche TMU schafft AF in einem Takt?Hmmm, keine ??? :D
Übrigens meine ich mal gelesen zu haben dass GeForce-Karten alle Texturen als RGBA bzw. Vierkanal-Format speichern. Zumindest dass es keinen Unterschied zwischen RGB und RGBA gibt.Letzteres ist bestimmt richtig, allein schon aus Alignmentgründen (hey, das reimt sich ja fast). Aber alle Texturen ... hmmm ...

Demirug
2002-06-04, 20:06:34
Originally posted by Xmas

Übrigens meine ich mal gelesen zu haben dass GeForce-Karten alle Texturen als RGBA bzw. Vierkanal-Format speichern. Zumindest dass es keinen Unterschied zwischen RGB und RGBA gibt.

Das macht auch absolute sinn. Dadurch ist sichergestellt das alle Teturwerte im Speicher an einer durch 4 Teilbaren adresse liegen. Würde man das ganze als 24 bit Wert speichern hätte man Probleme bei auslesen.

Beispiel


24 bit

1 2 3 4 5
RGBR GBRG BRGB RGB
aaaa bbbb cccc dddd

32 bit

1 2 3 4 5
XRGB XRGB XRGB XRGB XRGB
aaaa bbbb cccc dddd eeee


aufgrund der Speicherverwaltung werden pro Speicherzyklus immer mindestens 4 Byte am stück übertragen (4 mal). Und sie müssen an einer durch 4 teilbaren Addresse beginnen. Diese Blöcke sind durch die Kleinbuchstaben verdeutlicht.

Das Problem ist nun das beim 24 bit modus die Texturwerte 2 und 3 mit jeweils 2 Zugriffen eingeladen werden. Mit einem Texturcache kann man das zwar abmildern aber bei Werten die noch nicht gecached wurden bekommt man einen zusätzlichen Takt aufgebrummt oder benötigt zwei Kanäle der Crossbar.

Edit:
Bei den 16 Bit Formate bin ich mir aber nicht sicher da diese von der Speicherverwaltung ja wieder passen. Es werden dann eben immer 2 benachbarte Werte eingelesen.

zeckensack
2002-06-04, 20:09:39
Originally posted by Demirug
Solange es die Einschränkung gibt das sich alle aktiven Paletten-Texturen eine Palette Teilen müssen sind sie einfach in der Handhabung zu umständlich. Um diese Beschränkung aufzuheben müsste man pro Texturstufe zusätzlich 1KB Speicher auf dem Chip haben. Zudem wären die TMUs aufwendiger und die Texturcacheverwaltung ebenfalls.

IMO sollte man die Transitoren sinnvoller einsetzten. Ups, das habe ich ja jetzt erst gesehen. Habe wohl viel zu lange an meinem eigenen Sermon geschrieben und war danach so erschöpft, daß ich den Thread nicht mehr richtig lesen konnte :D

Natürlich volle Zustimmung von mir ;)

zeckensack
2002-06-04, 20:11:53
Originally posted by Demirug
Edit:
Bei den 16 Bit Formate bin ich mir aber nicht sicher da diese von der Speicherverwaltung ja wieder passen. Es werden dann eben immer 2 benachbarte Werte eingelesen. Was ja auch nicht weiter schlimm ist. Hauptsache, man braucht für ein einzelnes Textursample nicht mehr als einen Speicherzugriff.

Demirug
2002-06-04, 20:19:04
Originally posted by zeckensack
Was ja auch nicht weiter schlimm ist. Hauptsache, man braucht für ein einzelnes Textursample nicht mehr als einen Speicherzugriff.

Kann sogar von Vorteil sein weil man den zweiten Wert dann im Cache hat und bei Bedarf fürs Filtern oder bei einem anderen Fragment benutzen kann.

Xmas
2002-06-04, 20:20:32
Muss wohl am Wetter liegen... :D

Originally posted by Xmas
Übrigens meine ich mal gelesen zu haben dass GeForce-Karten alle Texturen als RGBA bzw. Vierkanal-Format speichern. Zumindest dass es keinen Unterschied zwischen RGB und RGBA gibt.
Ist natürlich Blödsinn, der erste Satz. 16 Bit bleibt 16 Bit, 24 Bit wird zu 32 Bit. Und unter D3D unterstützen GF-Karten sowieso kein "echtes" 24Bit-RGB-Format...