Archiv verlassen und diese Seite im Standarddesign anzeigen : Echtzeitrendering in 20 Jahren - Raytracing, Rasterisierung oder etwa ganz anderes?
Spasstiger
2007-08-22, 23:28:53
In den letzten 2-3 Jahren wird ja Echtzeitraytracing massiv gehypt. Das ganze gipfelt nun in der Vorstellung einer Echtzeitraytracing-Engine von Intel (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=377698).
Rasterisierung ist nun aber schon seit Jahren das Verfahren für Echtzeitrendering und inzwischen auch extrem leistungsfähig. Und die Entwicklung im Bereich der Rasterizer-Chips (GPUs wie der G80 und der R600) schreitet rasant voran. Auch an neuen Algorithmen wird fleißig geforscht.
Rasterisierung lässt sich extrem gut parallelisieren, so dass auch ein stupides Vervielfachen der Recheneinheiten große Fortschritte bringt.
Raytracing lässt sich allerdings auch gut parallel rechnen, Intel sieht deshalb die Multicore-Chips der Zukunft als prädestiniert für Echtzeit-Raytracing. Und dass die theoretische Rechenleistung von CPUs in Zukunft durch Vervielfachung der Core-Anzahl stark ansteigen wird, ist unbestritten.
Raytracing hat vor allem den großen Vorteil, dass der Rechenaufwand mit der Szenenkomplexität weniger stark ansteigt als bei der Rasterisierung. Somit ist nach Ansicht der Raytracing-Befürworter irgendwann der Punkt erreicht, wo Raytracing ein performanteres Ergebniss liefert als Rasterisierung.
Was ist eure Meinung?
Raytracing, Rasterisierung oder etwas von beidem?
Oder gar etwas komplett anderes?
Wo seht ihr Echtzeitrendering in 20 Jahren?
Ich vermute, dass Rasterisierung bestehen bleiben wird, wobei Raytracing-Ansätze für die Berechnung der Beleuchtung verfolgt werden.
Die GPUs werden ohnehin immer flexibler, so dass letztendlich auch Raytracing dort performant eingesetzt werden kann, wo es Sinn macht.
Monger
2007-08-23, 09:38:21
Kommt drauf an, was man als Raytracing Anteil versteht. Im Prinzip stammen die Shader ja nunmal aus der Raytracing Welt.
Ich hab deshalb für "Rasterisierung mit Raytracing Anteil" gestimmt, weil ich auch in Zukunft keine wirklichen Vorteile für reines Raytracing in Echtzeitumgebungen sehe.
Ganon
2007-08-23, 10:06:17
Ich sehe auch mehr eine Mischung aus beiden.
Wobei ich denke das die Probleme bisheriger Engines nicht wirklich die Szenenkomplexität ist. Ich denke eher die Probleme liegen bei "Effekten" abseits des Renderverfahrens.
Problem-Beispiele:
- Rauch wird nicht verwirbelt und verschwindet auch in Räumen spurlos
- Wasser wird nicht aus der Ruhe gebracht
- viel normale Gegenstände (Bäume, Steine, etc.) sind unzerstörbar oder nur "Bruchstückweise" (Rakete auf Baum->Baum fällt um, statt zu zersplittern)
Und noch ein paar. Für viele dieser Punkte habe ich schon Tech-Demos gesehen, aber noch nie wirklich in Spielen.
ist die rasterisierung denn schon am ende?
ab einem gewissen detailgrad soll ja raytracing "performater" sein
hat der intel nukel glaub erzählt
Undertaker
2007-08-23, 15:39:27
ich fände es extrem interessant einmal eine engine auf einem 700mio transistoren starken, voll auf raytracing ausgelegten chip zu sehen und diese mit einer herkömmlichen engine + g80/r600 zu vergleichen. das geht nur leider nicht :) ergo ist es schwer zu sagen, wie weit raytracing heute schon sinnvoll erscheint bzw. in wieviel jahren dies der fall sein könnte...
C.D.B.
2007-08-23, 18:33:25
Die Zukunft gehört ganz klar dem Realtime-Raytracing. Kein Shader-Irrsinn mehr, keine Polygon-Figuren und perfekte Implementierbarkeit von Physik.
Die Hardwareanforderungen sind gigantisch. Aber bereits jetzt stellt sich ja schon die Frage: Wohin mit der enormen Prozessorleistung - und diese wird zweifellos weiter steigen!
Die Zukunft "schreit" geradezu nach Realtime-Raytracing!!!
Wenn ich noch an meine ersten Raytracing-Erfahrungen denke ... das war in den frühen 90ern. Da heizte Maxon Cinema 4D meinem armen 68k mächtig ein. Für ein ansprechendes 640x512-Bild gingen da mitunter 12 Stunden drauf!!! *lol*
man liest sich, bye
Die Zukunft gehört ganz klar dem Realtime-Raytracing.
Abwarten.
Kein Shader-Irrsinn mehr
Man braucht auch bei Raytracing Shader um Oberflächen zu beschreiben.
keine Polygon-Figuren
Was willst denn sonst machen? Ein Männchen aus Kugeln zusammenbasteln?
und perfekte Implementierbarkeit von Physik.
Das hat nichts mit dem Rendering zu tun.
Die Zukunft "schreit" geradezu nach Realtime-Raytracing!!!
Ich höre nichts davon.
Wenn ich noch an meine ersten Raytracing-Erfahrungen denke ... das war in den frühen 90ern. Da heizte Maxon Cinema 4D meinem armen 68k mächtig ein. Für ein ansprechendes 640x512-Bild gingen da mitunter 12 Stunden drauf!!! *lol*
Die meisten Offline-Renderer benützen auch nur Raytracing wenn es nötig wird.
Die Spieleindustrie geht in die Richtung die wir vor Jahren bei Offline-Rendering gesehen haben, und dort ist bis heute Rasterisierung dominierend. Ich weiß also nicht wie alle drauf kommen, dass das beim Online-Rendering anders sein sollte.
Na 20 Jahre sind ein langer Zeitraum ... aber vom jetzigen Standpunkt würde ich auch klar auf eine Mischung tippen, mir fehlt einfach die Vorstellungskraft atm an tatsächlich reines Raytracing in Echtzeit-3D zu denken ...
@C.D.B. auch heute geht für ein anständiges Raytracing-Bild viel Renderzeit ins Land ... und wo langweilen sich CPUs zu tode? Momentan ist man immer noch damit beschäftigt überhaupt ordentlich Leistung aus MC (die ja wohl offensichtlich zur Zukunft gehören) rauszuholen ...
20 jahre ist viel zu lange hinn...
schau doch mal wo wir vor 20 jahren waren -> 1987 hat man mit sicherheit auch gedacht - was ist bloß in 20 jahen?
selbst in den letzten 10 jahren is schon viel passiert...
hab hier gerade Monkey Island 3 vor mir liegen - das spiel is aus dem jahr!
2d... n p90 als vorrausetzung...
Foxbat
2007-08-24, 00:14:53
ich habe jetzt mal für Raytracing gestimmt...
Persönlich glaube ich aber eher an etwas fortschrittlicheres, schließlich hoffe ich nicht in 20 Jahren noch an einem Monitor zu sitzen ;)
Yavion
2007-08-24, 00:29:47
Ich nehme an, dass wir in 20 Jahren RT benutzen.
Allerdings glaube ich nicht, dass RT die Rasterizer in den nächsten 5 Jahren ablösen werden.
Nehmen wir mal an, man will ein Spiel in HD-Auflösung mit 60fps darstellen: Mir fehlen jetzt konkrete Zahlen aber ich behaupte einfach mal das wird in den nächsten 5 Jahren auf handelsüblichen PCs nicht machbar sein.
Und selbst wenn man auf PCs und Konsolen soweit ist: Es ist etwas anderes eine 32 Kern CPU fürs RT in einen PC einzubauen als in ein Handy, denn dafür sollte RT dann ja auch taugen.
Langfristig wird RT aber wohl das Mittel der Wahl werden und den klassischen Rasterizer ablösen, denn irgendwann werden RTer bei gleicher Auflösung weniger aufwändig und dadurch billiger sein als Rasterizer. In 20 Jahren sind dann Rasterizer wahrscheinlich kein Thema mehr.
Gibt auch irgendjemand eine vernünftige Begründung dafür ab? Ich sag's nochmal: Selbst im Offline-Rendering ist Raytracing nur ein Zusatz.
Außerdem macht es andere Probleme. Es ist nicht so dass damit auf einmal alles Blumen und Sonne wäre.
Der_Donnervogel
2007-08-24, 01:31:51
20 jahre ist viel zu lange hinn...
schau doch mal wo wir vor 20 jahren waren -> 1987 hat man mit sicherheit auch gedacht - was ist bloß in 20 jahen?
selbst in den letzten 10 jahren is schon viel passiert...
hab hier gerade Monkey Island 3 vor mir liegen - das spiel is aus dem jahr!
2d... n p90 als vorrausetzung...
Mehr noch, es ist doch völlig illusorisch abschätzen zu wollen, was in 20 Jahren angesagt ist. Nur mal so als Vergleich, was vor 20 Jahren ein sehr guter Spielecomputer war:
Amiga 500
CPU: 0,00709 GHz 68000 (keine FPU, keine MMU, keine Multimediaeinheiten)
Ram: 0,0005 GB Shared Memory
Typische Spieleauflösung: 320x256 @50 Hz, 32 Farben
3D-Grafik: Nicht vorhanden
Sound: 4 Kanal Stereo (8-Bit)
Festplatte: Nicht vorhanden
CD/DVD-Laufwerk: Nicht vorhanden
Netzwerkanschluß: Nicht vorhanden
Internetanschluß: Nicht vorhanden
... und jetzt vergleichen wir das mal mit einem hochgezüchten Core 2 Duo oder einem Quad Core, samt massig Ram und dicker Grafikkarte und fragen uns ob wir ein 2007er Spiel schon hätten 1987 abschätzen können? Zumal 3D-Grafik erst 10 Jahre später in Mode gekommen ist, eher nicht würde ich sagen. Deshalb ist es nicht mehr als Kaffeesatzlesen da etwas vorhersehen zu wollen.
Somit ist nach Ansicht der Raytracing-Befürworter irgendwann der Punkt erreicht, wo Raytracing ein performanteres Ergebniss liefert als Rasterisierung.
Ich denke genau das ist der Punkt!
Solange man diesen Punkt noch nicht erreicht hat oder aufgrund
physikalischer Grenzen in der Minituarisierung nicht mehr erreichen kann
wird weiterhin die Rasterisierung federführend sein.
Raytraycing würde in diesem Fall dann auch höchstens als Ergänzung eingesetzt werden.
Sollte dieser Punkt mit der notwendigen Rechenleistung aber erreicht werden können, dann ist Raytracing in nahezu allen Belangen überlegen und für Rasterisierung kein echter Bedarf mehr vorhanden, d.h. Rasterisierung wird obsolete weil es Raytracing eh besser kann.
Es hängt im Prinzip also ganz von Mores Law ab und dem möglichen Voranschreiten der Chipentwicklung.
Deutlich größere "Die" Flächen oder auch mehrere separate Chips auf einem Mainboard halte ich für keine ernstzunehmende Lösung, da hierdurch der Energiebedarf und die Wärmeentwicklung enorm ansteigt, so daß man auch hier eine vertretbare Limitierung haben wird bzw. haben muß.
Das gilt erst recht, wenn man berücksichtigt das in 20 Jahren der Peak Oil für Erdöl erreicht ist und die Energiekosten deutlich ansteigen werden.
Daher dürfte ein Stromverbrauch von ca. 200 W für einen PC die oberste Grenze sein.
Oder gar etwas komplett anderes?
Alles andere braucht ja noch mehr Rechenleistung als Raytracing
und was sollte es bitteschön noch geben, daß von der notwendigen Rechenleistung unterhalb von Raytracing liegt?
Außerdem sind die meisten Verfahren schon seit 30 Jahren bekannt,
solange es also in der Mathematik keine revolutionäre Neuentdeckungen gibt
eine bestimmte Aufgabe deutlich schneller zu berechnen, wird sich an den alten Techniken nicht viel ändern.
Wo seht ihr Echtzeitrendering in 20 Jahren?
Ich halte Echtzeitraytracing für potentiel möglich.
Ich hab deshalb für "Rasterisierung mit Raytracing Anteil" gestimmt, weil ich auch in Zukunft keine wirklichen Vorteile für reines Raytracing in Echtzeitumgebungen sehe.
Da fallen mir genug ein.
Allen voran die damit möglichen Spiegelungen.
Wenn man in einem Rennspiel einen Rückspiegel mit Rasterisierung realisieren
will, dann muß man dort extrem tricksen und dieses auch noch mit extrem hohen Aufwand extra implementieren.
Bei Raytraying kriegt man diese Fähigkeit gratis.
Einfach das Material des Spiegels auf 98 % Spiegelung einstellen und schon hat man einen Rückspiegel, einfacher geht es nicht.
Dann wären da noch die Schatten.
Man kann zwar beim Rasterisierungsverfahren Schatten nachbilden,
aber bei sehr vielen Objekten geht das extrem auf die Leistung
und besonders realistisch sind die dann trotzdem nicht.
Auch hier kriegt man die bei Raytracing ohne nennenswerten Aufwand wieder gratis.
Und jetzt stelle man sich mal eine Flight Simulator 2020 vor, bei dem die 60000 Bäume zu sehen sind, einen eigenen Schatten benötigen und die Wolken ebenfalls noch einen Schatten werfen sollen.
Zusätzlich bestimmen wir dann noch durch die Dicke der Wolken die Lichtintensität.
Mit Rasterisierung ist das undenkbar, mit Raytracing durchaus möglich.
Raytracing ist also die bessere Technik, es gibt vieles Gratis
nur muß halt auch die Mindestrechenleistung erstmal vorhanden sein,
damit Raytracing Sinn macht.
Welche Vorteile hat den Rasterisierung außer daß es weniger Leistung benötigt um gut auszusehen und flüssige FPS zu liefern?
Wobei ich denke das die Probleme bisheriger Engines nicht wirklich die Szenenkomplexität ist.
Das Problem der Szenenkomplexität existiert durchaus, nur trickst man darum herum oder benötigt diese nicht für jedes Spiel.
Bei meinem Beispiel mit dem Flight Simulator müßte man mehrere Quadratkilometer mit Entfernungen von 50-100 km abdecken
und dann soll das auch noch alles flüssig dargestellt werden, wenn man mit Mach 2 über die Landschaft düst.
Hier wird heute extrem getrickst, d.h. die Landschaft sieht und ist im Vergleich zu einem Shooter einfach extrem Detailarm wenn man sich mal eine Parzelle mit den Abmessungen 50m * 50 m heraussucht.
Ich denke eher die Probleme liegen bei "Effekten" abseits des Renderverfahrens.
Problem-Beispiele:
- Rauch wird nicht verwirbelt und verschwindet auch in Räumen spurlos
- Wasser wird nicht aus der Ruhe gebracht
- viel normale Gegenstände (Bäume, Steine, etc.) sind unzerstörbar oder nur "Bruchstückweise" (Rakete auf Baum->Baum fällt um, statt zu zersplittern)
Und noch ein paar. Für viele dieser Punkte habe ich schon Tech-Demos gesehen, aber noch nie wirklich in Spielen.
Weil das alles noch zu Rechenaufwendig ist.
Wenn man eine Stadt mit einer Atombombe pulverisiert, dann hätte man > 10 Millionen Bruchstücke die durch die Gegend fliegen, das kann man heutzutage schlichtweg nicht darstellen.
Außerdem macht es andere Probleme. Es ist nicht so dass damit auf einmal alles Blumen und Sonne wäre.
Wäre doch mal interessant zu erfahren welche Probleme es genau macht.
(Mal abgesehen von den Hardwareanforderungen)
Monger
2007-08-24, 09:03:38
Welche Vorteile hat den Rasterisierung außer daß es weniger Leistung benötigt um gut auszusehen und flüssige FPS zu liefern?
Ist das nicht der zentrale Punkt von Grafik? Gut auszusehen, und gleichzeitig schnell berechenbar zu sein? Andersrum gefragt: warum die Computerwelt umwerfen, für etwas was mit Rasterizing genauso machbar ist?
Zu den Problemen: siehe hierzu auch diesen (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=377698) Thread.
ScottManDeath
2007-08-24, 10:47:13
Softshadows sind mit Raytracing eklig z.b Monte Carlo Style mit einigen tausend Samples / Pixel. Dagegen geben Variance Shadow Maps oder Depth Convolution ShadowMaps brauchbare Soft Shadows ab, bzw. können dahingehend erweitert werden.
Displacementmapping und Tesselation möchte ich auch nicht in einem Raytracer implementieren =)
Dynamische Szenen sind für einen Raytracer nicht trivial zu implementieren, dann man die Datenstrukturen zur Beschleunigung dauernd neugenerieren muss. Es gibt zwar erste Ansätze dazu, aber das wird noch eine Weile dauern, bis man dies robust und performant hinbekommt.
Simon
2007-08-24, 11:47:31
Da fallen mir genug ein.
Allen voran die damit möglichen Spiegelungen.
Wenn man in einem Rennspiel einen Rückspiegel mit Rasterisierung realisieren
will, dann muß man dort extrem tricksen und dieses auch noch mit extrem hohen Aufwand extra implementieren.
Öhm, falsch :|
Bei Raytraying kriegt man diese Fähigkeit gratis.
Ach, kostet das keine Rechenleistung??
Einfach das Material des Spiegels auf 98 % Spiegelung einstellen und schon hat man einen Rückspiegel, einfacher geht es nicht.
Ist bei Rasterisierung genau so....
Dann wären da noch die Schatten.
Man kann zwar beim Rasterisierungsverfahren Schatten nachbilden,
aber bei sehr vielen Objekten geht das extrem auf die Leistung
und besonders realistisch sind die dann trotzdem nicht.
Auch hier kriegt man die bei Raytracing ohne nennenswerten Aufwand wieder gratis.
Das wäre mir neu...
Raytracing ist also die bessere Technik, es gibt vieles Gratis
Da ist wohl ein Traum Vater des Gedankens ;D
zappenduster
2007-08-24, 16:34:18
evtl tut sich ja in 20 jahren noch etwas in richtung hologramme dann wuerden auch voxel engines wieder interessant werden
rotalever
2007-08-24, 17:36:58
Ich habe mal auf Rasterisierung mit RT-Anteil "getippt". Ich denke einfach, dass diese Argumente wie "mehr Polygone" "Spiegelungen" nicht ziehen. Irgendwann ist eine Grenze für Polygone errreicht. Ich kann aber einer gewissen Anzahl keine Polygone mehr zur Szene hinzufügen, ohne dass es anfängt zu Flimmern. Genauso mit Spiegelungen: Ist doch schon alles Möglich und in der Zukunft wird dann vll. der "RT-Anteil" dafür eingesetzt..
Zudem ist es auch fraglich ob 100% Realität wirklich gewünscht ist? Ein Spiel spielt man vermutlich auch um etwas anderes zu sehen, als den Alltag. Sieht alles so aus wie vor der Haustüre wäre das zwar realistisch kommt aber zumindest in manchen Genres nicht dem Spiel an sich zu gute. Ein Spiel ist immer auch als etwas künstlerisches anzusehen. Ein gemaltes Bild von einem Künstler sieht schließlich auch nicht aus wie ein Photo und trotzdem hängt man sich es auf. Und genauso sollte das bei einem Spiel sein. Ein wenig künstlerischer eben.
Ist das nicht der zentrale Punkt von Grafik? Gut auszusehen, und gleichzeitig schnell berechenbar zu sein? Andersrum gefragt: warum die Computerwelt umwerfen, für etwas was mit Rasterizing genauso machbar ist?
Man muß das auch mal aus Entwicklersicht und aus Sicht der Software Entwicklung sehen.
Rastergrafik ist aufwendig und benötigt viele Kniffe und viel Hirnschmalz
um irgendwelche Grafischen Effekte zu realisieren (Spiegel u. Schatten wurden ja schon genannt), bei Raytraying kriegt man das Gratis.
Der Aufwand ein Spiel oder eine Engine zu entwickeln wird also geringer.
Außerdem hat Rastergrafik auch Einschränlungen, mehrere Spiegelungen hintereinander sind schlichtweg nicht möglich.
Mit Raytracing erschließt man sich also ganz neue Möglichkeiten der grafischen Visualisierung bei Computerspielen.
Diese beiden Punkte, Entwicklungsaufwand und Erschließung neuer Effekte ist eigentlich schon Grund genug die Computerwelt umzuwerfen.
Dafür gibt's doch Middleware. Außerdem ist der Aufwand den Content zu erstellen eh viel höher als die Engine.
Öhm, falsch :|
Nein, richtig.
Wenn es nämlich so einfach wäre, Spiegelungen an Objekten einzubauen,
dann würde man das bei jedem Fensterglas machen.
Bei Rastergrafik muß man einen Spiegel künstlich einbauen, d.h.
man macht im Prinzip ein zweites Renderfenster in ein bestehendes Renderfenster um z.B. auch die gespiegelte Rückseite in einem Auto
darzustellen oder man macht wie bei Doom 3 die Toilette größer und 1:1 identisch mit der eigenen Seite, dazwischen kommt dann noch ein Glas und
auf der anderen Seite sieht man dann noch die eigene Spielerfigur.
Das ist ein enormer Trick und er erlaubt nicht, daß sich kurz hinter dem Spiegel ein anderer Raum befindet, weil man hier ja den Raum für die gespiegelte Toilette benötigt.
Bei Raytracing aber fällt der Lichtstrahl einfach auf die Objekte hinter den Betrachter und stellt sie somit dar, das ist mit gratis gemeint.
Ach, kostet das keine Rechenleistung??
Mit Gratis ist die Implementierung gemeint, nicht die Rechenleistung.
Tricks wie bei Doom 3 oder zweite Renderoberflächen in einer Renderoberfläche um einen Spiegel darzustellen brauchst du bei Raytracing einfach nicht.
Und wenn es bei Rasterisierung so einfach wäre, dann würde wie schon gesagt jedes Hochhaus mit verspiegelten Fenstern die Umgebung wiederspiegeln, aber das ist nicht der Fall, da es schlichtweg nicht geht.
Und Cube Environment Maps die nur so tun als würden sie etwas spiegeln
aber in wahrheit gar keine richtigen Spiegel sind kann man eh vergessen.
Echte Spiegelungen sind etwas anderes.
Ist bei Rasterisierung genau so....
Nein ist es nicht.
Rasterisierung ist ein lokales Beleuchtungsmodel.
Lies einfach mal das Buch 3d Computergrafik von Alan Watt.
Das wäre mir neu...
Weil du keine Ahnung hast.
Man kriegt bei Raytracing Schatten gratis, weil sie automatisch teil des
Verfahrens sind.
Bei Rasterisierenk muß man sie wieder künstlich nachahmen, wie man z.B. auch wieder gut an Doom 3 sehen kann.
Und auch hier spreche ich nicht von Rechenleistung, das hättest du eigentlich begreifen müssen!
Da ist wohl ein Traum Vater des Gedankens ;D
Nein das ist kein Traum, das ist Fakt.
Dafür gibt's doch Middleware. Außerdem ist der Aufwand den Content zu erstellen eh viel höher als die Engine.
Wieviele Spiele kennst du die Rasterisierung verwenden und in denen echt wirkende Spiegel benutzt werden?
Doom 3 ist eines davon, dann gibt es ne weile gar nichts mehr.
Und bei Rennspielen gibt es die Spiegel meist nur vereinfach oder auch meistens nur bei den echten Rennspielen, bei Arcarde Spielen wie GTA läßt man die weg,
einfach weil man die Aufwendig einbauen müßte und das bei Arcarde Spielen nicht so wichtig ist.
Aber bei Raytracing gäbe es die einfach gratis dazu, das ist der Punkt.
Ach ja und was noch bei Raytracing so toll ist und ein weiterer Grund sind die Computerwelt umzukrempeln sind Effekte von indirektem Licht.
Realisiert mal mit einer Rasterisierungsengine ein Spiel, in der der Spieler eine Taschenlampe trägt und damit eine zu 20 % spiegelnde Oberfläche in einem 45° Winkel anleuchtet, der an dieser Wand gespiegelte Lichtkegel soll dann wieder
auf den Boden fallen.
Das ist indirektes Licht und mit Rasterisierung schlichtweg nicht realisierbar -> lokales Beleuchtungsmodell.
Monger
2007-08-24, 19:07:58
Wieviele Spiele kennst du die Rasterisierung verwenden und in denen echt wirkende Spiegel benutzt werden?
WTF?
Jeder halbwegs ordentliche Shooter seit Max Payne 2 kennt Spiegel oder wenigstens spiegelnde Oberflächen. Selbst Sims 2 kennt Spiegel. Dass die oftmals mit Cubemaps realisiert werden, tut nix zur Sache. Es geht, es sieht ordentlich aus, und es ist sehr performant.
WTF?
Jeder halbwegs ordentliche Shooter seit Max Payne 2 kennt Spiegel oder wenigstens spiegelnde Oberflächen. Selbst Sims 2 kennt Spiegel. Dass die oftmals mit Cubemaps realisiert werden, tut nix zur Sache. Es geht, es sieht ordentlich aus, und es ist sehr performant.
Cubemaps sind keine echten Spiegel!
Ich rede von Spiegeln in denen sich der Spieler und weitere Spielfiguren oder bewegeliche Objekte spiegelen!
Und schon sind wir wieder bei Doom 3.
Was gibt's da also noch?
Sims 2 spiel ich nicht.
Monger
2007-08-24, 19:15:42
Und schon sind wir wieder bei Doom 3.
Was gibt's da also noch?
Wie gesagt: bereits Max Payne kannte Spiegel in denen sich auch alle dynamischen Inhalte spiegelten. Prey hat das ganze mit den Portalen ziemlich auf die Spitze getrieben. In Call of Juarez hat man sich in den Fensterscheiben gespiegelt. In Splinter Cell 3 gab es ganz allgemein ziemlich viel halbreflektierende Flächen, in denen Gegner und man sich selber gespiegelt haben...
Cubemaps sind keine echten Spiegel!
Man kann Cubemaps auch dynamisch updaten. Mit D3D10 ist das sogar in Singlepass möglich.
rotalever
2007-08-24, 19:53:10
Cubemaps sind keine echten Spiegel!
Interessiert den User aber nicht! Hauptsache das Gesamtbild stimmt.
Irgendwo hier im Forum hat auch mal ein User zwei Bilder von einer (metallenen?) Kugel gezeigt, die die Umgebung spiegelt. Mit Cubemap und Raytracing. Irgendwie keiner konnte sagen was besser aussieht und beides war mit selber FPS berechnet worden.
Und das immer wieder schön gesagte, dass bei Raytracing alles Gratis sei kann einfach nicht stimmen. Auch bei Raytracing braucht es für Schatten, Lichter und Spiegelungen mehr Berechnungen als ohne. Natürlich, sie sind etwas praktischer zu implementieren.
Spasstiger
2007-08-24, 20:15:01
Das ist indirektes Licht und mit Rasterisierung schlichtweg nicht realisierbar -> lokales Beleuchtungsmodell.
Ach ja?
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=321465
Vor allem ist globales diffuses Licht mit Raytracing genauso exorbitant teuer. Und ich vermute stark, dass sich Ännäherungen mit Rasterisierung viel leichter machen lassen.
Braucht man halt mal wieder bisschen mehr Gehirnschmalz dazu.
Interessiert den User aber nicht! Hauptsache das Gesamtbild stimmt.
Es interessiert den Spieler wohl deswegen nicht, da er noch nicht absehen kann, welchen Spielerischen Mehrweg er bekommt, wenn
er oder sein Gegner darauf achten muß, nicht im Spiegel gesehen zu werden.
Die Leute kennen so eine Art von Spielen schlichtweg noch nicht, da es
die Rasterisierer nicht bieten können und schon ist kein Bedarf.
Bedarf muß aber erstmal geschaffen werden.
Sieht man ja auch an der Geschichte des Computers:
IBM: "Die Welt braucht nicht mehr als 5 Computer."
Und das immer wieder schön gesagte, dass bei Raytracing alles Gratis sei kann einfach nicht stimmen. Auch bei Raytracing braucht es für Schatten, Lichter und Spiegelungen mehr Berechnungen als ohne. Natürlich, sie sind etwas praktischer zu implementieren.
Und jetzt schon zum 3. mal.
Gratis = kein extra Implementierungsaufwand
und nicht
Gratis = kein zusätzlicher Rechenbedarf.
Ach ja?
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=321465
Tja, Radiosity, nicht Rasterisierung!
Mehr muß dazu nicht gesagt werden.
Monger
2007-08-24, 20:29:27
...
Die Leute kennen so eine Art von Spielen schlichtweg noch nicht, da es
die Rasterisierer nicht bieten können und schon ist kein Bedarf.
Du bist echt lernresistent, oder?
Lies doch erstmal die vorigen Posts durch, bevor du so etwas verzapfst. Dynamische Spiegelungen sind jetzt schon seit einigen Jahren bei Spielen üblich.
Tja, Radiosity, nicht Rasterisierung!
Mehr muß dazu nicht gesagt werden.
Doch, Radiosity mit Rasterisierung. Die verlinkte Demo ist auf jeder aktuellen Grafikkarte in Echtzeit lauffähig.
Tja, Radiosity, nicht Rasterisierung!
Radiosity lässt sich wunderbar mit Rastersierung implementieren.
Doch, Radiosity mit Rasterisierung. Die verlinkte Demo ist auf jeder aktuellen Grafikkarte in Echtzeit lauffähig.
Du hättest genausogut sagen können Raytracing mit Rasterisierung.
Daher nochmal, darüber braucht man gar nicht zu reden, denn die Rasterisierung
kann es selbst ja nicht und sie wird es auch ohne Hilfe nie können.
Du hättest genausogut sagen können Raytracing mit Rasterisierung.
Nein das ist kein Raytracing. Radiosity ist sehr simpel mit Rasterisierung zu implementieren.
http://de.wikipedia.org/wiki/Radiosity_%28Computergrafik%29#Hemi-Cube-Verfahren
Könntest du mal zuhören, anstatt gebetsmühlenartig falsche Aussagen zu wiederholen?
Nein das ist kein Raytracing.
Das weiß ich, nur spielt es in der gleichen Liga mit wie Raytracing.
Aber bei Raytracing gäbe es die einfach gratis dazu, das ist der Punkt.Nix ist da gratis. Spiegel-Effekte lassen sich einfacher einbauen, aber die für Raytracing erforderliche Rechenleistung ist immens.
Ich hab nichts gegen Raytracing, weil sich damit viele realistische Effekte ohne große Umstände in hoher Qualität berechen lassen. Für die meisten Spiele dürfte Rasterung allerdings das Mittel der Wahl bleiben. In der Industrie wiederum sehe ich viele Möglichkeiten für Raytracing.
Das weiß ich, nur spielt es in der gleichen Liga mit wie Raytracing.
Inwiefern "in der gleichen Liga"? Schau dir doch mal das Demo an. Das läuft auf heutigen GPUs mit akzeptablen Frameraten.
Nix ist da gratis. Spiegel-Effekte lassen sich einfacher einbauen, aber die für Raytracing erforderliche Rechenleistung ist immens.
Nein, ich sage es jetzt nicht noch zum 4. mal.
Lies bitte ein paar Seiten weiter vorne, es geht nicht um Rechenleistung.
Ich hab nichts gegen Raytracing, weil sich damit viele realistische Effekte ohne große Umstände
Sag ich doch, die Effekte kommen Gratis!
Inwiefern "in der gleichen Liga"? Schau dir doch mal das Demo an. Das läuft auf heutigen GPUs mit akzeptablen Frameraten.
Ich habe noch ne Geforce 4 im Rechner.
Sag ich doch, die Effekte kommen Gratis!
Aufwand war nie ein Thema wenn es darum geht so viel Rechenleistung zu sparen.
Ich habe noch ne Geforce 4 im Rechner.
Gut, dann glaub halt nicht, dass das Demo funktioniert und belästige uns nicht länger.
Neomi
2007-08-24, 21:57:06
Nein, ich sage es jetzt nicht noch zum 4. mal.
Lies bitte ein paar Seiten weiter vorne, es geht nicht um Rechenleistung.
Sag ich doch, die Effekte kommen Gratis!
Deine Definition von "gratis" hat hier wohl jeder gesehen, falsch ist sie trotzdem. Ob es dir nun darum geht oder nicht, zusätzliche Sekundärstrahlen kosten Rechenzeit. Und etwas, das was kostet, ist nicht gratis.
Ich habe noch ne Geforce 4 im Rechner.
Er sagte auf heutigen GPUs. Ein NV25 ist keine heutige GPU, auch wenn er noch hier und da im Einsatz ist.
Aufwand war nie ein Thema wenn es darum geht so viel Rechenleistung zu sparen.
Wenn das so wäre, dann würde es viel mehr Spiegel in jedem Spiel geben.
Aber man setzt sie nur ganz selten und spärlich ein, weil das ganze natürlich Entwicklungskosten kostet.
Deine Definition von "gratis" hat hier wohl jeder gesehen, falsch ist sie trotzdem. Ob es dir nun darum geht oder nicht, zusätzliche Sekundärstrahlen kosten Rechenzeit. Und etwas, das was kostet, ist nicht gratis.
Nein, sie ist nicht falsch.
Denn das Verfahren wie Raytracing funktioniert bringt diese Funktion der Spiegel schon mit.
Man muß da also nicht mehr viel extra implementieren und damit stimmt das sehr wohl mit gratis.
Wenn das so wäre, dann würde es viel mehr Spiegel in jedem Spiel geben.
Wie gesagt mit D3D10 ist das rendern in eine Cubemap singlepass möglich. Das ist immer noch deutlich billiger als Raytracing ;)
Neomi
2007-08-24, 23:22:14
Aber man setzt sie nur ganz selten und spärlich ein, weil das ganze natürlich Entwicklungskosten kostet.
Sie werden deshalb "spärlich" eingesetzt, weil sie Rechenzeit kosten. Entwickelt werden (wobei das nicht so schwer ist) muß das eh schon für den 1. Spiegel, für den zweiten bis 23576. kann man das dann wiederverwenden.
Nein, sie ist nicht falsch.
Denn das Verfahren wie Raytracing funktioniert bringt diese Funktion der Spiegel schon mit.
Man muß da also nicht mehr viel extra implementieren und damit stimmt das sehr wohl mit gratis.
Ich weiß, was du mit "gratis" meinst, aber dein "gratis" ist nunmal nicht gratis. Daß du die Rechenzeit nicht mitzählst, ist irrelevant, sie zählt trotzdem.
Armaq
2007-08-24, 23:34:43
Sag doch einfach, dass es dir um Entwicklerarbeit geht und du auf Rechenleistung scheisst ...
Gast X
2007-08-24, 23:57:41
evtl tut sich ja in 20 jahren noch etwas in richtung hologramme dann wuerden auch voxel engines wieder interessant werdenGratulation, wenigstens einer hat in dem ganzen Glaubenskrieg verstanden, dass man die Zukunft nur erahnen kann, wenn man über den Tellerrand hinausblickt.
Wie sähe es denn aus, wenn in 20 Jahren wirklich Bildvolumen die Bildflächen von heute ersetzt hätten? Wären neben Voxeln auch Rasterizer und Raytracer in der Lage, solche Bildvolumen effizient zu berechnen?
Spasstiger
2007-08-24, 23:57:47
Er sagte auf heutigen GPUs. Ein NV25 ist keine heutige GPU, auch wenn er noch hier und da im Einsatz ist.
Allerdings läuft die Demo auf einer Radeon 9700, die im selben Jahr erschienen ist (vor 5 Jahren), flüssig.
Wie gesagt mit D3D10 ist das rendern in eine Cubemap singlepass möglich. Das ist immer noch deutlich billiger als Raytracing ;)
Wird das schon irgendwo verwendet?
Sag doch einfach, dass es dir um Entwicklerarbeit geht und du auf Rechenleistung scheisst ...
Ich gehe davon aus, daß man das Problem der Rechenleistung in 20 Jahren
deutlich gemildert hat und es ist müssig darüber zu diskutieren wie gut die Rechenleistung in 20 Jahren sein möge.
Deswegen beschränke ich mich auf die nicht extra notwendige Implementierung
der Spiegelmöglichkeit.
Noch etwas, normale Texturen verschwenden auch viel zu viel Rechenleistung
aus 1987 er Sicht, deswegen nutzt man nur einfarbige Polygone.
Soviel zum Thema Rechenleistung und Raytracing und dem Ding mit dem Gratis.
Dann erklär uns doch mal warum Pixar bis vor Cars im Offline-Rendering keinen einzigen Strahl verschossen hat. Und Kompromisse mit der Bildqualität sind da außer Frage.
Renderman ist der bekannteste Filmrenderer und basiert auf einem Rasterverfahren. Weil Raytracing auch dort einfach langsamer ist. Wenn Raytracing im Einsatz ist dann nur als Erweiterung.
Wir haben was Spielegrafik angeht noch einen weiten weg vor uns bis wir die jetztigen Kinoergebnisse haben. Und die verwenden jetzt noch Rasterisierung.
prman konnte es da noch nicht ^^
Dann erklär uns doch mal warum Pixar bis vor Cars im Offline-Rendering keinen einzigen Strahl verschossen hat.
Und Kompromisse mit der Bildqualität sind da außer Frage.
Weil Radiosity etwas weichere Schatten erzeugt als Raytracing.
Das war also eine Frage des künstlerischen Geschmacks.
Rechenleistung spielt bei Offline Rendering ja wohl keine Rolle.
del_4901
2007-08-25, 01:17:47
Weil Radiosity etwas weichere Schatten erzeugt als Raytracing.
...
Mehr muß dazu nicht gesagt werden.
Weil Radiosity etwas weichere Schatten erzeugt als Raytracing.
Nein, das ist mit Sicherheit nicht der Grund.
Es gibt genügend GI-Lösungen für Raytracing die auch ebenso tolle weiche Schatten erzeugen. Photon Mapping z.B.
Rechenleistung spielt bei Offline Rendering ja wohl keine Rolle.
Aber sicher. Pro Frame 30 Minuten ist das Maximum was man so hat. Und bloß für Raytracing mal eben einen 5x größeren Cluster hinzustellen macht sich dann doch im Geldbeutel bemerkbar. Vor allem wenn nachher eh das gleiche rauskommt.
zappenduster
2007-08-25, 02:29:28
Nein, das ist mit Sicherheit nicht der Grund.
Es gibt genügend GI-Lösungen für Raytracing die auch ebenso tolle weiche Schatten erzeugen. Photon Mapping z.B.
Aber sicher. Pro Frame 30 Minuten ist das Maximum was man so hat. Und bloß für Raytracing mal eben einen 5x größeren Cluster hinzustellen macht sich dann doch im Geldbeutel bemerkbar. Vor allem wenn nachher eh das gleiche rauskommt.
uhm das kommt ganz auf die zeit und budget vorgabe an bei pixars cars ging es mit 10h pro frame los die allerdings auf 1h runtergebracht wurden nach dem das storagesystem fuer die szenen daten ueberholt wurde
im algemeinen versucht man bei major productions unter 1h pro frame zu bleiben weil es sonst einfach zu lange dauert aber kleinere sache wie werbesports koennen da ganz andere zeiten aufweisen da die lauflaenge viel kuerzer ist
seba86
2007-08-25, 04:06:55
*dammnit* Nur der99. Teilnehmer!
Noch etwas, normale Texturen verschwenden auch viel zu viel Rechenleistung
aus 1987 er Sicht, deswegen nutzt man nur einfarbige Polygone.
Soviel zum Thema Rechenleistung und Raytracing und dem Ding mit dem Gratis.Texturen brauchen vor allem Speicherbandbreite. Heutige CPUs könnten stärker sein gäbe es nicht das Bandbreitenproblem. Wenn spezialisierte Schaltkreise Texturfilterung übernehmen entlasten sie zwar ganz massiv die CPU, aber das eigentliche Problem ist die Bandbreite. Bei CPUs wächst Rechenleistung schneller als Bandbreite.
Mit Rasterung kommt man bei weniger Rechenaufwand zu für Spiele völlig brauchbaren Ergebnissen. Den Gewinn kann man in zusätzliche Effekte stecken, wenn man beim Raytracing erst die Grundgeometrie ohne weitere Effekte sieht. Zwar wird Raytracing mit steigender Geometriekomplexität irgendwann schneller als Raytracing (oder, besser gesagt, weniger langsam) doch solches Geometriedetail ist dank etlicher "Raster-Effekte" (Texturen, Bumpmapping, ...) nicht erforderlich.
Simon
2007-08-25, 12:15:11
Und wenn es bei Rasterisierung so einfach wäre, dann würde wie schon gesagt jedes Hochhaus mit verspiegelten Fenstern die Umgebung wiederspiegeln, aber das ist nicht der Fall, da es schlichtweg nicht geht.
Sicher geht das. Es kostet nur Performance. Aber bei Raytracing sind solche riesigen Spiegelflächen ja gratis ;D
Dein Argument mit mehreren Spiegeln nebeneinander zieht auch nicht. Ich hab hier eine Demo, die 30-70 Spiegel hat, die sich alle gegenseitig sehen. Übrigens nicht mit Raytracing gemacht...
Und Cube Environment Maps die nur so tun als würden sie etwas spiegeln
aber in wahrheit gar keine richtigen Spiegel sind kann man eh vergessen.
Echte Spiegelungen sind etwas anderes.
Es gibt mehrere Papers übers physikalische korrekte Spiegelungen mit Cubemaps und Render2Texture.
Rasterisierung ist ein lokales Beleuchtungsmodel.
Lies einfach mal das Buch 3d Computergrafik von Alan Watt.
Was hat Rasterisierung mit dem Beleuchtungsmodell zu tun??? Ich glaube, du solltest das genannte Buch mal lesen und nicht nur von Amazon zitieren...
Ach ja und was noch bei Raytracing so toll ist und ein weiterer Grund sind die Computerwelt umzukrempeln sind Effekte von indirektem Licht.
Realisiert mal mit einer Rasterisierungsengine ein Spiel, in der der Spieler eine Taschenlampe trägt und damit eine zu 20 % spiegelnde Oberfläche in einem 45° Winkel anleuchtet, der an dieser Wand gespiegelte Lichtkegel soll dann wieder
auf den Boden fallen.
Das ist indirektes Licht und mit Rasterisierung schlichtweg nicht realisierbar -> lokales Beleuchtungsmodell.
1) Realisierbar
2) Braucht auch Raytracing eine Weile, um sowas zur Laufzeit zu berechnen. Ach ich vergass, wir reden ja über Implementierungszeit...
Obiges Bild von Sponza ist übrigens mit meinem Raytracer (bzw. Photon Mapper) gemacht. Also erzähl mir hier nicht so einen Blödsinn von wegem "lokalem Beleuchtungsmodell" und Rasterisierung :mad: Da hab ich anscheinend wesentlich mehr drauf als du :P
Und auch hier spreche ich nicht von Rechenleistung, das hättest du eigentlich begreifen müssen!
Was interessiert mich Implementierungszeit? Laufzeit ist das einzig Wahre ;D
Nein das ist kein Traum, das ist Fakt.
Da du ja so viel von Raytracing hälst, erklär mir mal, wie man dynamische Szene effizient verwaltet. Das ist nämlich nicht "gratis" ;D
... und jetzt vergleichen wir das mal mit einem hochgezüchten Core 2 Duo oder einem Quad Core, samt massig Ram und dicker Grafikkarte und fragen uns ob wir ein 2007er Spiel schon hätten 1987 abschätzen können? Zumal 3D-Grafik erst 10 Jahre später in Mode gekommen ist, eher nicht würde ich sagen.
nun, vor über 20 Jahren waren (pseudo) 3D Spiele wie Marble Madness sehr erfolgreich auch das Vektorgrafik Game Elite war sehr beliebt und auf den 16 Bittern sogar mit gefüllten Flächen.
3D Grafik hatte auch damals schon eine Faszination, nur fehlte damals halt die Power für "photorealistische" 3D Grafik, das tat dem Spielspass aber keinen Abbruch
Mit Rasterung kommt man bei weniger Rechenaufwand zu für Spiele völlig brauchbaren Ergebnissen. Den Gewinn kann man in zusätzliche Effekte stecken, wenn man beim Raytracing erst die Grundgeometrie ohne weitere Effekte sieht. Zwar wird Raytracing mit steigender Geometriekomplexität irgendwann schneller als Raytracing (oder, besser gesagt, weniger langsam) doch solches Geometriedetail ist dank etlicher "Raster-Effekte" (Texturen, Bumpmapping, ...) nicht erforderlich.
Falsch.
Irgendwann wird der Zeitpunkt kommen, in dem man ein Backsteinhaus auch wirklich aus einzelnen geometrischen Steinen zusammensetzt, weil
man nur so physikalisch korrekt das Haus in Einzelteile zerschiessen kann.
Das passiert nicht jetzt, daß passiert nicht in 10 Jahren aber irgendwann wird
die Rechenleistung gut genug sein, daß eine Szene aus Millionen von einzelnen geometrischen Objekten besteht und spätestens dann ist Raytracing schneller als Rasterung.
Dann müssten aber auch erstmal die extremen Probleme mit dynamischer Geometrie und Raytracing gelöst sein.
Sonst ist Raytracing nämlich ganz schnell auch wieder O(n).
Falsch.
Irgendwann wird der Zeitpunkt kommen, in dem man ein Backsteinhaus auch wirklich aus einzelnen geometrischen Steinen zusammensetzt, weil
man nur so physikalisch korrekt das Haus in Einzelteile zerschiessen kann.
Das passiert nicht jetzt, daß passiert nicht in 10 Jahren aber irgendwann wird
die Rechenleistung gut genug sein, daß eine Szene aus Millionen von einzelnen geometrischen Objekten besteht und spätestens dann ist Raytracing schneller als Rasterung.Eine realistisch zerstörbare Welt setzt den Spieledesigner vor Problemen die in 10 oder 20 Jahren dieselben sind wie heute. Mit Geometry Instancing (SM3) und dem Geometry Shader (SM4) lassen sich viele Objekte auf einem Rasterizer ohne große CPU-Last rendern. Die Power von Rasterizern steigt weiterhin schneller als die CPU-Leistung.
Mit dem GS nicht... Dafür ist das Ding nicht gedacht.
Mit dem GS lassen sich Objekte besser verändern als im VS, so war das gedacht. Man kann ja Dreiecke hinzufügen oder wegwerfen im GS. Die CPU hat dann nicht mehr viel zu tun was das angeht. Der GS wird bei SM5 hoffentlich ein größeres Limit als 4096 haben.
PrefoX
2007-08-26, 14:19:41
Die Zukunft gehört ganz klar dem Realtime-Raytracing. Kein Shader-Irrsinn mehr, keine Polygon-Figuren und perfekte Implementierbarkeit von Physik.
Die Hardwareanforderungen sind gigantisch. Aber bereits jetzt stellt sich ja schon die Frage: Wohin mit der enormen Prozessorleistung - und diese wird zweifellos weiter steigen!
Die Zukunft "schreit" geradezu nach Realtime-Raytracing!!!
Wenn ich noch an meine ersten Raytracing-Erfahrungen denke ... das war in den frühen 90ern. Da heizte Maxon Cinema 4D meinem armen 68k mächtig ein. Für ein ansprechendes 640x512-Bild gingen da mitunter 12 Stunden drauf!!! *lol*
man liest sich, byekeine polygon figuren mehr? wtf?
willste die aus nurbs machen oder wie? das wäre unsinn...
auch bei CGI filmen werden immernoch polymodels verwendet.
Beim Raytracing ist die Polygonanzahl fast wurscht, weil der aufwand net viel steigt. doppelte anzahl an polygonen kostet vllt 10% mehr leistung und nicht mehr 100%
Ganon
2007-08-26, 14:20:16
Eine realistisch zerstörbare Welt setzt den Spieledesigner vor Problemen die in 10 oder 20 Jahren dieselben sind wie heute.
Es müssen ja nicht gleich ganze Wände sein, aber siehe z.B. Crysis. Man kann ja eine Menge kaputt machen, aber wenn man eine Rakete auf einen Baum oder Busch feuert, dann fällt dieser nur um oder fällt in ein paar Teile zusammen. Keine Splitter oder sonst etwas.
Gibt's eigentlich dort schon Schusslöcher in Blättern, etc.?
Das könnte man auch weiter spinnen mit Feuer, wo Objekte langsam abbrennen, etc. pp.
Er meinte eher das Problem, dass man sich selber den Weg kaputtschießt und nicht weiterkommt etc. pp.
Ganon
2007-08-26, 14:54:35
Er meinte eher das Problem, dass man sich selber den Weg kaputtschießt und nicht weiterkommt etc. pp.
Ja, das weiß ich, aber diese Dinge gehen ja noch nicht mal bei spielunwichtigen Elementen.
Das könnte man auch weiter spinnen mit Feuer, wo Objekte langsam abbrennen, etc. pp.
FarCry2 soll das angeblich können.
Fragman
2007-08-26, 14:58:48
wenn ich lese eine szene soll aus millionen von objekten bestehen frag ich mich wer all den content denn erstellen soll. wer soll denn all die steine in einen haus bauen, sie texturieren und dann zu einem haus zusammensetzen? bei solchen aussagen frag ich mich ob die leute auch nur ansatzweise wissen was das fuern haufen arbeit ist? hauswaende wird man nie aus einzelnen steinen aufbauen, voellig unnoetig. ne wand, eine colormap, dazu ne gute displacement map das wars. fuer die zerstoerung kann man noch zusaetzliche maps angeben wo die wand brechen soll und so weiter. wird man auch in 20 jahren nicht anders machen, es sei denn die tools zu contenterstellung aendern sich drastisch. waeren wir wieder beim prob das man nicht vorhersagen kann was in 20 jahren moeglich sein wird. ;)
Das geht auch automatisiert. "Zerlege im Modell diese Wand in Steine, die so-und-so-groß sind ... Klick ... Voransicht." Wenns das heute noch nicht gibt, dann in absehbarer Zukunft.
Oder "Erstelle mir (fraktal, mit Perlin-Noise, womit auch immer) drei Kirschbäume im Alter von 10 Jahren ... Klick ... Voransicht ... bissel modifzieren (Baumkrone größer machen, den Zerfressenheitsgrad der Rindeanpassen) ... Einfügen."
Das ist nicht das Problem. Das Problem bei zerstörbaren Welten ist, wie man den Spieler daran hindern will, sich einfach kurz den Weg freizuschießen anstatt den vorgesehenen Weg durchs Level zu nehmen. Bei Multiplayer-Spielen gibts auch das Problem, dass alle dasselbe sehen müssen. Da wären massenhaft Daten zu übertragen. Mit ein Grund, warum PhysX bei aktuellen Bandbreiten nur für optische Effekte oder Singleplayer-Modi interessant ist.
wenn ich lese eine szene soll aus millionen von objekten bestehen frag ich mich wer all den content denn erstellen soll. wer soll denn all die steine in einen haus bauen, sie texturieren und dann zu einem haus zusammensetzen?
Also das ist ja wohl das geringste Problem wenn man einzelne Legosteine hat aus der man ein Haus zusammenbauen kann, dann wird daß sogar sehr einfach.
In gewissern weiße kann man das sogar automatisieren.
D.h. der Designer gibt die Wand in groben zügen vor und ein Programm setzt die einzelnen Ziegelsteine Stück für Stück ein.
Texturen sind auch kein Problem, da man die nur einmal auf die einzelnen Grundbausteine legen muß.
hauswaende wird man nie aus einzelnen steinen aufbauen, voellig unnoetig. ne wand, eine colormap, dazu ne gute displacement map das wars. fuer die zerstoerung kann man noch zusaetzliche maps angeben wo die wand brechen soll und so weiter.
Das reicht nicht!
Stell dir mal eine offene Karte wie bei Battlefield vor.
Natürlich wäre es hier wünschenswert, daß man mit dem Panzer das Haus in Einzelteile zerschießen kann, wenn sich ein Soldat darin versteckt.
Zusätzliche Maps sind hier keine Lösung, da man das Haus von allen Seiten möglichst freizügig zerstören können soll.
Außerdem, wenn etwas technisch möglich ist, dann wird es auch gemacht.
Ein Spielehersteller wird es ausprobieren und wenn das Erfolg hat, dann rennen die anderen nach.
Ist bei heutigen Spielen ja auch so, kein Spiel braucht Figuren mit Polygonzahlen die größer als 3000 sind, das ist viel zu aufwendig und fürs Gameplayreichen 3000, aber inzwischen werden die trotzdem detaillierter gemacht, weil es möglich ist.
Das ist nicht das Problem. Das Problem bei zerstörbaren Welten ist, wie man den Spieler daran hindern will, sich einfach kurz den Weg freizuschießen anstatt den vorgesehenen Weg durchs Level zu nehmen.
Das gilt nur für lineare Single Player Spiele.
Bei offenen MP Spielen wie Battlefield wäre das so ziemlich egal.
Da hätte man dann in der Tat dann eher dieses Problem:
Bei Multiplayer-Spielen gibts auch das Problem, dass alle dasselbe sehen müssen. Da wären massenhaft Daten zu übertragen.
Nun, reicht es nicht, wenn man einfach die Schußbahn eines Geschosses überträgt und auf Zufallszahlen verzichtet?
Dann hätte ein ganz bestimmter Geschosseinschlag immer genau die gleichen Auswirkungen und man müßte nur noch die Flugbahn des Geschosses an die Mitspieler übermitteln.
rotalever
2007-08-26, 20:48:18
Nun, reicht es nicht, wenn man einfach die Schußbahn eines Geschosses überträgt und auf Zufallszahlen verzichtet?
Dann hätte ein ganz bestimmter Geschosseinschlag immer genau die gleichen Auswirkungen und man müßte nur noch die Flugbahn des Geschosses an die Mitspieler übermitteln.
Sicherlich, solche Optimierungen sind immer von Nöten, kein Mensch würde alle kleinen Partikel übertragen, und auch auf "Zufallszahlen" müsste man nicht verzichten, diese müssen eben nur Synchron generiert bzw. übermittelt werden.
Das Problem bei zu vielen Polygonen wird aber sein, dass man anspruchsvolle LOD-Systeme benötigt, wenn jedes Sandkörnchen ein kleines Objekt aus ein paar dreiecken ist. Sonst flimmert das ganze wie sonst was.
Das reicht nicht!
Stell dir mal eine offene Karte wie bei Battlefield vor.
Natürlich wäre es hier wünschenswert, daß man mit dem Panzer das Haus in Einzelteile zerschießen kann, wenn sich ein Soldat darin versteckt.
und wie wilst du verhindern dass der panzer das haus in einzelteile zerschießen kann, der soldat allerdings in einer lücke (die ja bei korrekter physikalischer berechnung durchaus entstehen kann) überlebt, aber nicht herauskann?
soll dieser dann das restliche spiel in seinem unbequemen hohlraum bleiben?
man könnte das dann so einrichten, das wenn er !teleport schreibt, er in der nähe des zerstörten gebäude irgendwo teleportiert wird. ist bei css genauso, aber ich finde das mit dem hohlraum zu weit her gegriffen.
/kill
gibt es doch in jedem Spiel. Ein Problem sehe ich da nicht, eher bei wänden wo "nichts" dahinter ist, da map-rand...
und wie wilst du verhindern dass der panzer das haus in einzelteile zerschießen kann, der soldat allerdings in einer lücke (die ja bei korrekter physikalischer berechnung durchaus entstehen kann) überlebt, aber nicht herauskann?
Ganz einfach, der Soldat verhungert, ein Frag für den Panzer. :D SCNR
soll dieser dann das restliche spiel in seinem unbequemen hohlraum bleiben?
Ja, oder er begeht Selbstmord durch zünden einer Granate und kann dann wieder neu Respawnen.
Macht man heute ja auch oft genug.
Z.B. in BF1942, man ist irgendwo auf dem Wasser und das Schiff geht unter. Nur die wengistens schwimmen da zurück.
PS:
Eigentlich ist es noch viel einfacher als das verhungern,
der Spieler erstickt einfach in dem Hohlraum. :D
Huhamamba
2007-08-28, 20:14:34
und wie wilst du verhindern dass der panzer das haus in einzelteile zerschießen kann, der soldat allerdings in einer lücke (die ja bei korrekter physikalischer berechnung durchaus entstehen kann) überlebt, aber nicht herauskann?
soll dieser dann das restliche spiel in seinem unbequemen hohlraum bleiben?
Berufsrisiko. :D
Aber mal ehrlich, wenn eine solche Zerstörungsorgie eines Tages Einzug in die Spielewelt erhält, wird sich früher oder später sicherlich jemand finden, der mit dem Panzer nochmal über die Ruinen drüberbrettert, um den Rest endgültig platt zu machen. Dann ist auch der eingeschlossene Soldat erlöst.^^ Für die Glaubwürdigkeit einer Szenerie wichtiger jedoch ist mir, dass einzelne Ziegelsteine nicht einfach nur aus der Mauer "herausgeschossen" werden können, sondern auch authentisch zerbröckeln. Denn einzelne Klötze einer Mauer raushämmern konnte man schon vor Jahren in diversen Physik-Techdemos von Havok oder Novodex (aka PhysX). Sah lustig aus, aber realistisch ist da was anderes. ;) Ich hoffe, der Geometry Shader kann mit seiner Polygongenerierung dabei aushelfen, solche "starren" Quader wie einen Ziegelstein dynamisch in Echteit und ohne vorgegebene Bruchstellen zerbröckeln lassen zu können... Der GS ist doch u.a. dafür gedacht, oder etwa nicht? Kenn mich da nicht so aus. :redface:
Ich hoffe, der Geometry Shader kann mit seiner Polygongenerierung dabei aushelfen, solche "starren" Quader wie einen Ziegelstein dynamisch in Echteit und ohne vorgegebene Bruchstellen zerbröckeln lassen zu können... Der GS ist doch u.a. dafür gedacht, oder etwa nicht? Kenn mich da nicht so aus. :redface:
Eher nicht leider. Zumindest nicht in seiner jetzigen Form.
So, what about photo-realism of these scenes? Unlike the general “3-5 years” answer you are hearing in the industry right now, he believes that this goal could be achieved by the end of the year. A ray-tracer is limited by the amount of local memory on your video card, so if you are able to get a Radeon 4850 or 4870 with 1 GB or even more of on-board memory, you have very capable hardware. JulesWorld’s LightStage technology can take wireframes consisting of an insane 32 million vectors to enable real world characters and their expressions. That means: Extra memory on your graphics card doesn’t hurt.
http://www.tgdaily.com/content/view/38145/135/
Na also... :biggrin:
Aquaschaf
2008-06-28, 02:36:34
Technically, there will be no need for artists wasting time on character design. Artists will be able to focus on the creation of virtual worlds with amazing details, creating a perfect transition between movie and gaming worlds.
Was für ein völliger Blödsinn.
http://www.tgdaily.com/content/view/38145/135/
Na also... :biggrin:
Wow, tolle Bilder, und das schon in Echtzeit gerendert :eek:
MadMax@
2008-06-28, 14:12:47
Nein, richtig.
Wenn es nämlich so einfach wäre, Spiegelungen an Objekten einzubauen,
dann würde man das bei jedem Fensterglas machen.
Bei Rastergrafik muß man einen Spiegel künstlich einbauen, d.h.
man macht im Prinzip ein zweites Renderfenster in ein bestehendes Renderfenster um z.B. auch die gespiegelte Rückseite in einem Auto
darzustellen oder man macht wie bei Doom 3 die Toilette größer und 1:1 identisch mit der eigenen Seite, dazwischen kommt dann noch ein Glas und
auf der anderen Seite sieht man dann noch die eigene Spielerfigur.
Das ist ein enormer Trick und er erlaubt nicht, daß sich kurz hinter dem Spiegel ein anderer Raum befindet, weil man hier ja den Raum für die gespiegelte Toilette benötigt.
Bei Raytracing aber fällt der Lichtstrahl einfach auf die Objekte hinter den Betrachter und stellt sie somit dar, das ist mit gratis gemeint.
Mit Gratis ist die Implementierung gemeint, nicht die Rechenleistung.
Tricks wie bei Doom 3 oder zweite Renderoberflächen in einer Renderoberfläche um einen Spiegel darzustellen brauchst du bei Raytracing einfach nicht.
Und wenn es bei Rasterisierung so einfach wäre, dann würde wie schon gesagt jedes Hochhaus mit verspiegelten Fenstern die Umgebung wiederspiegeln, aber das ist nicht der Fall, da es schlichtweg nicht geht.
Und Cube Environment Maps die nur so tun als würden sie etwas spiegeln
aber in wahrheit gar keine richtigen Spiegel sind kann man eh vergessen.
Echte Spiegelungen sind etwas anderes.
Nein ist es nicht.
Rasterisierung ist ein lokales Beleuchtungsmodel.
Lies einfach mal das Buch 3d Computergrafik von Alan Watt.
Weil du keine Ahnung hast.
Man kriegt bei Raytracing Schatten gratis, weil sie automatisch teil des
Verfahrens sind.
Bei Rasterisierenk muß man sie wieder künstlich nachahmen, wie man z.B. auch wieder gut an Doom 3 sehen kann.
Und auch hier spreche ich nicht von Rechenleistung, das hättest du eigentlich begreifen müssen!
Nein das ist kein Traum, das ist Fakt.
Ich liebe dieses Forum soviel Halbwissen wie hier gibt es selten (damit sind vorallem diese Oberschlauen Gast Postings gemeint).
Auch meiner Meinung ist das Buch von Alan Watt eines der besten allerdings glaube ich du hast es nicht verstanden, was sehr schade ist da du so leider nicht mitreden kannst.
PS:
Eins noch Rasterisierung ist weder ein globales noch ein lokales Beleuchtungs Modell sondern gar keins.
Chris Lux
2008-06-28, 16:43:27
Langfristig wird RT aber wohl das Mittel der Wahl werden und den klassischen Rasterizer ablösen, denn irgendwann werden RTer bei gleicher Auflösung weniger aufwändig und dadurch billiger sein als Rasterizer. In 20 Jahren sind dann Rasterizer wahrscheinlich kein Thema mehr.
das ist der bs, den uns intel gerade (wiedermal) weismachen will. die logarithmische abhängigkeit von der polygonanzahl ist mit ganz einfachen methoden auch bei rasterizer-engines zu erreichen. dabei sind diese dann sicher um einiges effizienter als es immer von ray tracern erzählt wird.
nicht immer alles fressen was von der fanatischen ray tracing community erzählt wird.
am schlimmsten finde ich ja diesen Daniel Pohl typen. dessen letztes video zu quake wars ray traced was dermaßen daneben. warum intel diesen typ immer noch als aushängeschild für ray tracing in spielen nutzt ist mir unklar. die aussage, dass sie 90fps mit primärstrahlen in 720p geschafft haben zeigt wie unsinnig das ganze ist. primärstrahlen, da sind noch nichtmal die schatten dabei. nimmt man die dazu sieht es nicht anders aus als das eigentliche quake wars aber performed unterirdisch. dann die sache mit der spiegelnden spinne. erstens kann ich mich auf dem weg zur arbeit auch nicht vor total verchromten monstern retten. zweitens, wenn mir dochmal eines über den weg läuft habe ich doch echte probleme zu erkennen ob die reflektion des düsenjets über uns in den beinen physikalisch korrekt ist. der mensch ist gut darin refklektionen zu erkennen, ABER er ist nicht gut darin diese immer nachzuvollziehen (unser gehirn macht da kein inverses ray tracing). aus diesem grund kommt man eben mit extrem vielen fakes weg und dynamischen cube mapping mit ein paar tricks ist eben nahe dran. für was anderes als korrekte reflektionen oder refraktionen würde ray tracing sowieso nie eingesetzt (industrie). die globalen effekte wie weiche schatten oder global illumination werden definitiv anders gelöst und meines erachtens sind solche verfahren auch bei beiden techniken nutzbar (rasterisierung und ray tracing).
florymonth
2008-07-01, 00:47:12
ich fände es extrem interessant einmal eine engine auf einem 700mio transistoren starken, voll auf raytracing ausgelegten chip zu sehen und diese mit einer herkömmlichen engine + g80/r600 zu vergleichen. das geht nur leider nicht :)
Das habe ich nichts gefunden,dafür aber folgendes.
Ein Vergleich mit einer Cpu und einem spezialisiertem Chip:
A working prototype of this hardware architecture has been developed based on FPGA technology. The ray tracing performance of the FPGA prototype running at 66 MHz is comparable to the OpenRT ray tracing performance of a Pentium 4 clocked at 2.6 GHz, despite the available memory bandwith to our RPU prototype is only about 350 MB/s.
http://graphics.cs.uni-sb.de/~woop/rpu/rpu.html
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.