PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Texturen in heutigen Games


dargo
2009-02-07, 22:06:14
Hallo,

ich habe mich schon immer gefragt warum die Texturen in heutigen Games so unrealistisch rüber kommen? Wenn ich mich im realen Leben zb. einer Tapete nähere wird die Struktur immer schärfer. Natürlich nur bis zu einem gewissen Punkt. Wenn ich die Nase auf der Tapete kleben lasse ist die Struktur wieder unscharf. :D
Auf der anderen Seite sollten die Texturen wieder je weiter man von dieser entfernt ist an Schärfe verlieren. Das ganze sollte natürlich stufenlos passieren.

Warum kann man das in Games nicht umsetzen? Heute ist es oft so, dass eine Textur aus direkter Nähe eher verschwommener wird als schärfer. Hardwarelimitierung? Vram, Leistung oder woran liegts?

Coda
2009-02-07, 22:10:33
Mit ein wenig Denkvermögen sollte man eigentlich automatisch darauf kommen, dass die Auflösung von Texturen eben durch den Speicherverbrauch begrenzt ist.

dargo
2009-02-07, 22:18:53
Dann anders gefragt - wieviel Vram wären in etwa nötig um dies zu realisieren? Mal ne grobe Einschätzung - 2GB, 4GB, 8GB oder mehr?

Gast
2009-02-07, 22:20:06
Mit ein wenig Denkvermögen sollte man eigentlich automatisch darauf kommen, dass die Auflösung von Texturen eben durch den Speicherverbrauch begrenzt ist.
Wäre nett, wenn Du da etwas ins Detail gehen könntest. Als Laie stellt sich mir nämlich die Frage nach dem Warum - z.Bsp. wenn man bedenkt, dass eine bildschirmfüllende Bitmap in der heute gängigen Auflösung von 1680*1050 Pixeln gerade mal 5MB groß ist und aktuell 1024MB Videospeicher bei Grafikkarten das Maß der Dinge darstellt. Natürlich ist dabei klar, dass bei einem in Echtzeit berechneten Spiel etwas mehr an Texturen vorgehalten werden muss. Aber die genauen Größenordnungen und Details wären wirklich mal interessant.

Coda
2009-02-07, 22:24:57
Dann anders gefragt - wieviel Vram wären in etwa nötig um dies zu realisieren? Mal ne grobe Einschätzung - 2GB, 4GB, 8GB oder mehr?
Um was zu realisieren? Ab einer bestimmten Vergrößerung wird jede Textur unscharf, egal welche Auflösung sie hat.

Wäre nett, wenn Du da etwas ins Detail gehen könntest. Als Laie stellt sich mir nämlich die Frage nach dem Warum - z.Bsp. wenn man bedenkt, dass eine bildschirmfüllende Bitmap in der heute gängigen Auflösung von 1680*1050 Pixeln gerade mal 5MB groß ist und aktuell 1024MB Videospeicher bei Grafikkarten das Maß der Dinge darstellt. Natürlich ist dabei klar, dass bei einem in Echtzeit berechneten Spiel etwas mehr an Texturen vorgehalten werden muss. Aber die genauen Größenordnungen und Details wären wirklich mal interessant.
Ein Spiel verwendet im Normalfall nicht nur eine Textur und muss auch noch Rendertargets sowie Vertexdaten speichern.

Eine 1024x1024-Textur mit DXT1-Kompression und Mipmaps benötigt 1,33MiB VRAM.

deekey777
2009-02-07, 22:33:55
Textur != Bitmap. Es komen heute mehrere Texturschichten pro Pixel, damit wir schönes Irgendwas sehen. Dazu kommen weitere Späße wie die LOD-Pyramide. Dazu kommt, dass die Texturen nicht die einzigen "V-RAM-Besetzer" sind, sondern es kommen noch weitere Daten (Geometrie, Shadow-Maps, insbesondere verschiedene Buffer).

Damit die Spielentwickler bessere Texturen in einem Spiel nutzen, müssen sie irgendwo einsparen. Dazu kommt die Frage: Wie schnell kommen die Texturen von der Festplatte in die Grafikkarte?

dargo
2009-02-07, 22:41:42
Um was zu realisieren? Ab einer bestimmten Vergrößerung wird jede Textur unscharf, egal welche Auflösung sie hat.

Naja, um es halt realistischer zu gestalten. Nehmen wir nochmal das Beispiel mit der Tapete. Stehe ich ca. 1m von der Wand entfernt kann ich mit dem Auge noch die Struktur relativ scharf sehen, bei 0,5m ebenfalls. Ab einer bestimmten Entfernung hat die Schärfe ihr Maximum erreicht. Wird diese Entfernung unterschritten (ab ca. 10cm) verschimmt die Struktur immer stärker je näher der Kopf dran ist. In heutigen Games sehe ich diesen Effekt nicht. Je näher ich dran bin umso schlimmer sieht die Textur aus (niedriger aufgelöst). Und wenn ich direkt vor einer Wand stehe sehe ich nur Matsch. Außerdem fehlt mir Ingame dieser Effekt wenn man sehr nah vor der Wand steht. Man müsste da imo eine Art leichten Blur einsetzen.

Coda
2009-02-07, 22:53:24
Evtl. solltest du mal zum Augenarzt bzgl. Weitsichtigkeit.

Wenn du sehr nah dran bist kann es aber auch sein, dass dein Auge nicht mehr fokusieren kann. Das ist aber gewiss nichts was man irgendwie in die Texturen einbauen könnte. Ansonsten halte ich das aber auch für total unwichtig.

Gast
2009-02-07, 22:55:38
wenn du wirklich bis 10cm vor der virtuellen wand scharf sehen willst bräuchtest du mindestens 10x so viel grafikspeicher wie wir heute haben.

alternativ könnte man natürlich die texturvielfalt einschränken, die frage ist eben was sinnvoller ist. abwechslungsreiche texturen die eben in den wenigen fällen wo man ganz kurz davor steht unscharf wären oder eben texturen die immer scharf wirken, aber dafür aber texturwiederholungen die man ständig sieht.

dargo
2009-02-07, 23:04:35
Evtl. solltest du mal zum Augenarzt bzgl. Weitsichtigkeit.

Keine Sorge, meine Augen sind in Ordnung. Ich muss berufsbedingt eh regelmäßig hin. ;)


