3D Rendering <-> Spiel Engine
John
- multimedia (audio & video)
0 Matze0 John
0 Daniel Thoma0 John
0 Marc Reichelt
Hallo zusammen,
ich frage mich schon seit geraumer Zeit wie es sein kann, dass ein einfaches, spärlich texturiertes 3D Bild mit gängigen 3D Programmen viel mehr Zeit zum rendern benötigt als z.B. eine Spiel Engine wie die Unreal 2 / 3 Engine.
Eine solche Engine muss das Bild in einer Sekunde (!) mehrmals erstellen, und schafft es flüssig und in atemberaubender Qualität. Nur ein einziger Ausschnitt aus z.B. Unreal Tournament 3 mit einem eigenen 3D Programm rendern zu lassen würde mehrere Stunden bis Tage dauern.
Verstehe das nicht ganz! :D :D Vielleicht kann mich jemand aufklären.
Mit freundlichen Grüßen,
John
Hallo,
du bringst da etwas durcheinander.
Du vergleichst das Rendern des Bildes mit dem flüssigen Spiel.
Das geht aber nicht. Wenn überhaupt müsstest du die Zeit des Renderns einer Map mit dem Rendern eines Bildes vergleichen.
Oder andersrum, die Zeit vom Klick bis zum Anzeigen des Bildes contra die FPS im Spiel.
Während du das Spiel spielst wird nichts gerendert.
Meine Mapping-Zeiten für COD² liegen schon etwas länger zurück, aber bei größeren Karten konnte das Rendern auch schonmal ein paar Stunden dauern. Bei einem einzelnen Bild kann ich das allerdings nicht nachvollziehen.
Welche Programme benutzt du denn - ausser UT?
Mit was hast du also verglichen?
Grüße, Matze
Danke für die Antworten schonmal! :)
Also in meinem Fall benutze ich SketchUp von Google für die 3D Erstellung und importiere das Modell dann in Kerkythea Rendering System um es zu rendern und mit Lichteffekten auszustatten. Ist nicht viel, aber ich habe auch nicht so hohe Ansprüche.
Was ich verglichen habe bzw. was mich stutzig macht ist halt, dass ein einzelner Ausschnitt aus einem Spiel wie UT(3) meist sehr gut aussieht, obwohl "kaum" Zeit für die Berechnung verstreicht. Selbst ein Bild mit 800x600 Px Auflösung und nur einer einzigen Lichtquelle dauert länger und sieht dann auch noch mies aus. ^^
Vor allem Lichteffekte gehen der Grafikkarte spielend von der Hand, während bei jeder einfachen Lichtquelle in meinem Modell hart gekämpft wird.
Nebenbei: Gibt es keine Möglichkeit, die GPU der Grafikkarte mit einzubeziehen?
Danke nochmal für eure Zeit, interessiert mich nämlich sehr das Thema. :)
MfG,
John
Hallo John,
ich frage mich schon seit geraumer Zeit wie es sein kann, dass ein einfaches, spärlich texturiertes 3D Bild mit gängigen 3D Programmen viel mehr Zeit zum rendern benötigt als z.B. eine Spiel Engine wie die Unreal 2 / 3 Engine.
Was sind für Dich "gängige 3D-Programme"?
Generell ist die Qualität beim Rendern wesentlich besser, als das, was Spiele bieten und es kommen auch andere Verfahren zum Einsatz. Fürs Rendern kann man sehr realistische Verfahren wie Raytracing verwenden, die für Echtzeitgrafik (noch) zu aufwendig sind und von herkömmlicher 3D-Hardware nicht, oder nicht gleichermaßen profitieren.
Bei Echzeitgrafik hat man hingegen eine Render-Pipeline, die Vektordaten über diverse Zwischenschritte (Transformation, Clipping, Texturieren usw) rastert ohne eine physikalisch (relativ) exakte Simmulation durchzuführen.
Vermutlich kann es sogar sein, dass ein solches, im Prinzip für realistischere Grafik geeignetes Verfahren, auf einem normalen Rechner keine besseren Ergebnisse erreicht als durchschnittliche Spielegrafik. Bei Spielen wird ja sicher auch viel getan, um durch Texturen u.ä. über die Schwächen der Technik hinwegzutäuschen.
Grüße
Daniel
Nun ja, die bessere Qualität der Rendering Systeme kommt ja vor allem Profis zu Gute. Mir als Durchschnitts-3D-Hobby-Bastler ( :D ) würde die Qualität der Spielgrafik schon mehr als reichen, da sie in meinen Verhältnissen immer besser aussieht.
Gibt es ein Programm, welches die von dir genannten Verfahren der Echtzeitgrafik verwendet, statt die realistische, qualtitativ hochwertigere Rendering Technik? ^^
MfG,
John
Hallo John,
Eine solche Engine muss das Bild in einer Sekunde (!) mehrmals erstellen, und schafft es flüssig und in atemberaubender Qualität. Nur ein einziger Ausschnitt aus z.B. Unreal Tournament 3 mit einem eigenen 3D Programm rendern zu lassen würde mehrere Stunden bis Tage dauern.
Das mag momentan noch so sein - könnte sich aber in Zukunft schnell ändern.
Denn Studienarbeiten aus Erlangen und Saarland zufolge steigt der Rechenaufwand bei der Rastermethode mit dem Detailgrad linear an, während der Aufwand bei der Raytracing-Methode logarithmisch wachsen soll.
Beim aktuellen Detailgrad ist die Raytracing-Methode langsamer, aber das kann sich bald ändern.
Gelesen habe ich die Neuigkeit bei Heise:
Intel entwickelt Raytracing-Engine für Computerspiele
Ebenso interessant ist die dazugehörige Bilderstrecke.
Man darf gespannt sein, ob sich die Engine so gut behauptet wie vorausgesagt - denn wenn ja, könnte es einen recht schnellen Umschwung auf die Raytracing-Methode geben.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Lieber Marc,
Gelesen habe ich die Neuigkeit bei Heise:
Intel entwickelt Raytracing-Engine für Computerspiele
Verdammt cool! Aber auch ein Bisschen happig, oder? (Zitat: "... Raytracing-Engine vor, die auf einem PC mit zwei Quad-Core-Prozessoren mit 127 Frames pro Sekunde in Echtzeit lief.")
Ebenso interessant ist die dazugehörige Bilderstrecke.
Das sieht dermaßen vielversprechend aus!
Man darf gespannt sein, ob sich die Engine so gut behauptet wie vorausgesagt - denn wenn ja, könnte es einen recht schnellen Umschwung auf die Raytracing-Methode geben.
Naja, die aktuellen GPUs nützen ja dann wohl ziemlich wenig, da sie für diese Art Berechnungen nicht konzipiert wurden. Wenn ich den Artikel richtig verstanden habe, braucht es für diese Engine eine Prozessor-Architektur, wie sie in CPUs vorhanden ist. GPUs sind ja wesentlich simpler aufgebaut, um "flächendeckend" relativ simple Berechnungen zu leisten. Daher lässt sich ja auch eine Grafikkarte relativ simpel erweitern, indem man einfach ein paar weitere GPU-Kerne einbaut, ihnen ihren Speicher hinzufügt und fertig ist der Nachfolger einer "GraKa". Man muss halt nur die Produktionskosten irgendwie in den Griff bekommen, aber meines Wissens ist das wirklich alles. Keine Ahnung inwieweit diese "Shader"-Einheiten damit jetzt auch was zu tun haben...
Diese auf Raytracing basierende Engine würde dann ja wieder Multicore-CPUs in mehrfacher Ausführung auf einem Rechner benötigen, um diese Leistungsreserven zu bieten. Ob das auf absehbare Zeit überhaupt finanzierbare Hardware-Anforderungen sind? Da möchte ich Deiner Prognose widersprechen und behaupte, dass die gegenwärtigen Grafik-Engines und ihre Hardwareunterstützung durch GPUs noch eine ganze Weile bestehen bleiben werden, denn immerhin ist ein System mit zwei Quad-Core-CPUs doch relativ unerschwinglich für den "gamenden Teenie"... selbst im Jahre 2009 wird das bestimmt noch so sein!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix,
Verdammt cool! Aber auch ein Bisschen happig, oder? (Zitat: "... Raytracing-Engine vor, die auf einem PC mit zwei Quad-Core-Prozessoren mit 127 Frames pro Sekunde in Echtzeit lief.")
Ja, aber immerhin: Einen Prototyp gibt es. Und da (dank Moore ;) die Prozessoren immer schneller und normalerweise auch günstiger werden, wird es vermutlich nicht mehr allzulange dauern, bis diese Methode das Labor verlässt.
Man darf gespannt sein, ob sich die Engine so gut behauptet wie vorausgesagt - denn wenn ja, könnte es einen recht schnellen Umschwung auf die Raytracing-Methode geben.
Naja, die aktuellen GPUs nützen ja dann wohl ziemlich wenig, da sie für diese Art Berechnungen nicht konzipiert wurden. Wenn ich den Artikel richtig verstanden habe, braucht es für diese Engine eine Prozessor-Architektur, wie sie in CPUs vorhanden ist.
Ich meine mit dem Umschwung auch den Hardware-Umschwung - sodass es in einigen Jahren neue Grafikkarten mit der Raytracing-Engine geben kann.
Vielleicht wird auf die Dauer hin betrachtet sogar die normale CPU des Rechners für Grafikzwecke genutzt, wenn die CPUs schnell genug sind.
In der ersten Zeit wird es vermutlich eher Grafikkarten mit GPUs und CPUs geben, um Rückwärtskompatibilität zu wahren.
Diese auf Raytracing basierende Engine würde dann ja wieder Multicore-CPUs in mehrfacher Ausführung auf einem Rechner benötigen, um diese Leistungsreserven zu bieten. Ob das auf absehbare Zeit überhaupt finanzierbare Hardware-Anforderungen sind? Da möchte ich Deiner Prognose widersprechen und behaupte, dass die gegenwärtigen Grafik-Engines und ihre Hardwareunterstützung durch GPUs noch eine ganze Weile bestehen bleiben werden, denn immerhin ist ein System mit zwei Quad-Core-CPUs doch relativ unerschwinglich für den "gamenden Teenie"... selbst im Jahre 2009 wird das bestimmt noch so sein!
Sicher. Ich glaube auch nicht, dass sich die Methode so schnell durchsetzen wird. Die breite Marktumsetzung könnte erst in zehn Jahren folgen.
Aber die Resultate sind heute bereits beeindruckend.
Grüße
Marc Reichelt || http://www.marcreichelt.de/