Archiv verlassen und diese Seite im Standarddesign anzeigen : Bürgersteig-Rendering
Die grundlegende Idee hierzu stammt von Xmas. Die grundlegende Idee ist konkret, eine Oberfläche aus Tiles zusammenzusetzen. Ich wollte heute mal gucken, ob das beim Bürgersteig gangbar ist. Das kommt heraus:
http://www.aths.net/files/buergersteig/6.jpg
Wie kommt man dahin? Zunächst war ich draußen und habe etliche male den Bürgersteig fotografiert, um dann 18 Platten auszuschneiden und auf 128x128 zu bringen.
Erste Idee: Man wählt immer zufällig eine Platte aus:
http://www.aths.net/files/buergersteig/1.jpg
Natürlich wiederholen sich einige Platten. Man bräuchte sehr viel mehr. Oder versucht einen Trick. Man kann die Platte ja spiegeln und/oder umklappen und/oder an der Y=X-Achse spiegeln. Das sind 8 Kombinationsmöglichkeiten, immer dieselbe Textur darzustellen. Das sieht dann so aus:
http://www.aths.net/files/buergersteig/2.jpg
Das ist schon besser, aber noch nicht gut genug. Nächste Idee: Platten unterschieden sich oft in ihrer Helligkeit. Warum bekommt nicht jede Platte einfach noch eine zufällige Helligkeit? Das funktioniert auch, wenn man nur vier (recht eintönige) Platten im Pool hat:
http://www.aths.net/files/buergersteig/3.jpg
Die Helligkeit ist hier das Hauptmerkmal. Wenn man auch nur eine einzige Platten-Textur hättte, wäre das Ergebnis auf den ersten Blick akzeptabel. Das führt zu einem weiteren Problem: Platten mit auffälligen Merkmalen sollte man weniger oft würfeln. Denn die fallen besonders auf, und anhand solcher Platten sieht man dann besonders, dass die Auswahl begrenzt ist. Daher lasse ich jetzt die Standard-Platten besonders häufig rankommen, und auffällige seltener:
http://www.aths.net/files/buergersteig/4.jpg
Das sieht ja schon mal ganz gut. Und taugt auch, um große Flächen zusammenzusetzen:
http://www.aths.net/files/buergersteig/5.jpg
Das ist die gleiche Textur, die für den obersten Screenshot genutzt wurde.
Sieht klasse aus!
Dem Realismus würde es jetzt noch gut tun, wenn jede Platte mit etwas Bumpmapping ausgestattet wäre, besonders die Plattenränder könnte man somit deutlicher voneinander abgrenzen.
-huha
flatbrain
2005-04-06, 23:00:36
http://www.aths.net/files/buergersteig/6.jpg
Wenn man diesem Screen noch etwas "Struktur" verpassen könnte, würde es noch echter aussehen. Du hast die Gehwegplatten von oben aufgenommen, vermute ich, vielleicht solltest du mal auf einem Baumarkt einzelne Platten mit etwas versetzter Draufsicht (leicht schräg von oben) fotografieren...?
Ansonsten ein sehr interessanter Ansatz, der helfen könnte, so manchen Matsch, der einem in Games als Weg verkauft wird, zu vermeiden. Liesse sich sowas den performant in Games einsetzen?
cu flatbrain
DrFreaK666
2005-04-06, 23:11:00
Gefällt mir auch ganz gut.
Wird die textur irgendwo eingesetzt??
Greetz
DrFreaK666
2005-04-06, 23:12:31
http://www.aths.net/files/buergersteig/6.jpg[/url]
Wenn man diesem Screen noch etwas "Struktur" verpassen könnte, würde es noch echter aussehen. Du hast die Gehwegplatten von oben aufgenommen, vermute ich, vielleicht solltest du mal auf einem Baumarkt einzelne Platten mit etwas versetzter Draufsicht (leicht schräg von oben) fotografieren...?
Ansonsten ein sehr interessanter Ansatz, der helfen könnte, so manchen Matsch, der einem in Games als Weg verkauft wird, zu vermeiden. Liesse sich sowas den performant in Games einsetzen?
cu flatbrain
Wieso sollte er die Platten schräg abfotografieren?
Wen du von oben draufsiehst dann siehst du sie halt von oben und nicht von irgendwoher schräg drauf, oder?
http://www.aths.net/files/buergersteig/6.jpg
Wenn man diesem Screen noch etwas "Struktur" verpassen könnte, würde es noch echter aussehen. Du hast die Gehwegplatten von oben aufgenommen, vermute ich, vielleicht solltest du mal auf einem Baumarkt einzelne Platten mit etwas versetzter Draufsicht (leicht schräg von oben) fotografieren...?
Muß nichtmal. Mit ein bißchen Bumpmapping kann man da sehr viel rausholen, außerdem ist ja nicht jeder Gehweg unendlich lang und breit wie auf dem Screenshot ;)
Ansonsten ein sehr interessanter Ansatz, der helfen könnte, so manchen Matsch, der einem in Games als Weg verkauft wird, zu vermeiden. Liesse sich sowas den performant in Games einsetzen?
Definitiv ja, denke ich mal. Gegebenenfalls mit kleineren Tweaks, performant dürfte die Sache aber garantiert sein. Die Farbe der Platten läßt sich ja bequem mit (sehr einfachen) Vertexshadern anpassen, mit ein bißchen Bumpmapping sieht die Sache überdies hinaus gleich nochmal so gut aus.
-huha
Botcruscher
2005-04-06, 23:15:05
Supi eine 25 Platten Textur. :rolleyes: Ich hasse es wenn man sie einfach so zählen kann. Sieht aber bei weitem besser aus als jedes Spiel.
Hier fehlt eindeutig eine richtige Bumpmap.
BTW: Ein gutes Beispiel wo sich dynamisch Erzeugte Texturen ganz gut machen würden. Der Ansatz mit der Drehung ist ja schon einmal ganz gut.
Könnte man für die Fließen nicht eine größere Textur nehmen die sich bei einer Wiederholung verschiebt damit es nicht immer so zusammengesetzt aussieht?
flatbrain
2005-04-06, 23:17:52
Wieso sollte er die Platten schräg abfotografieren?
Wen du von oben draufsiehst dann siehst du sie halt von oben und nicht von irgendwoher schräg drauf, oder?
Weil Gehwegplatten meist von Natur aus abgeschrägte Kanten haben und diese durch eine leicht "schräge" Perspektive bei entsprechendem Licht noch betont werden könnten, womit beim Zusammensetzen ein Hoch-Tief-Eindruck entstehen könnte.
@ huha
Thx für die Erläuterung!
cu flatbrain
Godmode
2005-04-06, 23:55:18
Nur mal als Anregung: Prozedurale Texturen brauchen ja ziemlich viel Rechenaufwand, als für Realtime noch zu langsam! Wie wärs wenn man einfach beim Initialisieren des Games dort alle möglichen Variationen von Texturen erstellen würde?
Einfach ein Shader der diese Platen die du schon hast noch verändert, oder als Vorlage hat und dann zb 100 oder mehr solche Platten generiert?
Zu einigen Dinge hier äußere ich mich, wenn ich geschlafen habe. Bis dahin erst mal noch was:
http://www.aths.net/files/buergersteig/detail0.jpg
In Vergrößerung zeigt sich, dass 128x128 pro Kachel nicht viel ist. Mit einer Detail-Map sieht es gleich deutlich besser aus:
http://www.aths.net/files/buergersteig/detail1.jpg
Die Detailmap ist hier nichts weiter als eine Textur die Rauschen enthält. Man fügt also einfach "Grissel" hinzu, und keine echten Informationen. Dennoch verbessert sich hier beim Bürgersteig der Eindruck.
Asmodeus
2005-04-07, 07:33:45
Ein Wang Tiling Ansatz könnte bei dieser Problemstellung vielleicht auch gute Ergebnisse liefern.
Gruss, Carsten.
Ansonsten ein sehr interessanter Ansatz, der helfen könnte, so manchen Matsch, der einem in Games als Weg verkauft wird, zu vermeiden. Liesse sich sowas den performant in Games einsetzen?
cu flatbrain
Da es sich hier um eine ganz normale, offline generierte Textur handelt, ist die Performance auch genau so wie bei anderen Texturen.
Ein Wang Tiling Ansatz könnte bei dieser Problemstellung vielleicht auch gute Ergebnisse liefern.
Gruss, Carsten.
Bei dieser Problemstellung braucht es keine Wang Tiles, weil man Fugen hat. Generell aber: Ja, tut er.
Sieht klasse aus!
Dem Realismus würde es jetzt noch gut tun, wenn jede Platte mit etwas Bumpmapping ausgestattet wäre, besonders die Plattenränder könnte man somit deutlicher voneinander abgrenzen.Für Bumpmapping bräuchte man noch einen 3D-Scanner, um die Heightmap zu bekommen. Mit Offset-Mapping wäre das dann natürlich der Hammer, was Realismus angeht.
Darum gehts aber in meiner Arbeit nicht – dort soll nur gezeigt werden, dass Ansätze wie Tiling und Detailmapping nur in Sonderfällen was bringen, und man ansonsten dann doch hochaufgelöste Fototexturen braucht.
Für Bumpmapping bräuchte man noch einen 3D-Scanner, um die Heightmap zu bekommen. Mit Offset-Mapping wäre das dann natürlich der Hammer, was Realismus angeht.
Darum gehts aber in meiner Arbeit nicht – dort soll nur gezeigt werden, dass Ansätze wie Tiling und Detailmapping nur in Sonderfällen was bringen, und man ansonsten dann doch hochaufgelöste Fototexturen braucht.
Brauchst doch keinen 3d-Scanner... Einfach ein Bumpmap erstellen, das die Kanten der Platten etwas absenkt (dann kommen die Fugen zwischen den Platten zur Geltung und das Ganze wirkt plastischer!).
Einen 3d-Scanner braucht man dafür nicht, meinetwegen erstell' ich dir kurz eine entsprechende Bumpmap...
-huha
Brauchst doch keinen 3d-Scanner... Einfach ein Bumpmap erstellen, das die Kanten der Platten etwas absenkt (dann kommen die Fugen zwischen den Platten zur Geltung und das Ganze wirkt plastischer!).
Einen 3d-Scanner braucht man dafür nicht, meinetwegen erstell' ich dir kurz eine entsprechende Bumpmap...Aufgebrochene und zerbröselte Platten würden damit recht komisch aussehen.
Aufgebrochene und zerbröselte Platten würden damit recht komisch aussehen.
Frage nach der Verhältnismäßigkeit: Die meisten Platten würden wesentlich besser aussehen, die aufgeplatzten nicht, aber das sind ja auch nur die wenigsten.
Insofern sehe ich da kein Problem.
Außerdem -- was spricht dagegen, für die aufgeplatzten Platten andere Bumpmaps zu verwenden?
-huha
Frage nach der Verhältnismäßigkeit: Die meisten Platten würden wesentlich besser aussehen, die aufgeplatzten nicht, aber das sind ja auch nur die wenigsten.
Insofern sehe ich da kein Problem.
Außerdem -- was spricht dagegen, für die aufgeplatzten Platten andere Bumpmaps zu verwenden?... dass ich keinen 3D-Scanner habe? Bumpmapping alleine bringts hier eh nicht, es sollte schon Offsetmapping sein.
aths, Frage:
Wie muß die Bumpmap aussehen? Welcher Grauwert entspricht welcher Höhe?
Muß die Bumpmap genauso groß sein wie die Textur?
-huha
Spasstiger
2005-04-07, 17:57:20
... dass ich keinen 3D-Scanner habe? Bumpmapping alleine bringts hier eh nicht, es sollte schon Offsetmapping sein.
Die Height-Map kann man ja auch einfach nur grob annähern. Das reicht doch schon für einen schicken Effekt. Für Photo-Shop-Erfahrene ist das doch kein Problem.
aths, Frage:
Wie muß die Bumpmap aussehen? Welcher Grauwert entspricht welcher Höhe?
Muß die Bumpmap genauso groß sein wie die Textur?Das alles hängt von der Applikation ab. In diesem Fall ist das Problem, dass viele Kanten recht scharf sind: Einige Fugen sind recht tief. Das bekommt man mit Bumpmapping schlecht hin. Wenn ich Zeit hätte würde ich ne App schreiben um das mit einer Heightmap zu rendern, also das Quad in echte Geometrie zerlegen. Die Zeit habe ich aber nicht.
Die Height-Map kann man ja auch einfach nur grob annähern. Das reicht doch schon für einen schicken Effekt. Für Photo-Shop-Erfahrene ist das doch kein Problem.Wenn schon, denn schon. Meine Diplomarbeit beschäftigt sich mit möglichen Komprimierungsverfahren für Fototexturen, nicht mit fotorealistischem Rendering. Da wäre es mit einer einfachen Bumpmap für Fugen nicht getan. Man braucht auch ne Specular Map. Und sollte Offset-Mapping machen. Braucht SM2 Profil 2_B, besser SM3, wenn's noch performant sein soll.
aths:
Bitte bau' doch mal -- nur zum Test -- folgende zwei Bumpmaps ein und mach' mir zwei Screenshots. Ich bin leider nich in der Lage, die Programme so zu bedienen, daß die Resultate rauskommen, die du erreichst.
Würde mich interessieren, wie das aussehen würde, die Bumpmaps sind ziemlich mies und kurz zusammengewürfelt, allerdings denke ich, daß selbst diese gräßlichen Bumpmaps den Gehweg "besser" aussehen lassen.
-huha
aths:
Bitte bau' doch mal -- nur zum Test -- folgende zwei Bumpmaps ein und mach' mir zwei Screenshots.In Xmas' Filtertester kann man keine Bumpmap einbauen. Das Ding kann auch kein Multitexturing – um die Detailmap raufzukriegen hab ich von Base- und Detailmap getrennte Screenshots gemacht und die im Bildverarbeitungsprogramm verrechnet.
PhoenixFG
2005-04-07, 20:27:17
Vom Ergenis erscheint mir die Variante mit "nur" abgewandelter Helligkeit am interessantesten.
Wie bereits erwähnt wurde, ist die Verwendung von auffälligen "Kacheln" gefährlich. Selbst mit Drehung und Spiegelung fällt auf, dass es sich stets um die gleiche Vorlage handelt.
Könnte man neben den Helligkeitsschwankungen nicht auch leichte Schwankungen in der Farbe einbauen? Bei Granit könnte ich mir z.b. leichte Abweichungen in Richtung blau und rot vorstellen.
Wenn man beide Attribute veränderlich macht und die Schwankung einer Normalverteilung annähert, könnte man vielleicht einen halbwegs "realistischen" Bürgersteig darstellen.
MfG
Vom Ergenis erscheint mir die Variante mit "nur" abgewandelter Helligkeit am interessantesten.
Wie bereits erwähnt wurde, ist die Verwendung von auffälligen "Kacheln" gefährlich. Selbst mit Drehung und Spiegelung fällt auf, dass es sich stets um die gleiche Vorlage handelt.
Könnte man neben den Helligkeitsschwankungen nicht auch leichte Schwankungen in der Farbe einbauen? Das könnte man. Hier böte sich besonders der YCbCr-Farbraum an. Aber ich glaube nicht dass das so viel bringt. Werd ich nachher trotzdem mal testen und hier zeigen.
Wenn man beide Attribute veränderlich macht und die Schwankung einer Normalverteilung annähert, könnte man vielleicht einen halbwegs "realistischen" Bürgersteig darstellen.Die Helligkeitsmodifikation ist im Moment nicht normalverteilt, aber auch nicht gleichverteilt. Man könnte sagen, es ist die erst Näherung zur Normalverteilung :)
So, hier mal ein Beispiel welches lediglich ein einzelnes Tile nutzt:
http://www.aths.net/files/buergersteig/7.jpg
Die Helligkeitsunterschiede tragen zur Abwechslung bei. Dies kann mit leichten Farbdifferenzen verstärkt werden:
http://www.aths.net/files/buergersteig/8.jpg
Die Unterschiede sind subtil, aber das ist ja Absicht.
marco42
2005-04-07, 21:57:24
Ein Wang Tiling Ansatz könnte bei dieser Problemstellung vielleicht auch gute Ergebnisse liefern.
Gruss, Carsten.
die braeuchtest du nur, wenn die tiles eine verbindung haetten, dass haben aber gehwegplatten nicht, bei einem rasen waere das angebrachter. schau doch mal das SIGGARPH paper(ich glaube es war 2003) dazu an, in der neuen GPU Gems 2 ist es auch drin.
Marco
PhoenixFG
2005-04-07, 22:12:25
Also mit den Farbschwankungen gefällt mir die Sache schon recht gut. Allerdings sieht das ganze nun wieder recht stark nach Tapete aus (ich weiß, Texturen sind nichts anderes). Könnte sein, dass es daran liegt, dass die unterschiedlichen Fugen nun nicht mehr auftreten bzw. kaum überhaupt laum eine Fuge zu sehen ist. Die würde das ganze etwas auflockern und somit zum Realismus beitragen.
Aber unbedingter Realismus ist ja nicht das Ziel dieser Übung.
MfG
Gaestle
2005-04-08, 12:39:41
Super Idee!
Nur eine kleine Bitte: nicht die Buntheit der Bürgersteige übertreiben! Man wird ja sonst ganz kirre in der Rübe...
Grüße
stav0815
2005-04-08, 14:06:41
So, hier mal ein Beispiel welches lediglich ein einzelnes Tile nutzt:
http://www.aths.net/files/buergersteig/7.jpg
Die Helligkeitsunterschiede tragen zur Abwechslung bei. Dies kann mit leichten Farbdifferenzen verstärkt werden:
http://www.aths.net/files/buergersteig/8.jpg
Die Unterschiede sind subtil, aber das ist ja Absicht.
die hier könnte man z.B. aber als Pflastersteine verwenden. Sind deine Texturen Copyrightfree? ;D
die hier könnte man z.B. aber als Pflastersteine verwenden. Sind deine Texturen Copyrightfree? ;DNein. Sie dürfen unter Quellenangabe (das ist ein Link zu diesem Thread) in nicht-kommerziellen Produkten verwendet werden.
PhoenixFG
2005-04-08, 16:31:00
Bei der heutigen Nachbetrachtung von Bürgersteigen im Pflasterdesign fiel mir auf, warum das ganze so tapeziert aussieht.
Helligkeit und Farbe sind bisher noch vollkommen zufällig verteilt. Das entspricht aber nicht meiner Beobachtung. Diese Abnormalitäten beziehen sich nicht auf einzelne Steine, so dass die jeweiligen Nachbarn zumeist vollkommen anders aussehen (Normalverteilung). Es zeigen sich eher über den ganzen Bürgersteig verteilt "Flecken". Das heißt, benachbarte Steine besitzen oft die gleiche bzw. eine sehr ähnliche Helligkeit und Farbe.
Man dürfte also nicht jedem Stein "zufällig" eine Farbnuance und Helligkeit zuweisen sondern vielmehr Gruppen von Steinen. Wobei die Randsteine einer solchen Gruppe auch noch in sich den Übergang in Sachen Farbe und Helligkeit zur nächsten Gruppe aufweisen müssten.
Damit könnte man vielleicht den "perfekten" Gehweg schaffen. Aber ich hab so meine Zweifel ob sich das in Mathematik fassen lässt, die schnell zu berechnen ist.
MfG
ethrandil
2005-04-08, 17:03:55
Damit könnte man vielleicht den "perfekten" Gehweg schaffen. Aber ich hab so meine Zweifel ob sich das in Mathematik fassen lässt, die schnell zu berechnen ist.
Könnte man nicht einfach Helligkeits- und Farbunterschiede für einige zufällige Platten festlegen und dann die anderen interpolieren? (evtl. nicht-linear?)
- Eth
Bei der heutigen Nachbetrachtung von Bürgersteigen im Pflasterdesign fiel mir auf, warum das ganze so tapeziert aussieht.
Helligkeit und Farbe sind bisher noch vollkommen zufällig verteilt. Das entspricht aber nicht meiner Beobachtung. Diese Abnormalitäten beziehen sich nicht auf einzelne Steine, so dass die jeweiligen Nachbarn zumeist vollkommen anders aussehen (Normalverteilung). Es zeigen sich eher über den ganzen Bürgersteig verteilt "Flecken". Das heißt, benachbarte Steine besitzen oft die gleiche bzw. eine sehr ähnliche Helligkeit und Farbe.
Man dürfte also nicht jedem Stein "zufällig" eine Farbnuance und Helligkeit zuweisen sondern vielmehr Gruppen von Steinen. Wobei die Randsteine einer solchen Gruppe auch noch in sich den Übergang in Sachen Farbe und Helligkeit zur nächsten Gruppe aufweisen müssten.
Damit könnte man vielleicht den "perfekten" Gehweg schaffen. Aber ich hab so meine Zweifel ob sich das in Mathematik fassen lässt, die schnell zu berechnen ist.Ja, das Verfahren heißt Perlin Noise und wird in meiner Arbeit in Bezug auf Detail Textures erwähnt werden. Die nächsten Tage forsche ich ob sich Perlin Noise auch als Alpha-Kanal zum Dirtmapping eignet.
Aquaschaf
2005-04-08, 21:11:35
Solches Tiling wird auch z.B. in der Earth2-Engine für Terrain-Texturen benutzt, sah 1999 schon nicht schlecht aus :)
Hier mal aufgrund der großen Nachfrage :D feinstes gefaktes Bumpmapping
http://www.aths.net/files/buergersteig/nobump.jpg
http://www.aths.net/files/buergersteig/embossbump.jpg
Jetzt nur noch den Bumpmapeffekt nicht ganz so drastisch machen und die Sache sieht schon einiges besser aus :)
-huha
flatbrain
2005-04-09, 21:41:22
Bitte beachten, dass Gehwegplatten aus Beton nicht glänzen, also sollten die Lichtreflektionen deutlich schwächer ausfallen als auf dem letzten Bild. Die Reduzierung der "Tiefen/Höhenwirkung" (keine Ahnung, wie die genaue Bezeichnung dafür ist) wäre auch besser, da Gehwegplatten aus Beton keine solche starke Phase haben (Mamorplatten haben gar keine bis max. 5mm), produktionsbedingt sinds meisst ca. max. 5mm Breite bei ca. 30% Schräge.
cu flatbrain
Neon3D
2005-04-09, 22:17:44
Die grundlegende Idee hierzu stammt von Xmas. Die grundlegende Idee ist konkret, eine Oberfläche aus Tiles zusammenzusetzen. Ich wollte heute mal gucken, ob das beim Bürgersteig gangbar ist. Das kommt heraus:
http://www.aths.net/files/buergersteig/6.jpg
Wie kommt man dahin? Zunächst war ich draußen und habe etliche male den Bürgersteig fotografiert, um dann 18 Platten auszuschneiden und auf 128x128 zu bringen.
Erste Idee: Man wählt immer zufällig eine Platte aus:
http://www.aths.net/files/buergersteig/1.jpg
Natürlich wiederholen sich einige Platten. Man bräuchte sehr viel mehr. Oder versucht einen Trick. Man kann die Platte ja spiegeln und/oder umklappen und/oder an der Y=X-Achse spiegeln. Das sind 8 Kombinationsmöglichkeiten, immer dieselbe Textur darzustellen. Das sieht dann so aus:
http://www.aths.net/files/buergersteig/2.jpg
Das ist schon besser, aber noch nicht gut genug. Nächste Idee: Platten unterschieden sich oft in ihrer Helligkeit. Warum bekommt nicht jede Platte einfach noch eine zufällige Helligkeit? Das funktioniert auch, wenn man nur vier (recht eintönige) Platten im Pool hat:
http://www.aths.net/files/buergersteig/3.jpg
Die Helligkeit ist hier das Hauptmerkmal. Wenn man auch nur eine einzige Platten-Textur hättte, wäre das Ergebnis auf den ersten Blick akzeptabel. Das führt zu einem weiteren Problem: Platten mit auffälligen Merkmalen sollte man weniger oft würfeln. Denn die fallen besonders auf, und anhand solcher Platten sieht man dann besonders, dass die Auswahl begrenzt ist. Daher lasse ich jetzt die Standard-Platten besonders häufig rankommen, und auffällige seltener:
http://www.aths.net/files/buergersteig/4.jpg
Das sieht ja schon mal ganz gut. Und taugt auch, um große Flächen zusammenzusetzen:
http://www.aths.net/files/buergersteig/5.jpg
Das ist die gleiche Textur, die für den obersten Screenshot genutzt wurde.
hehehe, gute idee das als dipl.arbeit zu nutzen. aber immer schön den kontakt zum prof halten, dann gibt es auch keine all zu großen überraschungen bei der bewertung.
PhoenixFG
2005-04-09, 23:11:43
Wenn ich mich nicht irre, ist der "Glanz" ein Nebenprodukt des Bumpmapping.
Ich erinnere mal an Doom3 und Farcry. Dort sieht manches auch aus, als käm es aus der Plastikspielzeugabteilung von Toys'R'us.
MfG
PhoenixFG
2005-04-09, 23:21:02
Ja, das Verfahren heißt Perlin Noise und wird in meiner Arbeit in Bezug auf Detail Textures erwähnt werden. Die nächsten Tage forsche ich ob sich Perlin Noise auch als Alpha-Kanal zum Dirtmapping eignet.
Würde mich doch sehr interessieren, ob das klappt. Können heutige Systeme sowas in Real Time berechnen? Dann nur, wenn das Fraktal immer neu berechnet wird, kann eine Wiederholung ausgeschlossen werden. Wäre ja blöd, wenn man im Spiel um eine Ecke geht und der Bürgersteig sieht dort genau gleich aus.
MfG
Wenn ich mich nicht irre, ist der "Glanz" ein Nebenprodukt des Bumpmapping.
nö, der glanz kommt erst durch specularmapping welches dort zusätzlich angewendet wird. die kombination von specular- und bumpmapping kann dabei zu texturflimmern führen wie in riddick schön zu sehen ist.
PhoenixFG
2005-04-10, 00:23:31
Wenns denn so bescheiden aussieht, wieso wirds dann eigentlich offenbar recht häufig genutzt?
MfG
Gast 2005
2005-04-10, 11:39:43
Wenns denn so bescheiden aussieht, wieso wirds dann eigentlich offenbar recht häufig genutzt?
MfG
Wenn es richtig (d.h. in einem vernünftigen Rahmen) angewendet wird, können Specular Reflections die Szene deutlich natürlicher erscheinen lassen. Die meisten Dinge in der Realität reflektieren Licht auf eine solche Art und Weise, zum Beispiel der Schreibtisch aus Holz vor mir, der durch das Licht der Schreibtischlampe etwas glänzt. Da es sehr subtil ist und wir das als "normal" empfinden, fällt uns das garnicht auf. Du kannst ja mal drauf achten.
Das Problem bei den meisten Spielen ist, dass die Entwickler mit zu starken Lichtreflektionen ihr tolles Bumpmapping vorzeigen wollen, was dann öfter mal nach hinten losgeht.
In meiner klitzekleinen Engine habe ich auch ganz schwache Specular Highlights drin die kaum auffallen. Aber irgendwie sehen die Oberflächen trotzdem "normaler" aus als wenn man die Specular Maps weglässt.
Würde mich doch sehr interessieren, ob das klappt. Können heutige Systeme sowas in Real Time berechnen? Dann nur, wenn das Fraktal immer neu berechnet wird, kann eine Wiederholung ausgeschlossen werden. Wäre ja blöd, wenn man im Spiel um eine Ecke geht und der Bürgersteig sieht dort genau gleich aus.Die Perlin Noise-Textur sollte bei derzeitigen Grafikkarten lieber von der CPU berechnet werden. Das ist nicht deeer große Aufwand.
Das erste Ziel ist ja, die Texturwiederholung pro Einzelbild wegzukriegen. Dann kann man sich überlegen, wie man dafür sorgen könnte, dass sich gar nichts wiederholt. Das geht dann aber in Richtung prozedurale Texturen.
edit: Das war ich – aths
DocEW
2005-04-11, 10:09:34
Würde mich doch sehr interessieren, ob das klappt. Können heutige Systeme sowas in Real Time berechnen? Dann nur, wenn das Fraktal immer neu berechnet wird, kann eine Wiederholung ausgeschlossen werden.
Mit Fraktalen hat das ganz aber nix zu tun. Ist eigentlich recht simpel:
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
PhoenixFG
2005-04-11, 15:42:57
Perlin-Noise besteht doch aus einer bestimmten Anzahl verkleinerter Kopien von sich selbst. Damit müsste es doch ein Fraktal sein, oder?
MfG
Perlin-Noise besteht doch aus einer bestimmten Anzahl verkleinerter Kopien von sich selbst. Damit müsste es doch ein Fraktal sein, oder?
MfG
Nein, es sind keine Kopien von sich selbst, sondern unabhängige Schichten (pseudo-)zufälliger Daten. Außerdem wäre es selbst dann noch kein Fraktal.
Mr. Lolman
2005-04-11, 18:39:41
Hier mal 2 Shots mit "echtem" Bumpmapping:
http://img111.echo.cx/img111/6324/untitled193oh.jpg (http://www.imageshack.us)
http://img111.echo.cx/img111/455/untitled303ss.jpg (http://www.imageshack.us)
whatever
2005-04-11, 19:11:31
Hier mal 2 Shots mit "echtem" Bumpmapping:
http://img111.echo.cx/img111/6324/untitled193oh.jpg
http://img111.echo.cx/img111/455/untitled303ss.jpg
:eek:
sieht recht überzeugend aus...
Beavis
2005-04-11, 22:38:11
wow!
nicht schlecht ;)
Master of Puppetz
2005-04-11, 22:58:09
Ich dachte das sind Fotos :eek:
Hier mal 2 Shots mit "echtem" Bumpmapping:
http://img111.echo.cx/img111/6324/untitled193oh.jpg (http://www.imageshack.us)
http://img111.echo.cx/img111/455/untitled303ss.jpg (http://www.imageshack.us)
und wie hast du des jetzt gemacht erklär mal bitte :rolleyes:
Mr. Lolman
2005-04-11, 23:43:56
und wie hast du des jetzt gemacht erklär mal bitte :rolleyes:
Im Photoshop herumgespielt, und die Textur dann in ein Humusdemo (http://www.humus.ca) eingebaut X-D
Ich dachte das sind Fotos :eek:Das sind Foto-Texturen.
"Dirt-Mapping"
http://www.aths.net/files/buergersteig/clean.jpg
http://www.aths.net/files/buergersteig/dirt_s.jpg
ethrandil
2005-04-12, 07:08:13
hmm, irgendwie sieht der Sand sehr "aufgesetzt" aus.
Könnte daran liegen, dass er nicht z.B. in den Fugen beginnt, etcetc...
Das könnte aber durchaus aufwändig werden.
Wie berechnest du denn den Sand?
- Eth
hmm, irgendwie sieht der Sand sehr "aufgesetzt" aus.
Könnte daran liegen, dass er nicht z.B. in den Fugen beginnt, etcetc...
Das könnte aber durchaus aufwändig werden.
Wie berechnest du denn den Sand?Ich habe den Sand als Foto-Textur mit Alpha-Wert. Der Alpha-Kanal ist mit Perlin Noise berechnet.
Hier mal verkleinerte Versionen davon:
http://www.aths.net/files/buergersteig/dirtr.jpg http://www.aths.net/files/buergersteig/alpha.jpg
Der Alpha-Kanel ist zunächst eine graue Perlin-Noise-Textur. Erst wird der Kontrast erhöht, um reinweiße und reinschwarze Fläche und vor allem schärfere Übergänge zu bekommen. Dann wird mit einer Helligkeits-Regelung der Anteil eingestellt, der überhaupt sichtbar sein soll. Das sind also nur zwei Parameter, um eben die Sanftheit der Übergänge und den durchschnittlichen Bedeckungsanteil einzustellen.
Der Sand-Ansatz ist zwar recht gut, jedoch gilt es da IMHO, abzuwägen; Sand liegt jetzt (von Baustellenbereichen mal abgesehen) nicht sooo inflationär auf Gehwegen rum, als daß man so viel Sand auf den Gehwegen verstreuen müßte.
Weniger wäre hier also eigentlich mehr, vllt. kann man die Parameter der Perlin Noise-Textur etwas abändern, daß mehr kleinere Flecken entstehen; weiterhin würde es eventuell nciht schlecht aussehen, wenn der Sand etwas heller und feinkörniger wäre.
-huha
Der Sand-Ansatz ist zwar recht gut, jedoch gilt es da IMHO, abzuwägen; Sand liegt jetzt (von Baustellenbereichen mal abgesehen) nicht sooo inflationär auf Gehwegen rum, als daß man so viel Sand auf den Gehwegen verstreuen müßte.
Weniger wäre hier also eigentlich mehr, vllt. kann man die Parameter der Perlin Noise-Textur etwas abändern, daß mehr kleinere Flecken entstehen; weiterhin würde es eventuell nciht schlecht aussehen, wenn der Sand etwas heller und feinkörniger wäre.
-huhaFeinkörniger gehts leider nicht. Das Bild da ist schon an der Grenze zum Geflimmer. Mehr Kontraste und feinere Details würde man in Bewegung garantiert sehen – und seit meinem HL2-Kommentar sollte jeder wissen, was ich davon halte :)
Das Bild soll nur das prinzipielle Verfahren zeigen. Mit Dirt meine ich auch nicht unbedingt echten Straßenschmutz. Eigentlich meint man mit Dirtmapping, dass die Dirt-Texturen dynamisch hinzukommen, man also die Spielwelt selbst "verdrecken" kann. In Max Payne z. B. kann man auf einen Feuerlöscher hauen und sieht dann eine Textur mit Schaum. In HL2 wurde die Idee weiter ausgebaut, aber schon in CS kann man ja Symbole an die Wand sprühen.
Unter Dirtmapping fasse ich in der Arbeit alles zusammen, was als Belag auf einer Oberfläche sein kann: Graffiti oder auch nur simple Schmierereien an Hauswänden, Schmutz durch Wettereinflüsse auf einer Anzeigetafel, Laub auf der Straße, Kaffeeflecken auf einem Tisch, ...
Cool! - die Grafiken sehen echt super aus!
Rainer
ethrandil
2005-04-12, 16:28:06
Ja, in der Hinsicht ist DirtMapping sicherlich gut geeignet.
Für den speziellen Einsatz im Fußwegmapping... man könnte die Bumpmap vorher noch mit dem Perlin Noise multiplizieren und das Ergebnis zum ursprünglichen Noise addieren.
Würde das nicht einen Sand ergeben, der besser an die Oberflächenstruktur angepasst ist? Oder wäre das Bumpmapping an Sich da schon ausreichend?
- Eth
f!3rce1
2005-04-13, 00:03:28
ich finds geil
könntest du eigentlich auch ein bild mit offset mapping machen?
Ja, in der Hinsicht ist DirtMapping sicherlich gut geeignet.
Für den speziellen Einsatz im Fußwegmapping... man könnte die Bumpmap vorher noch mit dem Perlin Noise multiplizieren und das Ergebnis zum ursprünglichen Noise addieren.
Würde das nicht einen Sand ergeben, der besser an die Oberflächenstruktur angepasst ist? Oder wäre das Bumpmapping an Sich da schon ausreichend?
- EthBumpmapping ist nicht Thema meiner Arbeit :) In dem Falle bräuchte man 2 Bumpmaps (für Basemap und Dirtmap) und müsste dann je nach Alpha-Wert aus einer der beiden Bumpmaps auswählen.
Die Frage ist ja auch, wofür man Bumpmapping überhaupt machen möchte. In Doom 3 werden auch recht grobe Details noch mit Bumpmapping erstellt. Das sollte imo lieber geometrisch modelliert werden. (Natürlich muss dafür erst mal die Leistung da sein.) In meinem Ansatz sind Bumpmaps nur für subtile Details zu empfehlen.
Ich beschäftige mich aber damit, viele Fototexturen auf kleinen Raum zu kriegen, und hab da den Kopf nicht so für Bumpmapping-Techniken frei.
ich finds geil
könntest du eigentlich auch ein bild mit offset mapping machen?Da ich auch kein Offset-Mapping programmieren kann, müsste ich es mittels echter Geometrie faken. Aber dazu fehlt mir die passende Heightmap.
Da ich auch kein Offset-Mapping programmieren kann, müsste ich es mittels echter Geometrie faken.
aths, du alter pedant, jetzt hab ich dich aber: Wenns echt ist wie kanns dann "gefaked" (immer diese ververbung englischer wörter :D ) sein? ;) ;)
Neomi
2005-04-13, 21:57:58
aths, du alter pedant, jetzt hab ich dich aber: Wenns echt ist wie kanns dann "gefaked" (immer diese ververbung englischer wörter :D ) sein? ;) ;)
Na wenn Offsetmapping gefakete Geometrie ist, ist echte Geometrie natürlich gefaketes Offsetmapping, weil echtes Offsetmapping ja keine echte Geometrie ist, sondern gefakete. Doppelte Verneinung eben, hat mit Raumzeitkrümmung zu tun... :D
aths, du alter pedant, jetzt hab ich dich aber: Wenns echt ist wie kanns dann "gefaked" (immer diese ververbung englischer wörter :D ) sein? ;) ;)Ich würde "gefakt" schreiben. Die Endung "ed" ist englisch, aber das Präfix "ge" deutsch. Man nimmt nur den Wortstamm und konjugiert (oder dekliniert) ihn nach deutschen Regeln. Daher heißt es im Deutschen z. B. auch Hobbys oder Ladys und nicht Hobbies oder Ladies.
Die technische Seite hat Naomi schon erklärt.
Die technische Seite hat Naomi schon erklärt.
Neomi bitte, zu dir sagt hja auch keiner eths;)
Neomi
2005-04-16, 11:46:41
Neomi bitte, zu dir sagt hja auch keiner eths;)
Hui, gerade erst gesehen. Dabei sehe ich doch ganz anders aus als Naomi... :D
Hui, gerade erst gesehen. Dabei sehe ich doch ganz anders aus als Naomi... :DNeomi bitte, zu dir sagt hja auch keiner eths;)Srykthx.
Wenn wir auf das eigentliche Thema zurückkommen könnten ...
Die Perl-Noise-Ränder sehen ganz gut aus. Interessant wären hier noch einige andere Beispiele mit der selben Sandtextur.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.