Wenn du sehr nah dran bist kann es aber auch sein, dass dein Auge nicht mehr fokusieren kann.

Das meine ich ja. Deswegen sagte ich ja was vom Blur.

wenn du wirklich bis 10cm vor der virtuellen wand scharf sehen willst bräuchtest du mindestens 10x so viel grafikspeicher wie wir heute haben.

Danke, das meinte ich eben mit dieser Frage:
Dann anders gefragt - wieviel Vram wären in etwa nötig um dies zu realisieren? Mal ne grobe Einschätzung - 2GB, 4GB, 8GB oder mehr?

Also doch ziemlich viel.

Fragman
2009-02-07, 23:09:27
sagen wir mal bei fullhd aufloesung stehe ich vor einer hauswand, kann rangehen und die textur ist auf sagen wir mal 10 cm immer noch sehr scharf und voller details, wie im leben, wuerd ich sagen man braeuchte fuer die haeuserwand insgesammt 20 bis 30k in der gesammten flaeche. ohne mipmaps gedacht. die hausflaeche wird natuerlich aufgeteilt, stichwort multi tile uv's sodass man immer weniger tiles laden muesste je naeher man der wand kommt. wieviel ram sowas brauchen wuerde kann ich nicht sagen. wenn man die gesammt wand sieht braucht man vielleicht nur 10k, kommt man naeher werden die feineren mip maps genutzt. also reden wir hier von 10k texturen als normalgroesse, und groesseren fuer grosse flaechen eben. durch multitile uv's sinds nur lauter sagen wir mal 2k images, dafuer davon sehr viel (was im speicher aber wieder 10k und mehr ausmacht). koennte man vielleicht mal im kopf durchrechnen wenn auf einmal in games alle 2k maps durch 10k und groesser ersetzt wuerden. wer kann das vorrechnen? ;)

Lightning
2009-02-07, 23:17:05
Nicht zu vergessen ist dann auch der erhöhte Aufwand für die Designer. Ich glaube nicht, das man in absehbarer Zeit dahinkommt, so einen Detailreichtum zu realisieren.
Man kann natürlich auch irgenwelche einfachen Detailtexturen drüberlegen, aber realistisch wirds dadurch auch nicht.

Spasstiger
2009-02-07, 23:31:14
Ein großes Problem ist auch: Wer soll den ganzen Content erstellen? Man könnte natürlich prozedural generierte Detailmaps einsetzen, das würde viel Arbeitszeit, Speicher und Bandbreite sparen. Aber realistisch sieht das nicht aus.
Bei abfotografierten Texturvorlagen fehlen in der Regel die Details, da müsste man die gewünschten Oberflächen schon abscannen. Man muss dabei auch bedenken, dass man eine gewisse Texturgröße in der Spielwelt braucht, damit Texturwiederholungen nicht ins Auge stechen. Kompensieren kann man das natürlich teilweise auch wieder durch prozedurale Methoden.
Außerdem schränkt auch die Bildschirmauflösung den Realitätsgrad ein. Um Texturaliasing zu verhindern, sollte die Anzahl von gleichzeitig dargestellten Texeln maximal der Pixelzahl bei halbierter Zeilen- und Spaltenauflösung entsprechen. Also bei 1920x1200 Bildschirmpixeln sind mehr als 960*600 dargestellte Texel kontraproduktiv (außer bei aktiviertem SSAA). Und wenn man im typischen Monitorabstand (~80 cm) vor einer Fläche steht, dann kann das Auge da natürlich höhere Auflösungen als 960x600 wahrnehmen. Selbst wenn man SSAA dazu nimmt, wird der Beispielmonitor nie mehr als 1920x1200 Pixel vermitteln können, deutlich weniger als es dem menschlichen Seheindruck entspricht. Einen realitätsgetreuen Eindruck wird man mit heutigen Monitoren also nie gewinnen.

Dimon
2009-02-07, 23:47:40
Moinsen Leute,

Wieviel GB Ram benötigt ungefähr eine Graka um z.b Realistische Texturen Darzustellen?

Nur so eine grobe schätzung :)

mfg Dimon

Gast
2009-02-07, 23:54:04
alles kein problem!
man koennte einfach ab einer gewissen distanz die textueren fuer eben diese distanz neu laden... da limitiert dann auch nicht der zur verfügung stehende speicher...

umgesetzt wurde und wird sowas schon, nur leider eben noch nicht so optimal, wie man sich das wuenschen wuerde... ist alles auch eine frage des aufwands.

Gast
2009-02-08, 00:16:23
Wieviel GB Ram benötigt ungefähr eine Graka um z.b Realistische Texturen Darzustellen?


eine realistische textur könnte man mit 8192² schon heute darstellen. die frage ist eher wieviele dieser texturen man dann verwenden kann.

Spasstiger
2009-02-08, 00:30:43
Wieviel GB Ram benötigt ungefähr eine Graka um z.b Realistische Texturen Darzustellen?

Nur so eine grobe schätzung :)
Das kann man nicht abschätzen, hängt von der Größe und der Detaildichte der Spielwelt, vom akkzeptierten Grad an Texturwiederholungen, von der benötigten Anzahl von Texturschichten, von der Funktionsweise der Engine, etc. ab.

Der Mensch nimmt unter optimalen Bedingungen noch Strukturen wahr, die ca. 1 µm groß sind, unter typischen Bedingungen eher 10 µm.
Bei Spielen sind momentan so ca. 512 Texel pro Alter-Ego-Höhe üblich. Also ganz grob gerechnet 500 Texel auf 2 m, was eine minimale Strukturgröße von 4 mm bedeutet.
Wenn man auf 10 µm Strukturgröße kommen will, muss man die Texturauflösung in der Vertikalen und in der Horizontalen um den Faktor 4 mm geteilt durch 10 µm = 400 vergrößern.
D.h. also 400*400=160.000-mal soviele Texel pro Textur. Damit steigt natürlich auch der Speicherbedarf um diesen Faktor. Wenn man also einen Texturmod für ein aktuelles Spiel rausbringt, der den menschlichen Sehsinn ausreizt, und wenn man einen Monitor hat, der auch die nötige Pixelzahl wiedergeben kann, dann läge der VRAM-Bedarf für die Texturen bei rund 400 MB * 160.000 = 64 TB. Also ganz grob die Größenordnung 100 Terabyte.
Ich würde sagen, lass uns in 30 Jahren nochmal über das Thema reden, dann liegt der Grafikspeicher vielleicht in dieser Größenordnung und die Bandbreiten werden vielleicht den Anforderungen gerecht. ;)

