Archiv verlassen und diese Seite im Standarddesign anzeigen : Ab wann high end/ high resolution Texture?
Gast Wins!
2008-09-25, 18:09:44
Hallo 3DCenter Gemeinde und alle Guest´s
Ab wann denkt Ihr werden wir eine Steigerung in Sachen Texturen erleben duerfen ?
Mom. bringt es ja nicht viel @ 2560x1600 da die Texturen ja fuer eine niedrige Aufloesung konzipiert sind. Selbst @ 1080p sehe ich keinen, nennenswerten Unterschied ala "WoW, super scharf" oder "hui das sieht wirklich High End aus". Erst recht nicht, wenn die Distanz mehr als 1m betraegt.
Liegt das an den Devs. oder eher weil die GPU Hersteller deren GPUs die vorkomprimierten Texturen erst decom. und dann verarbeiten.
Mom. zocken ich @ 1366x768 und alles auf optimum quali bzw. teilweise mit 8xAA[auch Crysis]. Sieht super aus, nur finde ich bereits Crysis grafischoede, irgendwie zu bunt, der ganze Style gefaellt mir nicht, ausser der "Snow" Part.
Oblivion z.B schaut viel besser aus, samt HE Texturen. Warum entwickeln/erstellen die Devs. nicht gleich hochaufgeloeste Texturen ? Warum muessen wir[GPU] immernoch mit komprimierten Texturen umgehen, man vollfuehrt ja 2-3 Steps mehr[dekom. und Verarbeitung], das taugt doch nicht , oder ?
4870x2[einzelne, nicht die dual chip variante] und Quad @ ~ 4Ghz, damit fahert man bis und mit 1080p gut mit. Aber der Unterschied fehlt mir, zwischen 720p[LCD 1] und 1080p[LCD 2], einaml Sony und einmal Sharp [beide 2007 Modelle].
Liegt das nun an den Karten selbst oder eher weil die Dev.s zu "faul" sind he-Texturen zu implementieren ?
Stormscud
2008-09-25, 18:31:02
Vielleicht weil der Speicher auf heutigen Grafikkarten meist zu klein ist?
Wenn ich mir da das schon etwas ältere Gothic 3 anschaue, da ist mein Grafikspeicher schon nach 10 Minuten voll (hab aber die Grasdistanz auf 11000 und die der NPCs etc. auf 6000 erhöht).
Als kleiner Hint, MSAA bringt bei Texturen rein gar nichts. Es reduziert nur Aliasing, was an Polygonkanten auftritt.
Hochaufgelöste Texturen sind rar gesät, warum weiß ich leider auch nicht. Aber hier gabs vor einiger Zeit mal eine Diskussion, da wurden auch Perlen wie Max Payne 2 mit seinen Detailtexturen und Unreal mit dem S3 Texture Patch angesprochen.
Warum wir heute immer noch Matschtexturen haben, liegt wohl an den Kosten von gutem Content. Das es auf Konsolen auch möglich ist, beweißt z.b. Uncharted.
Vielleicht weil der Speicher auf heutigen Grafikkarten meist zu klein ist?
Wenn ich mir da das schon etwas ältere Gothic 3 anschaue, da ist mein Grafikspeicher schon nach 10 Minuten voll (hab aber die Grasdistanz auf 11000 und die der NPCs etc. auf 6000 erhöht).
Gibt andere Spiele die schöner aussehen, bei denen leert sich aber der Texturespeicher immer wiedermal... Die Programmierung von Streamtexturing ohne Nachladezuckler sollte heute eigentlich möglich sein....
Vielleicht weil der Speicher auf heutigen Grafikkarten meist zu klein ist?
K.A ob GDDR3/4/5 am DDR2-3 Pool angekoppelt ist, was die Preise angeht, Spiele wie Oblivion samt Texture Patch zeigen, das es durchasu moeglich ist das Spiel mit einer 3850 samt 256mb zu spielen[720p].
Wahrscheinlich wird erst mit Raytraying ein Umdenken stattfinden, bis dahin werden wir weiterhin mit "low-res Texturen" spielen koennen.
Gothic 3
Gothic 3 hat generell so seine Problemchen. Gute Programmierung vorausgesetzt, waeren HE-Texturen kein Problem, erst recht nicht, da mittlerweile der Standard von 512mb sich etabliert hat.
Ich glaube immernoch das eine "veraltete Technik[unkomprimiert, decom usw..] und andere Tweaks", bzw. die akutelle Archi. ihren Senf beitragen.
Was ich vergass, bestes Beispiel ware eing. Turok fuer den PC. Schlimmer geht nimmer oder...
Spasstiger
2008-09-25, 19:37:32
Da man heute eigentlich durchgehend mit Bumpmapping-Verfahren und Shadern arbeitet, ist es problematisch, wenn die Texturen zu hoch aufgelöst sind, weil dadurch die Flimmergefahr steigt. Bei Oblivion finde ich die Standardtexturen z.B. schon sehr gelungen, es gibt auch ohne SSAA null Texturflimmern (bei den richtigen Treibereinstellungen) und trotzdem kommt sowohl die Beleuchtung als auch der eigentliche Look der Textur gut zur Geltung. Das einzige, was stört, sind die Kompressionsartefakte von den komprimierten Normalmaps.
Mr.Magic
2008-09-25, 21:18:25
Ab wann denkt Ihr werden wir eine Steigerung in Sachen Texturen erleben duerfen ?
Wenn die neue Konsolengeneration auf dem Markt ist.
Oblivion z.B schaut viel besser aus, samt HE Texturen. Warum entwickeln/erstellen die Devs. nicht gleich hochaufgeloeste Texturen ?
Mit Qarl's Texture Pack 3 sind 1GB Grafikspeicher ratzfatz voll. Wieviel Speicher hatten Grafikkarten nochmal anfang 2006, 256MB?
Warum muessen wir[GPU] immernoch mit komprimierten Texturen umgehen, man vollfuehrt ja 2-3 Steps mehr[dekom. und Verarbeitung], das taugt doch nicht , oder ?
1. Konsolen haben nicht genug Speicher für unkomprimierte Texturen.
2. Die Texturen müssen erstmal zur Grafikkarte geschaufelt werden. Niemand mag Ladezeiten, die länger sind als unbedingt erforderlich.
Liegt das nun an den Karten selbst oder eher weil die Dev.s zu "faul" sind he-Texturen zu implementieren ?
Entwickelt werden Spiele zu 99.9% für Konsolen, aber selbst bei PC-Spielen müssen die Entwickler mit den Resourcen haushalten.
Warum muessen wir[GPU] immernoch mit komprimierten Texturen umgehen, man vollfuehrt ja 2-3 Steps mehr[dekom. und Verarbeitung], das taugt doch nicht , oder ?
weil komprimierte texturen mehr informationen/byte speichern können und damit die mögliche texturauflösung vergrößern.
Selbst wenn die meisten[und besten Devs] im Konsolen Lager zu fidnen sind, dann erwarte ich von Crytek und PC only Developer halt eben mehr "Schweiss/Einsatz".
Man[n] liest nur noch "der PC ist nicht tot","PC ist die Plattform" etc.. alle loben der PC als Gaming-Plattform schlechthin. Was wurde eing. aus der Allianz ? Genau nix!
Man sieht ja bei Crysis was eing. moeglich waere[Texturen]. All die PC Dev´s, die ausschliesslich fuer den PC programmieren, blammieren sich in letzter Zeit haeufig. Maessiger Content, Bug´s for Free und Grafik die "mal so, dann so ist"...
weil komprimierte texturen mehr informationen/byte speichern können und damit die mögliche texturauflösung vergrößern.
Mag sein deine "Theorie", nur Oblivion funzt prima auf einer 3850 256mb samt Texture Patch! @ 720p
Also am Speicher kanns nicht liegen, die Community zeigt es mit ver. Beispielen wie, was moeglich gewesen waere[Zeitaufwand/Erstellen-Text. nicht inbegr.].
Mr.Magic
2008-09-25, 22:17:00
Mag sein deine "Theorie", nur Oblivion funzt prima auf einer 3850 256mb samt Texture Patch! @ 720p
Du kannst Vanilla Oblivion auch in 1080p spielen, das juckt den Grafikspeicher wenig.
Mag sein deine "Theorie", nur Oblivion funzt prima auf einer 3850 256mb samt Texture Patch! @ 720p
und was sagt uns das?
oblivion nutzt wie jedes andere spiel auch komprimierte texturen und das ist auch gut so, komprimierte texturen sehen nämlich bei gleichem VRAM-verbrauch deutlich besser aus als unkomprimierte.
Wahrscheinlich wird erst mit Raytraying ein Umdenken stattfinden, bis dahin werden wir weiterhin mit "low-res Texturen" spielen koennen.
das erkläre mal bitte
Rendern heutige GPU nicht zeilenweise bzw. Zone um Zone ? Das duerfte dann mit Raytraycing endgueltig Geschichte sein. Texturen werden nicht mehr vorher "gecutet", sondern gleich progressiv verarbeitet. Also weniger Steps, um das Bild zu rendern. Das kann nur positiv sein.
Wahrscheinlich habe ich aber das ganze Verfahren nicht vollends einstudiert. Also reines spekulieren.
das einzige limit für die verwendbaren texturen ist der verfügbare VRAM, dieser wird durch raytracing auch nicht größer.
heutige texturen sind auch schon vergleichsweise gut aufgelöst, im "normalen" spielealtag ist es mittlerweile recht selten, dass eine textur im vergrößerungsbereich ist.
natürlich reicht es immer noch nicht, wenn man beispielsweise direkt vor einer wand steht.
Mit Qarl's Texture Pack 3 sind 1GB Grafikspeicher ratzfatz voll. Wieviel Speicher hatten Grafikkarten nochmal anfang 2006, 256MB?
Du kannst Vanilla Oblivion auch in 1080p spielen, das juckt den Grafikspeicher wenig.
Meine Eingangsfrage war eher den Texturen und deren "Verarbeitung" intern der aktuellen Grafikgeneration gedacht. Beziehungsweise, warum die Dev´s "low-res" einsetzen. [Faulheit] Bzw. warum heutige GPUs immernoch das gleiche Denken/Verfahren seit 1996 haben....
-----------------------
Deswegen ja auch mein obiger Post, was Raytraycing betrifft. Progressives Abarbeiten[nicht zeilenweise etc.] setzt ja schon auf viel vram der GPU und theoretisch ja auf unkomprimiertes Material/Texturen.
Aber warten wir lieber ab was Intel mit Labaree[?] zu bieten hat.
Aquaschaf
2008-09-26, 17:21:22
Warum muessen wir[GPU] immernoch mit komprimierten Texturen umgehen, man vollfuehrt ja 2-3 Steps mehr[dekom. und Verarbeitung], das taugt doch nicht , oder ?
Komprimierte Texturen sind eine gute Sache. Ohne Texturkompression hättest du noch niedrigere Auflösungen.
Rendern heutige GPU nicht zeilenweise bzw. Zone um Zone ? Das duerfte dann mit Raytraycing endgueltig Geschichte sein. Texturen werden nicht mehr vorher "gecutet", sondern gleich progressiv verarbeitet. Also weniger Steps, um das Bild zu rendern. Das kann nur positiv sein.
Sorry, du weißt scheinbar weder im Ansatz wie rasterization noch wie ray tracing funktioniert. Für Texturen spielt das Renderverfahren so direkt keine Rolle.
Mr.Magic
2008-09-26, 17:25:35
Meine Eingangsfrage war eher den Texturen und deren "Verarbeitung" intern der aktuellen Grafikgeneration gedacht. Beziehungsweise, warum die Dev´s "low-res" einsetzen. [Faulheit] Bzw. warum heutige GPUs immernoch das gleiche Denken/Verfahren seit 1996 haben....
-----------------------
Deswegen ja auch mein obiger Post, was Raytraycing betrifft. Progressives Abarbeiten[nicht zeilenweise etc.] setzt ja schon auf viel vram der GPU und theoretisch ja auf unkomprimiertes Material/Texturen.
Aber warten wir lieber ab was Intel mit Labaree[?] zu bieten hat.
1. Heutige GPUs haben praktisch nichts mit Grafikkarten von 1996 gemein. Damals haben die Karten nur (gefilterte) Texturen auf die Polygone geklebt, den Rest machte die CPU. Heutzutage erledigt die GPU fast alle Rechenaufgaben, und vor allem weit mehr davon (POM, PP, HDRR usw).
2. Die Texturen sind bei den meisten Spielen nicht Low-Res, man bekommt nur dummerweise bei komprimierten Normalmaps Artefakte. Durch die Gesamtzahl an Texturen würde ohne Kompression zuviel Speicher benötigt. Das Dekomprimieren geht schneller als Texturen aus dem Hauptspeicher nachzuladen.
3. Raytracing wurde bereits ausgiebig hier im Forum diskutiert. Der Konsensus war ungefähr, mit RT würde man bei aktuellen Spielen keinerlei Rechenleistung sparen, eher das Gegenteil ist der Fall.
Dimon
2008-09-26, 20:55:35
Also ich zocke Oblivion mit 1280x1024 mit 16xFSAA, 16xAF und alles auf max. + Grassdistanz auf 20000 usw. :biggrin:
mfg Dimon
Wenn ich ehrlich bin, verstehe ich die Frage nicht, oder habe das Prinzip nicht verstanden. Hoch aufgelöste Texturen gibt es doch quasi für "lau" wenn die Entwickler das so wollen. Ich kann mir gut vorstellen, dass diese grundsätzlich deutlich höher aufgelöst vorliegen, um dann für den Verkauf runtergerechnet zu werden. Also ist es eher eine Entscheidung der Vernunft ("kann eh kaum jemand was mit anfangen, verbreitete Grakas bieten zuwenig Leistung...").
Naja, ist halt meine Leiheneinschätzung. Kann mir auch vorstellen, dass gewisse Engines bei doppelter Textur"info" (=Auflösung) plötzlich 10 mal soviel Rechenleistung erfordern. Dann wäre es eher eine Sache der Engineentwickler.
Aber wie der TS es schon richtig erkannt hat, ist da auch die Sache mit dem sinkende Grenzertrag. Irgendwann sieht man die Verbesserung nicht mehr.
Ich kann mir gut vorstellen, dass diese grundsätzlich deutlich höher aufgelöst vorliegen, um dann für den Verkauf runtergerechnet zu werden. Also ist es eher eine Entscheidung der Vernunft ("kann eh kaum jemand was mit anfangen, verbreitete Grakas bieten zuwenig Leistung...").
sicher nicht, hochauflösende texturen zu erstellen ist ein großer aufwand, es macht keinen sinn große texturen zu erstellen und dann nicht mitzuliefern, selbst wenn sie mit aktueller hardware noch nichtv vernünftig verwendbar sind.
Naja, ist halt meine Leiheneinschätzung. Kann mir auch vorstellen, dass gewisse Engines bei doppelter Textur"info" (=Auflösung) plötzlich 10 mal soviel Rechenleistung erfordern.
höher aufgelöste texturen brauchen praktisch überhaupt keine zusätzliche rechenleistung, das einzige was gebraucht wird ist VRAM
Aber wie der TS es schon richtig erkannt hat, ist da auch die Sache mit dem sinkende Grenzertrag. Irgendwann sieht man die Verbesserung nicht mehr.[/QUOTE]
Wenn ich ehrlich bin, verstehe ich die Frage nicht, oder habe das Prinzip nicht verstanden. Hoch aufgelöste Texturen gibt es doch quasi für "lau" wenn die Entwickler das so wollen. Ich kann mir gut vorstellen, dass diese grundsätzlich deutlich höher aufgelöst vorliegen, um dann für den Verkauf runtergerechnet zu werden. Also ist es eher eine Entscheidung der Vernunft ("kann eh kaum jemand was mit anfangen, verbreitete Grakas bieten zuwenig Leistung...").
Naja, ist halt meine Leiheneinschätzung. Kann mir auch vorstellen, dass gewisse Engines bei doppelter Textur"info" (=Auflösung) plötzlich 10 mal soviel Rechenleistung erfordern. Dann wäre es eher eine Sache der Engineentwickler.
Aber wie der TS es schon richtig erkannt hat, ist da auch die Sache mit dem sinkende Grenzertrag. Irgendwann sieht man die Verbesserung nicht mehr.
Wie schon erwähnt, in aktuellen Spielen kommt es selten vor dass man eine Textur vergrößert (größer als Basisauflösung) sieht. Ich denke gut 85% der Texturen sieht man sowieso nur verkleinert, wieso sollte man da also höher auflösen?
Das dumme ist nur, steht man wirklich einmal vor einer Hauswand und sieht die Textur vergrößert dann bleibt dieser Eindruck (boah unscharf) viel stärker haften als die Stunden und Stunden in denen man die Textur immer nur verkleinert sieht.
sicher nicht, hochauflösende texturen zu erstellen ist ein großer aufwand, es macht keinen sinn große texturen zu erstellen und dann nicht mitzuliefern, selbst wenn sie mit aktueller hardware noch nichtv vernünftig verwendbar sind.
höher aufgelöste texturen brauchen praktisch überhaupt keine zusätzliche rechenleistung, das einzige was gebraucht wird ist VRAM
Aber wie der TS es schon richtig erkannt hat, ist da auch die Sache mit dem sinkende Grenzertrag. Irgendwann sieht man die Verbesserung nicht mehr.[/QUOTE]
Warum ist das nennenswerter Mehraufwand? Einfach noch ein bessere Foto schiessen (je nach dem...). Noch ein bisl Bumpmapping drauf (PoM) und gut ist. Dann hat man auch die Knöpfe vom Autoradio in GT xy toll dargestellt (wem das noch auffällt... Grenzertrag und so). Das sollte bei Polygonen übrigens ähnlich sein (sollte = Leiheneinschätzung): wenn ich z.B. eine Kugel (oder eine Motorhaube) darstellen will, gebe ich die Grenzen an und lege die Anzahal der Polygone für diese Objekt fest. Sozusagen "Objekt X bitte aus 2000 Polygone für die Konsole, 20000 für den PC." (beim PC dann weniger Kanten) Sowas sollte heute problemlos möglich sein.
PS: Leistung = Grakaspeicher, oder was immer du willst ;)
Warum ist das nennenswerter Mehraufwand? Einfach noch ein bessere Foto schiessen (je nach dem...).
[/quote]
du stellst dir das ein bischen zu einfach vor, selbst wenn man fototexturen verwendet kann man nicht einfach knipsen, hochladen und fertig, da steckt jede menge arbeit dahinter. abgesehen davon spielen fototexturen mit heutigen effekten nicht unbedingt gut zusammen, da steckt immer jede menge arbeit dahinter, egal ob man als basis nun ein photo nimmt oder komplett von hand designt.
insbesondere viele kleine details erfordern viel arbeit, und gerade diese treten bei großen texturen massenhaft auf (ansonsten kann man ja gleich auf die große textur verzichten, da sie keinen vorteil bringt)
Noch ein bisl Bumpmapping drauf (PoM) und gut ist. Dann hat man auch die Knöpfe vom Autoradio in GT xy toll dargestellt (wem das noch auffällt... Grenzertrag und so).
gerade bumpmappingverfahren funktionieren mit einfachen fototexturen überhaupt nicht.
Das sollte bei Polygonen übrigens ähnlich sein (sollte = Leiheneinschätzung): wenn ich z.B. eine Kugel (oder eine Motorhaube) darstellen will, gebe ich die Grenzen an und lege die Anzahal der Polygone für diese Objekt fest. Sozusagen "Objekt X bitte aus 2000 Polygone für die Konsole, 20000 für den PC." (beim PC dann weniger Kanten) Sowas sollte heute problemlos möglich sein.
das gilt nur für dinge die sich mathematisch gut beschreiben lassen. bei einer kugel wäre das beispielsweise kein problem. motorhaube wird schon schwieriger, sollte aber mit entsprechenden designwerkzeugen auch kein großes problem darstellen, eine rundung mit verschiedensten detailstufen umzusetzen.
bei texturen ist das aber nur sehr bedingt möglich. es gibt zwar prozedurale texturen, die man prinzipiell sogar in echtzeit im shader berechnen könnte. diese wären dann von der auflösung komplett unabhängig und quasi beliebig skalierbar, ähnlich wie vektorgrafiken.
allerdings sehen prozedurale texturen nicht immer gut aus und lassen sich längst nicht für alles einsetzen. zusätzlich brauchen sie verdammt viel rechenleistung. letzteres könnte man natürlich umgehen indem man die prozedurale textur offline in eine pixeltextur transformiert. diese muss natürlich wieder an die gegebene RAM-größe angepasst werden und du kannst sie im spiel prinzipiell auch vergrößert und damit unscharf sehen.
allerdings ist es für den designer kein mehraufwand eine größere textur zu erzeugen.
prozedurale texturen sind aber wie gesagt nicht längst nicht für alles verwendbar, gerade typische "fototexturen" lassen sich praktisch überhaupt nicht prozedural erstellen. fotos speichert man schließlich auch nicht in einem vektorformat ;)
zusätzlich ist das erstellen einer prozeduralen textur auch sehr viel aufwändiger, da man nicht einfach die vorstellung einer textur auf papier bzw. in den rechner bringen kann sondern erstmal eine mathematische beschreibung dafür finden muss.
Aquaschaf
2008-09-27, 11:25:28
Warum ist das nennenswerter Mehraufwand? Einfach noch ein bessere Foto schiessen (je nach dem...). Noch ein bisl Bumpmapping drauf (PoM) und gut ist.
Das funktioniert überhaupt nicht so wie du es dir vorstellst. Texturen sind fast nie einfach Fotos, auch bei Spielen mit einem realistischem Grafikstil. Das bleibt an den meisten Stellen Handarbeit. Eine höhere Texturauflösung mit mehr Details erhöht den Arbeitsaufwand signifikant.
Das sollte bei Polygonen übrigens ähnlich sein (sollte = Leiheneinschätzung)
Ist es aber nicht. Bzw. nur in Grenzen. Ein Objekt einmal mit 2000 Polygonen darzustellen und einmal mit 20000 bedeutet dass man es 2 mal erstellen muss, will man nicht sinnlos Polygone verschwenden. In beiden Fällen trifft man andere Entscheidungen was durch Polygongeometrie dargestellt wird und was nur durch normal mapping, wie die Silhuette aussieht und noch vieles anderes.
du stellst dir das ein bischen zu einfach vor, selbst wenn man fototexturen verwendet kann man nicht einfach knipsen, hochladen und fertig, da steckt jede menge arbeit dahinter. abgesehen davon spielen fototexturen mit heutigen effekten nicht unbedingt gut zusammen, da steckt immer jede menge arbeit dahinter, egal ob man als basis nun ein photo nimmt oder komplett von hand designt.
insbesondere viele kleine details erfordern viel arbeit, und gerade diese treten bei großen texturen massenhaft auf (ansonsten kann man ja gleich auf die große textur verzichten, da sie keinen vorteil bringt)
gerade bumpmappingverfahren funktionieren mit einfachen fototexturen überhaupt nicht.
Zunächst wollte ich erstmal drauf hinaus, das Texturen nicht alles sind. Eine Textur ohne Tiefe (z.B. Computertastatur) macht ja heute keinen Sinn mehr. Aber sowas aus Polygonen zu modeln ist ebenso Schwachsinnig. Also gibts sowas wie PoM, um Tiefe zu faken. Wie mir Spasstiger mal erklärt hat, handelt es sich dabei quasi um eine 2. Textur aus Graustufen (~Bumpmap, wenn ich das richtig verstanden hab). Demnach sollte es doch nicht so das Problem sein, eine ordentlich Fototextur zu nehmen und darüber einfach eine angepasste Bump"textur" zu legen. Diese zu erstellen ist dann die Arbeit, aber immernoch deutlich weniger aufwendig, als eine Textur komplett von Hand zu erstellen. Man braucht ja quasi nur die Ränder und Tiefen der Tasten in Graustufen erstellen und diese über das Foto legen.
Wie das dann am Ende aussieht oder was eine prozeduale Textur ist weiß ich allerdings nicht... :)
Ist es aber nicht. Bzw. nur in Grenzen. Ein Objekt einmal mit 2000 Polygonen darzustellen und einmal mit 20000 bedeutet dass man es 2 mal erstellen muss, will man nicht sinnlos Polygone verschwenden. In beiden Fällen trifft man andere Entscheidungen was durch Polygongeometrie dargestellt wird und was nur durch normal mapping, wie die Silhuette aussieht und noch vieles anderes.
Ich würde ein Objekt aus hinreichend vielen Punkten erstellen und dann per Rechner eine Funktion Nten Grades durch die Punkte legen lassen. Diese Kurven sind dann die Grenzen der Objekte, die mit Polygon gefüllt werden müssen. Und dann kann ich bestimmen, ob ich es aus 100 oder 10000 Polygonen haben will, mit sichtbaren Verbesserungen (sinkender Grenzertrag mal ausser acht gelassen) und ohne das Objekt 2 mal erstellen zu müssen.
Aber das ist auch eine Leiheneinschätzung.
Aquaschaf
2008-09-27, 12:09:47
Aber das ist auch eine Leiheneinschätzung.
Die grob gesagt falsch ist. Wie gesagt, in gewissen Rahmen kann man Polygonzahlen variieren. Aber zwischen 100 und 10000 geht nicht so einfach. Jedenfalls wenn man ein vernünftiges Resultat erhalten will.
Aber das ist auch eine Leiheneinschätzung.
Würgs. Es heisst Laie.
Würgs. Es heisst Laie.
Jau, schon das 4. Mal in einer Woche - ich werde es wohl nie lernen...
Aber behalt dein teuer bezahltes Essen bei dir, wegen sonner Nickeligkeit würde ich nicht würgen, ist auch schlecht für die Zähne! ;)
Also gibts sowas wie PoM, um Tiefe zu faken. Wie mir Spasstiger mal erklärt hat, handelt es sich dabei quasi um eine 2. Textur aus Graustufen (~Bumpmap, wenn ich das richtig verstanden hab).
wieder mal sehr stark vereinfacht. bumpmappingverfahren gibt es sehr viele mit unterschiedlichem aufwand und ergebnis.
bei DOT3-bumpmapping wird dabei die oberflächennormale in einer zusätzlichen textur gespeichert. diese besteht aus 3 kanälen (und nicht wie graustufen nur 1 kanal), die jeweils die normale einer achse speichern. (alternativ kann man auch nur normalen speichern und die 3. in echtzeit errechnen)
da es sich dabei nicht um bilddaten handelt funktionieren herkömliche kompressionsverfahren nicht so gut und erzeugen artefakte. die bumptextur braucht deshalb mehr speicherplatz als die eigentliche basistextur. mit 3Dc gibt es seit einiger zeit ein eigens für normalmaps angepasstes kompressionsformat, welches den verbrauch auch auf 1 byte/texel drücken kann, allerdings werden nur 2 normalen wirklich gespeichert, die 3. muss erst errechnet werden.
höhen/tiefeninformationen werden bei diesem verfahren überhaupt keine verwendet, weshalb es aus extremen winkeln auch nicht mehr besonders gut aussieht.
POM ist deutlich fortschrittlicher, dort wird neben den normalen auch noch zusätzlich die höhe pro texel gespeichert, was natürlich einen weiteren kanal erfordert.
Demnach sollte es doch nicht so das Problem sein, eine ordentlich Fototextur zu nehmen und darüber einfach eine angepasste Bump"textur" zu legen.
das funktioniert eben überhaupt nicht.
in einem foto ist die szene statisch, der einfallswinkel des lichtes/der lichter vorgegeben, ebenso wie der standpunkt des beobachters.
NM, POM etc. versuchen aber genau diese statik zu umgehen und die szene richtig aussehen zu lassen, egal aus welcher richtung die lichter kommen und wo der beobachter im spiel steht.
beispielsweise sind auf einem foto schatten der oberflächenstruktur zu sehen. diese stimmen aber nur unter den umständen, in denen das foto gemacht wurde (blickwinkel, beleuchtung etc.)
wenn du nun über die struktur die im foto vorhanden ist eine weitere "strukturmap" drüberlegst würde das extrem dämlich aussehen.
selbst wenn du ein foto als basis verwendst musst du also strukturen, schatten etc. die dynamisch auf den lichteinfall reagieren sollen entfernen, bevor das ganze verwendbar ist. das macht man nicht mal eben so nebenher, und je detailierter das ganze ist desto höher natürlich auch der aufwand.
Diese zu erstellen ist dann die Arbeit, aber immernoch deutlich weniger aufwendig, als eine Textur komplett von Hand zu erstellen. Man braucht ja quasi nur die Ränder und Tiefen der Tasten in Graustufen erstellen und diese über das Foto legen.
es gibt zwar durchaus filter, die aus einer textur eine dazugehörige normalmap errechnen können, aber immer funktioniert das auch nicht und schon garnicht ohne nachbearbeitung.
Wie das dann am Ende aussieht oder was eine prozeduale Textur ist weiß ich allerdings nicht... :)
prozedurale texturen werden mathematisch beschrieben, erst zur laufzeit entstehen daraus pixel/texel (prinzipiell natürlich auch offline möglich, wodurch man sich aber natürlich wieder die probleme "normaler" texturen einhandelt)
stell dir einfach mal die gleichung y=x² vor.
du könntest nun die daraus entstehende parabel zeichnen und als bild abspeichern.
der vorteil ist, dass du beim anzeigen nichts mehr berechnen musst, hast du ja schließlich schon vorher gemacht und dir das ergbnis abgespeichert.
der nachteil ist, dass das gesamte bild natürlich wesentlich mehr speicher als die einfache gleichung braucht und du natürlich beim skalieren die üblichen probleme hast und bei der vorberechnung schon die maximal mögliche detailstufe festlegst.
du könntest aber auch einfach die gleichung nehmen und zur laufzeit direkt auf das verfügbare pixelraster daraus die quasi perfekte parabel zeichnen.
braucht natürlich wesentlich mehr rechenleistung, spart aber speicher und lässt sich prinzipiell beliebig skalieren ohne qualitätsverlust.
bilder lassen sich aber blöderweise nicht so einfach durch gleichungen beschreiben, weshalb die praktischen einsatzmöglichkeiten doch eher begrenzt sind.
in einem foto ist die szene statisch, der einfallswinkel des lichtes/der lichter vorgegeben, ebenso wie der standpunkt des beobachters.
NM, POM etc. versuchen aber genau diese statik zu umgehen und die szene richtig aussehen zu lassen, egal aus welcher richtung die lichter kommen und wo der beobachter im spiel steht.
beispielsweise sind auf einem foto schatten der oberflächenstruktur zu sehen. diese stimmen aber nur unter den umständen, in denen das foto gemacht wurde (blickwinkel, beleuchtung etc.)
prozedurale texturen werden mathematisch beschrieben, erst zur laufzeit entstehen daraus pixel/texel (prinzipiell natürlich auch offline möglich, wodurch man sich aber natürlich wieder die probleme "normaler" texturen einhandelt)
stell dir einfach mal die gleichung y=x² vor.
du könntest nun die daraus entstehende parabel zeichnen und als bild abspeichern.
der vorteil ist, dass du beim anzeigen nichts mehr berechnen musst, hast du ja schließlich schon vorher gemacht und dir das ergbnis abgespeichert.
Das mit den Lichtquellen beim Foto ist wirklich ein grundsätzliches Problem.
Kann man so stehen lassen.
Aber mal ne Gegenfrage (ob ich das richtig verstanden hab). Eine Tastatur könne man also wegen der gleichmäßigen Größe der Tasten relativ gut als prozedurale Textur erzeugen, richtig? Zumindest die einzelnen Tasten kann man ja recht gut 2 dimensional mathematisch darstellen und daraus eine Textur basteln. Nebenbei könnte man doch meinen Ansatz mit den Kurven und den Polygonen dann doch als "prozedurales Objekt" beschreiben.
Bin unwissend, aber nicht lernresistent.
Andi_669
2008-09-28, 00:50:57
Nicht zu vergessen das der Speicherbedarf Quadratisch anwächst, eine Textur mit 1024x1024 braucht 4x soviel Speicher wie eine mit 512x512,
eine mit 2048x2048 schon 16x soviel wie eine mit 512x512. :|
u. mit einer Textur ist es ja nicht getan, bei FarCry werden teilweise schon 3 Texturen genommen, die Tusse z.B.,
die Zigarettenschachtel die man in ihrer Hosentasche sieht ist nur Textur,
die Falten vom Stoff dann eine andere,
dann ist noch eine Alphakanal drin damit die Halskette glänzt usw.
Nicht zu vergessen das der Speicherbedarf Quadratisch anwächst, eine Textur mit 1024x1024 braucht 4x soviel Speicher wie eine mit 512x512,
eine mit 2048x2048 schon 16x soviel wie eine mit 512x512. :|
u. mit einer Textur ist es ja nicht getan, bei FarCry werden teilweise schon 3 Texturen genommen, die Tusse z.B.,
die Zigarettenschachtel die man in ihrer Hosentasche sieht ist nur Textur,
die Falten vom Stoff dann eine andere,
dann ist noch eine Alphakanal drin damit die Halskette glänzt usw.
So ist es. Ich hab auch mal in einem entwicklerinterview gehört, dass sich jeweils auch nur eine verdopplung der texturauflösung lohnt (z.B. 1024 -> 2048),
da man nur dann eine deutlich bessere schärfe erzielt.
So ist es. Ich hab auch mal in einem entwicklerinterview gehört, dass sich jeweils auch nur eine verdopplung der texturauflösung lohnt (z.B. 1024 -> 2048),
da man nur dann eine deutlich bessere schärfe erzielt.
damit hat es wenig zu tun, die hardware ist darauf ausgelegt um 2^n-blöcke zu adressieren und bei ATI gab es zumindest bis zu den DX10-karten auch keine hardware die mipmapping mit einer kantenlänge !=2^n unterstützt.
RavenTS
2008-10-06, 13:29:12
Liegt die maximale Texturgrößte eigentlich immer noch bei 2048x2048? Das war doch früher mal noch zum Ende von 3Dfx hin ein gern genannter (technischer) Minuspunkt für die Voodoo-Karten da die Konkurrenz schon damals imho 2048x2048 anbot...
AFAIK sind es jetzt 8192x8192.
Buzzler
2008-10-06, 19:48:51
Warum ist das nennenswerter Mehraufwand? Einfach noch ein bessere Foto schiessen (je nach dem...). Noch ein bisl Bumpmapping drauf (PoM) und gut ist.
Hast Du schonmal texturiert? Eher nicht, oder? 3D-Objekte sind nunmal meist nicht "quadratisch, praktisch, gut" (zumindest nicht die, bei denen es interessant wird) und da nehmen sich handgezeichnete Texturen und Fototexturen (sofern letztere nicht nur lieblos hingeklatscht sind) gar nicht mal sooo viel beim Aufwand. Bei handgezeichneten Texturen sinds halt die ganzen kleinen Details, die ewig Zeit kosten und bei Fototexturen die ganzen Ecken, bei denen die Textur zwangsweise verzerrt wird und die man dann hinbiegen muss. Je höher die Auflösung, desto mehr Aufwand muss man da treiben.
Kannst Dir ja mal den Bodyshop von Sims2 runterladen und versuchen, ein Oberteil mit Kragen (also kein Tank-Top oder sowas) zu erstellen... BTW: Dass >90% aller Download-Skins für Sims2 absolute Grütze sind, versteht sich von selbst, oder?
Liegt die maximale Texturgrößte eigentlich immer noch bei 2048x2048?
DX10 verlangt 8192². bei ATI gab es vor DX10 tatsächlich maximal 2048², bei NV schon lange 4096² als limit.
bei 3DFx war das limit soweit ich weiß sogar noch deutlich geringer, vor VSA100 überhaupt maximal 256².
RavenTS
2008-10-06, 21:40:36
DX10 verlangt 8192². bei ATI gab es vor DX10 tatsächlich maximal 2048², bei NV schon lange 4096² als limit.
bei 3DFx war das limit soweit ich weiß sogar noch deutlich geringer, vor VSA100 überhaupt maximal 256².
Gut zu wissen...
Ja 3Dfx hielt noch lange an 256² fest, was damals auch immer kritisiert wurde auch wenns in der Praxis bei 95% der Spiele keinen Unterschied gemacht hatte...
Wird 8192² auch bei DX11 bestehen bleiben oder wird da weiter aufgebohrt? Grad bezüglich der Konsolen dürfte es da doch Probleme geben oder?! Was ist da denn eigentlich das maximal mögliche derzeit und was das üblicherweise verwendete?
Ist es eigentlich überhaupt sinnvoll die maximale Texturgröße noch weiter zu steigern? Selbst das Rendertarget der aktuellen GraKas liegt doch nur bei 4096².?!
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.