alles kein problem!
man koennte einfach ab einer gewissen distanz die textueren fuer eben diese distanz neu laden... da limitiert dann auch nicht der zur verfügung stehende speicher...
Das Prinzip von Google Earth. Der Speicherbedarf von Google Earth liegt ja afaik im Bereich von mehreren 100 Petabyte. Und trotzdem reichen beim User 512 MiB VRAM aus, um die volle Pracht inkl. 3D-Gebäude etc. bewundern zu können. Wenn man mit der gleichen Speichermenge ein Spiel mit einer viel kleineren Spielwelt realisieren würde (z.B. in der Größenordnung von Half-Life 2), hätte man durchaus Reserven für realistische Texturen. Leider werden die Texturen in Google Earth nicht schnell genug nachgeladen, damit das Konzept auch bei Spielen aufgeht.

Avalox
2009-02-08, 00:41:56
eine realistische textur könnte man mit 8192² schon heute darstellen. die frage ist eher wieviele dieser texturen man dann verwenden kann.


8182 Quadrat Pixel? Das ist viel zu wenig.

Also ein Dokument in der Art scannt man heute mindestens mit 600 DPI.

Eine übliche Tapetenrolle mit 15m x 0,5m würde dann 16GB erfordern. (mit Lupen tauglichen 9600dpi mehr als 4 Terrabyte)

Nun wird nur eine Tapete sicherlich recht langweilig sein und ganz nah ran dürfte man selbst bei 600dpi nicht.

dargo
2009-02-08, 00:50:32
Der Mensch nimmt unter optimalen Bedingungen noch Strukturen wahr, die ca. 1 µm groß sind, unter typischen Bedingungen eher 10 µm.
Bei Spielen sind momentan so ca. 512 Texel pro Alter-Ego-Höhe üblich. Also ganz grob gerechnet 500 Texel auf 2 m, was eine minimale Strukturgröße von 4 mm bedeutet.
Wenn man auf 10 µm Strukturgröße kommen will, muss man die Texturauflösung in der Vertikalen und in der Horizontalen um den Faktor 4 mm geteilt durch 10 µm = 400 vergrößern.
D.h. also 400*400=160.000-mal soviele Texel pro Textur. Damit steigt natürlich auch der Speicherbedarf um diesen Faktor. Wenn man also einen Texturmod für ein aktuelles Spiel rausbringt, der den menschlichen Sehsinn ausreizt, und wenn man einen Monitor hat, der auch die nötige Pixelzahl wiedergeben kann, dann läge der VRAM-Bedarf für die Texturen bei rund 400 MB * 160.000 = 64 TB. Also ganz grob die Größenordnung 100 Terabyte.
Ich würde sagen, lass uns in 30 Jahren nochmal über das Thema reden, dann liegt der Grafikspeicher vielleicht in dieser Größenordnung und die Bandbreiten werden vielleicht den Anforderungen gerecht. ;)

Ach du schei... :eek:
Ok, im Rentenalter können wir nochmal drüber reden. :biggrin:

Coda
2009-02-08, 01:32:08
Würde ich nicht sagen. Wie gesagt kann man ja auch von Platten streamen (Megatexture).

Gast
2009-02-08, 01:47:52
Man kann natürlich auch irgenwelche einfachen Detailtexturen drüberlegen, aber realistisch wirds dadurch auch nicht.
Ich denke da spontan an Unreal und finde, dass dies damals schon relativ gut gelöst war. Wenn man in Unreal nah an eine Wand heranging sah man Detail-Strukturen und eben nicht diesen Matsch den man von anderen Spielen kannte.

Ist das nicht genau der hier diskutierte/gewünschte Effekt?

Wenn das damals möglich war frage ich mich, wieso das heute so ein großer Aufwand sein sollte? Wenn man die Detailtextures geschickt gewählt werden, kann man einen halbwegs realistischen Eindruck erwecken. Wie gesagt, schon vor über 10 Jahren wurde diese Technik eingesetzt, da verstehe ich nicht, warum man sie heute so wenig antrifft?

Spasstiger
2009-02-08, 02:10:46
Detailtexturen werden auch heute noch bei einigen Spielen eingesetzt, inzwischen auch mit Detail-Parallaxmaps.
Beispiele dafür sind Timeshift und imo auch Unreal Tournament 3.
Gerade bei Timeshift wirken die Texturen aus der Nähe ungewohnt scharf und räumlich, ähnlich detailliert wirken die Texturen nur noch bei Crysis. Hier mal ein paar Screenshots von Timeshift, die noch auf meiner Platte rumfahren:

http://www.abload.de/thumb/timeshift1luqb.jpg (http://www.abload.de/image.php?img=timeshift1luqb.jpg) http://www.abload.de/thumb/timeshift25tzm.jpg (http://www.abload.de/image.php?img=timeshift25tzm.jpg) http://www.abload.de/thumb/timeshift3mxsi.jpg (http://www.abload.de/image.php?img=timeshift3mxsi.jpg) http://www.abload.de/thumb/timeshift4ypbv.jpg (http://www.abload.de/image.php?img=timeshift4ypbv.jpg) http://www.abload.de/thumb/timeshift5kosw.jpg (http://www.abload.de/image.php?img=timeshift5kosw.jpg)

Aquaschaf
2009-02-08, 02:25:51
Einen realitätsgetreuen Eindruck wird man mit heutigen Monitoren also nie gewinnen.

Braucht man auch gar nicht. Filme sehen ja auch realistisch aus.. ohne übermäßige Schärfe und der Wahrnehmung gleichkommenden Auflösung.

Eine hyperrealistische Schärfe ist natürlich auch ein Stil, der gut aussehen kann. Aber es wirkt oft inhomogen; die anderen Unzulänglichkeiten der Grafik stechen eher ins Auge zum Beispiel. Ich persönlich finde dass die Texturauflösung zur Zeit die geringste grafische Schwachstelle darstellt in den allermeisten Fällen.

=Floi=
2009-02-08, 02:46:17
@spasstiger
1. ohne aa tun selbst die bilder weh. :rolleyes:
2. sind das keine detailtexturen, sondern ist nur ein filter. (wenn das coda erst sieht :D )
3. sind deine beispiele alle eher mittelmäßig in der texturqualität.

Aquaschaf
2009-02-08, 02:49:38
2. sind das keine detailtexturen, sondern ist nur ein filter. (wenn das coda erst sieht :D )

Nö, das sind detail normal maps.

deekey777
2009-02-08, 02:49:57
@spasstiger
1. ohne aa tun selbst die bilder weh. :rolleyes:
2. sind das keine detailtexturen, sondern ist nur ein filter. (wenn das coda erst sieht :D )
3. sind deine beispiele alle eher mittelmäßig in der texturqualität.
Insbesondere die Nr. 2...
....................................________...... ..................
....................................,.-‘”...................``~.,..................
.............................,.-”...................................“-.,............
.........................,/...............................................”:, ........
.....................,?........................... ...........................\,.....
.................../.................................................. .........,}....
................./.................................................. ....,:`^`..}....
.............../.................................................. .,:”........./.....
..............?.....__............................ .............:`.........../.....
............./__.(.....“~-,_..............................,:`........../........
.........../(_....”~,_........“~,_....................,:`..... ..._/...........
..........{.._$;_......”=,_.......“-,_.......,.-~-,},.~”;/....}...........
...........((.....*~_.......”=-._......“;,,./`..../”............../............
...,,,___.\`~,......“~.,....................`..... }............../.............
............(....`=-,,.......`........................(......;_,,-”...............
............/.`~,......`-...............................\....../\...................
.............\`~.*-,.....................................|,./.....\,__...........
,,_..........}.>-._\...................................|........... ...`=~-,....
.....`=~-,_\_......`\,.................................\... .....................
...................`=~-,,.\,...............................\............. ..........
................................`:,,.............. .............`\..............__..
.....................................`=-,...................,%`>--==``.......
........................................_\........ ..._,-%.......`\...............
...................................,<`.._|_,-&``................`\..............


Zum Thema Detailtexturen: Wo ist Kai, wenn man ihn braucht? DTs sind eine Lüge, eine fiese Lüge.

Krishty
2009-02-08, 03:08:02
Man sollte lieber in Features wie indirekte Beleuchtung investieren anstatt in höher aufgelöste Texturen … aber wenn die Künstler mal anfingen, chronisch übersättigte, überstilisierte Texturen zu basteln wäre das auch ein Anfang.

Ich finde die Texturen von vor ein paar Jahren (Max Payne 2, Richard Burns Rally) besser als alles was ich heute sehe, was zum Teil daran liegen mag dass sie zu großen Teilen abfotografiert wurden, aber vor allem aber an der uniformen, gradlinig durchgezogenen Farbpalette und dem durchgängigen Stil auf hohem Niveau.

Das Problem ist heute nicht die Auflösung, das Problem ist dass Parallax (möglichst überhöht) angewendet, der spekuläre Glanz aufs Maximum strapaziert und das Paket dann als zukunftsweisend verkauft wird.

Parallax + Specular Power = Müll.

Gruß, Ky

Tigerchen
2009-02-08, 07:19:35
Nicht zu vergessen ist dann auch der erhöhte Aufwand für die Designer. Ich glaube nicht, das man in absehbarer Zeit dahinkommt, so einen Detailreichtum zu realisieren.
Man kann natürlich auch irgenwelche einfachen Detailtexturen drüberlegen, aber realistisch wirds dadurch auch nicht.
Realistisch nicht. Aber mir hat es z.B. bei Unreal oder "The Fallen" sehr gut gefallen. Eine einfache Methode mit ordentlicher Wirkung.

Tigerchen
2009-02-08, 07:25:20
Man sollte lieber in Features wie indirekte Beleuchtung investieren anstatt in höher aufgelöste Texturen … aber wenn die Künstler mal anfingen, chronisch übersättigte, überstilisierte Texturen zu basteln wäre das auch ein Anfang.

Ich finde die Texturen von vor ein paar Jahren (Max Payne 2, Richard Burns Rally) besser als alles was ich heute sehe, was zum Teil daran liegen mag dass sie zu großen Teilen abfotografiert wurden, aber vor allem aber an der uniformen, gradlinig durchgezogenen Farbpalette und dem durchgängigen Stil auf hohem Niveau.

Das Problem ist heute nicht die Auflösung, das Problem ist dass Parallax (möglichst überhöht) angewendet, der spekuläre Glanz aufs Maximum strapaziert und das Paket dann als zukunftsweisend verkauft wird.

Parallax + Specular Power = Müll.

Gruß, Ky
Tja nu. Immerhin wurden ja auch gerade hier diese übertriebenen Beleuchtungseffekte als heiliger Gral verkauft. Und auf der anderen Seite dann eine übertrieben schattenlastige Welt ala Doom 3 oder Fear. Gute Texturen sind viel wichtiger.

syronth
2009-02-08, 08:43:28
Für mich stellt sich die Frage nach dem Sinn und (Spiel-)Wert dahinter. Ich renn eigentlich nicht mit der virtuellen Nase an die Wand gespresst durch die Level eines Spiels. Wenn es nicht gerade ein 1:1 Konsolenport ist, der mit 256er oder gar 128er Texturen "glänzt", finde ich die Auflösung in vielen Spielen eigentlich schon okay. Fallout 3 ist das letzte Negativ-Beispiel, was mir gerade in dem Sinn kommt, Mirrors Edge wiederum kommt recht hochaufgelöst daher.

Wie auch andere schon meinten, ist es zuweilen wichtiger, daß die Optik homogen ist, denn richtig hässlich und auch auffällig wird es, wenn unterschiedlich aufgelöste Texturen schlampig zusammengeklatscht werden, da springt es einem förmlich ins Auge. Selbstgebauten Texture-Packs stehe ich auch aus dem Grund eher skeptisch gegenüber, weil die oft nur bestimmte Texturen ersetzen und den Rest unberührt belassen.
Bei Max Payne, das hier auch genannt wurde, kann ich mich auch noch daran erinnern, daß es ein paar solcher Schnitzer gehabt hat, die auch unnötigt gewesen waren.

Crysis verwendet Detailshader, die m.E. schon extrem sind. Hier kann man (auf Very High/ Enthusiast) z.B. die Holzmaserung bewundern. Knackpunkt ist bloß, wenn man diese Shader ausknippst, dann tritt die tatsächlich eher mässig aufgelöste Textur zu vorschein, was auch bei den Felsen auffällt. Ansichtsache, ich selbst finde solche Shader nicht schlecht, weil sie wirklich Struktur zeigen. Eine hochaufgelöste Textur wäre in erster Linie bloß hochaufgelöst, eine superhochaufgelöste Mauer z.B. schaut auch nicht unbedingt realistischer aus wie eine etwas schwächer aufgelöste, die dafür Struktur zeigt.

Letztlich denke ich, wird sich das "Problem" mit dem Weiterfortschreiten der Technik von selbst lösen. Wenn die Hardware da ist, wird sie entsprechend genutzt werden. Man blicke da auf die Entwicklung der letzten zehn Jahre zurück, z.B. vom ersten Voodoo-beschleunigten Tomb Raider bis zum aktuellen Teil.

Panasonic
2009-02-08, 09:08:30
Mir würde es schon absolut reichen, wenn man eine durchgängige Texturqualität wie in Max Payne 2 oder noch besser in der CinematicMod von Fakefactory anbieten würde. Ich habe das Gefühl, Texturen haben sich in der jüngeren Vergangenheit verschlechtert. Auch der Tren, über jede Textur irgendwelche Bling-bling-Shader & Co. zu legen, geht mir mächtig auf den Keks. Ebenso wie knackige und matschige Texturen in einem Game.

Ich finde dargos Überlegungen Interessant, aber man könnte meiner Meinung nach auch mit realistischem Aufwand ein wesentlich besseres Ergebnis erzielen. Auch Texturwiederholungen finde ich extrem nervig und ich kapiere nicht, warum es dagegen scheinbar kein verbreitetes Mittel gibt.

Edit: In der CM habe ich übrigens erstmals das Gefühl, mich an der rauen Wand verletzen können, wenn ich zu schnell renne...

http://www.abload.de/thumb/cmylud.png (http://www.abload.de/image.php?img=cmylud.png)

Lightning
2009-02-08, 09:27:23
Braucht man auch gar nicht. Filme sehen ja auch realistisch aus.. ohne übermäßige Schärfe und der Wahrnehmung gleichkommenden Auflösung.

Eine hyperrealistische Schärfe ist natürlich auch ein Stil, der gut aussehen kann. Aber es wirkt oft inhomogen; die anderen Unzulänglichkeiten der Grafik stechen eher ins Auge zum Beispiel. Ich persönlich finde dass die Texturauflösung zur Zeit die geringste grafische Schwachstelle darstellt in den allermeisten Fällen.

Möchte ich auch so unterschreiben.

Realistisch nicht. Aber mir hat es z.B. bei Unreal oder "The Fallen" sehr gut gefallen. Eine einfache Methode mit ordentlicher Wirkung.

Tja, ist eben Geschmackssache. Mancherorts mag es gut aussehen. Es erhöht aber den eigentlichen Detailgrad nicht. Mancherorts kann es deswegen für Inhomogenität sorgen. Beispiel: Spasstigers zweiter Screenshot. Eine extrem scharfe Struktur, aber dadurch sieht das Logo auf der Kiste auch nicht besser aus; im Gegenteil.



Ich finde aber, man hat in den letzten Jahren deutliche Fortschritte bei den Texturen gemacht. Auf Standbildern mag es manchmal scheinen, als hätte sich nicht so furchtbar viel getan (auch wenn man auch dort die alten Spiele manchmal besser in Erinnerung hat als sie tatsächlich sind). In Bewegung und im Zusammenhang mit der Beleuchtung ist der Eindruck aber schon viel dynamischer und lebendiger.

incM
2009-02-08, 09:34:36
Auch Texturwiederholungen finde ich extrem nervig und ich kapiere nicht, warum es dagegen scheinbar kein verbreitetes Mittel gibt.


weil nunmal nicht genug speicher vorhanden ist.

zudem kann man nicht auf jeden quadratzentimeter ein neues material draufhauen da sonst die drawcalls ins unermessliche steigen und die
geschwindingkeit auf einstellige raten absinkt.

das zeigt auch mehr oder weniger das ganze dillema... spart man an der einen ecke bezahlt man es an einer anderen (texturen vs polycount vs drawcalls vs ...).

Panasonic
2009-02-08, 09:49:38
Man könnte doch wenigstens Texturen zufällig drehen oder so, in einigen Games sieht das richtig übel aus.

centurio81
2009-02-08, 10:05:07
Man sollte lieber in Features wie indirekte Beleuchtung investieren anstatt in höher aufgelöste Texturen …

Genau die Beleuchtung fand ich zum Beispiel immer großartig bei ArmA, was dem Spiel einen sehr realistischen Look verpasste, weswegen ich es auch super finde grafisch..Das hob sich von anderen games da sehr ab find ich.
Ich wünschte mehr games würden das so hinbekommen.

dargo
2009-02-08, 10:23:50
Für mich stellt sich die Frage nach dem Sinn und (Spiel-)Wert dahinter. Ich renn eigentlich nicht mit der virtuellen Nase an die Wand gespresst durch die Level eines Spiels.
Davon war auch nicht die Rede. Es gibt aber einige Situationen wo dies der Fall ist, wie zb. einen Schalter betätigen oder in einem Shooter sich hinter einem Hindernis verstecken.

_DrillSarge]I[
2009-02-08, 10:30:39
Man könnte doch wenigstens Texturen zufällig drehen oder so, in einigen Games sieht das richtig übel aus.
macht man doch schon längst. spiegelung etc., das sind einfache tricks um nicht alles einheintlich aussehen zu lassen und die performance hoch zu halten. solche techniken sind natürlich begrenzt "vielfälltig" einsetzbar und je nach content gar ned.

ein weiteres problem von sehr hoch aufgelöstetn details, besonders von dieser art "etail-shadern" wie in ut3 istt flimmern. auch sehr hoch aufgelöste texturen, können diesen effekt zeigen.

brutal hochaufgelöste texturen mit allerlei "eingebackenen" details (specular, bumbe etc.) sehen auch ohne entsprechend angepasste sehr reichhaltige :biggrin: geometrie mies aus.

incM
2009-02-08, 10:55:21
Man könnte doch wenigstens Texturen zufällig drehen oder so, in einigen Games sieht das richtig übel aus.

mal angenommen du willst einen kachelboden texturieren dann gibt es folgende moeglichkeiten:

1. man benutzt eine sehr grosse unique textur;
nachteil -> speicherproblem

2. man benutzt eine kleine tile textur;
nachteil -> wiederholt sich optisch

3. man benutzt eine kleine tile textur und mappt den boden so das einzelne kacheln um 90°/180° gedreht werden um variation zu bieten;
nachteil -> polygonzahl steigt erheblich, gewisser arbeitsaufwand zu punkt 1 und 2

4. man benutzt decalsysteme (direkt oder random) in zusammenarbeit mit punkt 2. um variation herzustellen;
nachteil -> drawcalls steigen (wenn nicht gebaked), wenn gebaked hast du ein extra objekt im speicher, mehr texturspeicher wird benoetigt, meist alphablending -> bei extensiver nutzung geht die füllrate runter, aufwand steigt

5. dirt shader etc.
nachteil: auf konsole geschwindigkeitsmaessig momentan undenkbar

wie man sieht hat alles seine vor und nachteile.
welcher soll nun benutzt werden?
manches sieht besser aus, kostet aber erheblich mehr aufwand und verlangsamt die fps
man sollte nicht immer davon ausgehen das die leute keine ahnung haben
oder unfaehig sind und man als hobbyexperte sowieso alles viel besser machen wuerde.
manchmal haben sie schlicht und einfach keine zeit um den mehraufwand zu betreiben.
manchmal sind sie allerdings auch einfach nicht gut genug :)
als aussenstehender ist das aber nicht ganz einfach zu beurteilen

Panasonic
2009-02-08, 11:27:33
man sollte nicht immer davon ausgehen das die leute keine ahnung haben
oder unfaehig sind und man als hobbyexperte sowieso alles viel besser machen wuerde.Siehst Du, deshalb sage ich ja was mich stört und frage nach den Gründen / Abhilfen.

Warhammer Online
2009-02-08, 11:52:17
Hallo,

ich habe mich schon immer gefragt warum die Texturen in heutigen Games so unrealistisch rüber kommen? Wenn ich mich im realen Leben zb. einer Tapete nähere wird die Struktur immer schärfer. Natürlich nur bis zu einem gewissen Punkt. Wenn ich die Nase auf der Tapete kleben lasse ist die Struktur wieder unscharf. :D
Auf der anderen Seite sollten die Texturen wieder je weiter man von dieser entfernt ist an Schärfe verlieren. Das ganze sollte natürlich stufenlos passieren.

Warum kann man das in Games nicht umsetzen? Heute ist es oft so, dass eine Textur aus direkter Nähe eher verschwommener wird als schärfer. Hardwarelimitierung? Vram, Leistung oder woran liegts?

Ich hab jetzt keine Lust den ganzen Thread zu lessen aber.. UT2007 hat so ein verhalten... bist du weit weg von der Wand = unscharf... kommst du näher wird die Textur schärfer... war aber damals glaube ich ein Performance Grund.

Gast
2009-02-08, 12:08:22
8182 Quadrat Pixel? Das ist viel zu wenig.


wieso? sagt ja nichts darüber aus wie groß (in der ausdehnung) diese textur ist.

eine 8096²-textur kann durchaus so platziert werden, dass man niemals in den magnification-bereich kommt, also keinen vorteil mehr durch höhere auflösungen hätte.

natürlich wird man dann sehr viele wiederholungen haben, aber dafür immerhin scharf ;)

man muss auch nicht unbedingt die auflösung erhöhen, um mehr realismus zu erhalten, man kann umgekehrt auch das spiel so designen, dass man nicht nahe genug an die texturen rankommt um die geringe auflösung sehen zu können.

gerade 3rd-person-spiele wie beispielsweise das oftgenannte max payne haben es da einfach. wäre max payne in 1st-person-sicht würden die texturen beispielsweise ziemlich schrecklich aussehen.

harrypitt
2009-02-08, 12:14:05
Mich würde überhaupt interessieren wie viel Grafikspeicher bei einem modernen Spiel (z.B.: Crysis) tatsächlich für Content-Texturen gebraucht wird und wie viel für diverse Rendertargets draufgeht. Mir ist natürlich bewusst, dass das vor allem von der gewählten Auflösung und FSAA Modus abhängt. Aber mal angenommen man stellt 1920x1080 ohne FSAA und Tripplebuffer dar. Wird dann bei 512 MB Grafikspeicher mehr als die Hälfte für Rendertargets verwendet?

Sollten die Rendertargets wirklich viel Speicher verbrauchen, würde das erklären warum heute oft nicht mal die subjektive Texturqualität von Max Payne 2 erreicht wird.

dargo
2009-02-08, 12:49:59
Sollten die Rendertargets wirklich viel Speicher verbrauchen, würde das erklären warum heute oft nicht mal die subjektive Texturqualität von Max Payne 2 erreicht wird.
Hier sollte man aufpassen. Denn damit hat der gast völlig recht:
gerade 3rd-person-spiele wie beispielsweise das oftgenannte max payne haben es da einfach. wäre max payne in 1st-person-sicht würden die texturen beispielsweise ziemlich schrecklich aussehen.

Lightning
2009-02-08, 12:56:01
Und selbst aus dieser 3rd-Person-Sicht ist auch ein Pax Payne 2 nicht mehr so toll, wie man es vielleicht manchmal in Erinnerung hat:

http://img3.imagebanana.com/img/lfkyg96/thumb/MaxPayne22009020812371643.jpg (http://img3.imagebanana.com/view/lfkyg96/MaxPayne22009020812371643.jpg)

Keine speziell ausgesuchte Stelle. Einfach der Anfang im Krankenhaus, die Texturen sind da überall so. Selbst aus diesem Sichtabstand erkennt man deutliche Schwächen.

ESAD
2009-02-08, 14:02:15
was soll man bei dem alter und ressourcenverbrauch erwarten? 64MB Vram reichen bei dem spiel

Panasonic
2009-02-08, 14:11:02
Max Payne 2 hat natürlich keine perfekten Texturen, aber wenn ich mir aktuelle Blockbuster anschaue, die auch wegen der Grafik in den Himmel gelobt werden, dann sehe ich da ein krasses Missverhältnis.

Metal Gear Solid 4
http://ps3media.ign.com/ps3/image/article/821/821361/metal-gear-solid-4-guns-of-the-patriots--20070920004455676.jpg
Da kann man auch schön sehen, was ich meine mit "mangelhafter Homogenität".

Max Payne 2:
http://static.computergames.ro/cg/assassin/images/maxpayne2/maxpayne2-060.jpg

Lightning
2009-02-08, 14:36:16
was soll man bei dem alter und ressourcenverbrauch erwarten? 64MB Vram reichen bei dem spiel

Gar nichts, ich finde das auch gut für das Alter.

Max Payne 2 hat natürlich keine perfekten Texturen, aber wenn ich mir aktuelle Blockbuster anschaue, die auch wegen der Grafik in den Himmel gelobt werden, dann sehe ich da ein krasses Missverhältnis.

Metal Gear Solid 4
http://ps3media.ign.com/ps3/image/article/821/821361/metal-gear-solid-4-guns-of-the-patriots--20070920004455676.jpg
Da kann man auch schön sehen, was ich meine mit "mangelhafter Homogenität".

Max Payne 2:
http://static.computergames.ro/cg/assassin/images/maxpayne2/maxpayne2-060.jpg

Sehr unfairer Vergleich, imo. Ich habe absichtlich nur ein MP2-Shot gepostet, um die Texturen dieses Spiels in Erinnerung zu rufen. Denn so ein Direktvergleich lässt sich viel zu leicht einseitig darstellen.

Ric
2009-02-08, 16:14:35
Max Payne 2 hat natürlich keine perfekten Texturen, aber wenn ich mir aktuelle Blockbuster anschaue, die auch wegen der Grafik in den Himmel gelobt werden, dann sehe ich da ein krasses Missverhältnis.

Metal Gear Solid 4
http://ps3media.ign.com/ps3/image/article/821/821361/metal-gear-solid-4-guns-of-the-patriots--20070920004455676.jpg
Da kann man auch schön sehen, was ich meine mit "mangelhafter Homogenität".

Max Payne 2:
http://static.computergames.ro/cg/assassin/images/maxpayne2/maxpayne2-060.jpg

Das finde ich ein sehr schönes Beispiel: Es kommt bei den Texturen nicht darauf an, das einige Bereiche positiv herausstehen und andere hinterher bleiben.
Wenn es in sich stimmig ist, auf einem einheitlichen Qualitätslevel, ist mehr erreicht, als mit punktweisen Akzenten.

Gast
2009-02-08, 21:15:52
braucht eigentlich, eine Textur Rechenpower um sie drauf zu pflastern oder nur vram? könnte man mit ner 260GTX und 100GB vram ein Spiel machen mit super texturen?

Gast
2009-02-08, 21:35:00
braucht eigentlich, eine Textur Rechenpower um sie drauf zu pflastern oder nur vram? könnte man mit ner 260GTX und 100GB vram ein Spiel machen mit super texturen?
Naja der Speicher muss auch schnell sein. Mit GDDR20 geht es.

Gast
2009-02-08, 21:59:35
braucht eigentlich, eine Textur Rechenpower um sie drauf zu pflastern oder nur vram?

es braucht rechenpower, allerdings fast unabhängig von der texturauflösung, die höhere texturauflösung braucht praktisch nur zusätzlichen VRAM und praktisch keine zusätzliche rechenleistung und bandbreite.

Gast
2009-02-08, 22:16:58
es braucht rechenpower, allerdings fast unabhängig von der texturauflösung, die höhere texturauflösung braucht praktisch nur zusätzlichen VRAM und praktisch keine zusätzliche rechenleistung und bandbreite.
Doch auch Bandbreite. Die Texturen müssen schließlich von der SSD/HDD zum GPU-VRAM/RAM geschaufelt werden.

Gast
2009-02-09, 12:19:59
Doch auch Bandbreite. Die Texturen müssen schließlich von der SSD/HDD zum GPU-VRAM/RAM geschaufelt werden.


es werden aber immer nur so viel texel wie nötig übertragen, stichwort mipmapping.

wenn der texturcache richtig dimensioniert ist muss man im schnitt für jeden gezeichneten pixel 1 texel pro texturschicht übertragen. das wird auch mit höher aufgelösten texturen nicht schlechter.

einzig im magnification-bereich ist die hitrate im texturcache besser und dieser bereich wird mit höher aufgelösten texturen natürlich geringer, wodurch der bandbreitenbedarf ein wenig, aber eben nicht sehr viel.

wenn große bildbereiche mit vergrößerten texturen dargestellt werden und damit der bandbreitenbedarf nennenswert beeinflusst wird sind die frameraten üblicherweise eh extrem hoch, da stört es nicht wirklich wenn diese geringer werden.

Gast
2009-02-09, 13:12:08
Mal eine Frage als Noob:

Wie ist das überhaupt mit der Beleuchtung? Damit eine Textur bei Nacht, Sonne oder bestimmten Wetterverhältnissen entsprechend aussieht, braucht man da nicht mehrere Versionen einer Textur? Oder kann man das z.B. für alle Texturen in einer Spielewelt (mit einer großen Texturvielfalt) problemlos auf heutiger HW on the fly berechnen? Wenn ich z.B. in einer Nachtszene eine Textur habe, die ein Fenster mit einem dahinterliegenden Zimmer zeigt, was hell erleuchtet ist, dann brauche ich doch eine neue/angepasste Textur, damit das Licht bei einer Tagesszene dann aus ist, oder?

Coda
2009-02-09, 13:13:45
Nein, das Licht wird seperat berechnet und die Textur entsprechend moduliert.

Spasstiger
2009-02-09, 13:22:43
Damit eine Textur bei Nacht, Sonne oder bestimmten Wetterverhältnissen entsprechend aussieht, braucht man da nicht mehrere Versionen einer Textur?
Du hast mehrere Texturschichten. Aktuell sind bis zu vier Texturschichten üblich. Einmal gibt es die Diffusemap, diese enthält die grundsätzliche Farbgebung der Oberfläche, aber keinerlei Strukturinformation.
Dann gibt es die Normalmap, diese gibt an, in welche Richtung jedes Pixel der Oberfläche zeigt. So kann dann jedes Pixel korrekt beleuchtet werden.
Desweiteren gibt es eine Specularmap, diese gibt für jedes Pixel eine Glanzinformation an. So kann man z.B. Metallelemente in einer Wandtextur als solche hervorheben und ihnen einen Glanzeffekt verleihen.
Und manchmnal wird auch eine Heightmap mitgespeichert, diese enthält die Höhe jedes Pixels der Oberfläche. So lässt sich beim Rendern Fake-Geometrie erzeugen (Parallax-Mapping).

Doom 3 war meines Wissens nach das erste Spiel, was durchgängig mit diesen vier Texturschichten ausgestattet war. Ohne Modifikationen werden allerdings die Heightmaps nicht verwendet.

Gast
2009-02-09, 13:26:10
Wie ist das überhaupt mit der Beleuchtung? Damit eine Textur bei Nacht, Sonne oder bestimmten Wetterverhältnissen entsprechend aussieht, braucht man da nicht mehrere Versionen einer Textur?

früher gab es dafür lightmaps (die eigentlich shadowmaps sind, da sie die schatten speichern, allerdings nicht zu verwechseln mit der aktuellen shadowmapping-technik), heutzutage berechnen die meisten spiele die beleuchtung in echtzeit.

Coda
2009-02-09, 13:26:51
Doom 3 war meines Wissens nach das erste Spiel, was durchgängig mit diesen vier Texturschichten ausgestattet war. Ohne Modifikationen werden allerdings die Heightmaps nicht verwendet.
Es gibt keine Heightmaps in Doom 3. Deshalb sind auch alle Mods Pfusch.

früher gab es dafür lightmaps (die eigentlich shadowmaps sind, da sie die schatten speichern, allerdings nicht zu verwechseln mit der aktuellen shadowmapping-technik)
Schatten und Licht ist da doch äquivalent :|

Spasstiger
2009-02-09, 13:37:59
Es gibt keine Heightmaps in Doom 3. Deshalb sind auch alle Mods Pfusch.
Ich habe mal nachgeschaut. In den unkomprimierten TGA-Texturen sind teilweise die Heightmap-Informationen enthalten (im blauen Kanal). Bei den komprimierten DDS-Varianten kann ich es gerade nicht nachprüfen.

Gast
2009-02-09, 13:52:47
Ich habe mal nachgeschaut. In den unkomprimierten TGA-Texturen sind teilweise die Heightmap-Informationen enthalten (im blauen Kanal).

standardmäßig nicht, es gibt allerdings mods die aus den normalmaps eine highmap errechnen und im 4. kanal der normalmap abspeichern.

Spasstiger
2009-02-09, 14:01:40
standardmäßig nicht, es gibt allerdings mods die aus den normalmaps eine highmap errechnen und im 4. kanal der normalmap abspeichern.
Meine Aussage bezieht sich auf die Originaltexturen. Die, die mitgeliefert werden.

Dimon
2009-02-09, 16:12:54
Also Oblivion mit Quarls Texture Pack ist ziemlich nett, und könnte in meinen Augen sogar mit den Crysis TExturen mithalten....

Leider sind nicht alle Objekte in der Spielewelt verbessert worden :rolleyes:


mfg Dimon

Panasonic
2009-02-09, 16:25:20
Das krasseste in Sachen Texturen ist imho die CinematicMod 9.51 für Half-Life² und Episoden. Nicht nur weil sie extrem hoch aufgelöst sind, sondern auch weil sie designtechnisch absolut passend und harmonisch sind.

Jürgen hat da in meinen Augen ein Meisterwerk geschaffen.

Neo69
2009-02-10, 01:48:24
Schatten und Licht ist da doch äquivalent :|

Aber man muss sich das so vorstellen, dass die normale Texturfarbe genommen wird und beim alten Verfahren durch die "Lightmap" abgedunkelt wird. Wenn die Lightmap 111 hat, scheint die normale Texturefarbe durch, deswegen ist der Effekt für Schatten größer.

Deswegen ist der Begriff Lightmap etwas irreführend.

Coda
2009-02-10, 01:51:49
Es wird nicht "abgedunkelt", es wird einfach multipliziert. Die Lightmap gibt entweder an wieviel "Licht" an einem Punkt sichtbar ist oder eben wieviel "Schatten". Das ist äquivalent.

Neo69
2009-02-10, 02:48:33
Es wird nicht "abgedunkelt", es wird einfach multipliziert. Die Lightmap gibt entweder an wieviel "Licht" an einem Punkt sichtbar ist oder eben wieviel "Schatten". Das ist äquivalent.

ja, und xyz*(1,1,1)=xyz....genau das ist ja der punkt. Ein Unterschied zur normalen Textur ist nur in den dunklen Stellen zu sehen.

Coda
2009-02-10, 03:08:31
Nur mal um das klarzustellen: Ich weiß sehr wohl wie eine Lightmap eine Textur moduliert. Das brauchst du mir ganz sicher nicht erklären.

Ich finde nur die Begrifflichkeit völlig äquivalent. Immer noch.

Gast
2009-02-10, 11:43:28
Es wird nicht "abgedunkelt", es wird einfach multipliziert. Die Lightmap gibt entweder an wieviel "Licht" an einem Punkt sichtbar ist oder eben wieviel "Schatten". Das ist äquivalent.

naja, textur ist ja immer mit 100%-helligkeit abgespeichert, und die lightmap verdunkelt die entsprechenden stellen.

rechnerisch geschieht das natürlich durch multiplizieren, logisch gesehen dunkelt eine lightmap aber nur ab und erhellt nichts, von daher finde ich den begriff lightmap durchaus irreführend.

Krishty
2009-02-10, 12:30:39
naja, textur ist ja immer mit 100%-helligkeit abgespeichertAbgespeichert ist lediglich die Albedo, nicht die Helligkeit. Die ergibt sich nämlich tatsächlich aus der Lightmap, das geht nur bei LDR komplett unter weil die maximale Helligkeit immer der maximalen Albedo (nämlich 1) entspricht.

Mr. Lolman
2009-02-11, 17:55:33
naja, textur ist ja immer mit 100%-helligkeit abgespeichert, und die lightmap verdunkelt die entsprechenden stellen.

rechnerisch geschieht das natürlich durch multiplizieren, logisch gesehen dunkelt eine lightmap aber nur ab und erhellt nichts, von daher finde ich den begriff lightmap durchaus irreführend.

Die Lightmap ist grundsätzlich einmal schwarz und nur an den Stellen hell, wo auch Licht hinkommt. Beim Erstellen von Lightmaps berechnet man auch von der Quellen ausgehend den Weg des Lichtes. An den Stellen ist die Lightmap dann weiß. Imo passt der Ausdruck.

Wenn man also so rum denkt, dass die Lightmap nur all jene Stellen hell lässt, wo auch Licht hinkommt, dann passt auch der Terminus ;)