PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RENDERING-TOOLS: Warum so lahm vs. Gameengines?


The Dude
2013-12-22, 04:18:05
Hallo Leute,
ich beschäftige mich seit 1,5 Jahren mehr oder weniger ausgiebig mit Cinema4d, hab viel Übungszeugs gemacht und auch schon hier und da ein paar kommerzielle Architekturrendering-Jobs erledigt. Ich bin kein 3D-Artist, mein Background ist die Architektur. Drum ist folgende Frage jetzt vielleicht auch dumm, aber ich stelle sie trotzdem:
Wenn ich ein Game auf meinem Rechner zocke, dann sehe ich z.B. bei TombRaider, MafiaII oder Skyrim eine grandiose Optik, mit Tonnen von Objekten und 3D-Vegetiation, Echtzeitschatten und mit vollem AntiAliasing auf FullHD und das ganze mit fünfzig bis hundert fps. Andererseits rendere ich mit Cinema4d auf dem gleichen Rechner eine kleine Architekturszene und selbst wenn ich aufwendige Dinge wie Flächenschatten, GI, mehrere Lichtquellen, matte Spiegelungen etc. weglasse, brauchts für ein Bild unfassbar viel länger.
Warum?
Weil ein Game mit einer sauteuren Gameengine rennt, welche auf die Grafikkarte zugeschnitten ist und ein Renderingtool ala c4d nur mit OpenGL auf dem CPU läuft?
Wie kann ich mir das ganze vorstellen?

Greez, the Dude

Gast
2013-12-22, 06:28:18
Wegen des Unterschieds zwischen Approximation und Exaktheit.

http://de.wikipedia.org/wiki/Raytracing#Computergrafik
Raytracing-Berechnungen gelten als sehr zeitintensiv. Raytracing wird daher vornehmlich bei der Erzeugung von Darstellungen eingesetzt, bei denen eher die Qualität als die Berechnungszeit im Vordergrund steht.

Das finale Rendering laeuft ausserdem rein auf der CPU, OpenGl etc wird nur zur beschleunigten Vorschau waehrend des Modellierens benutzt.

seba86
2013-12-22, 09:36:12
Wenn CAD wirklich nur auf die CPU läuft dann ist das doch Mist! Wobei es ja extra Quadro/FireGL Grakas gibt.

Eine GraKa hat 1000e von StreamPROZESSOREN. Das ist der Hauptgrund, warum es länger dauert.

Es sei denn jemand will mir erzählen, dass 2,3 Rechenformeln mit Pi, Sinus ect. wirklich um xfach länger dauern als die vereinfachten Formeln der Spiele, wo es nur auf das Gut Ausschauen ankommt.

urpils
2013-12-22, 10:15:20
Wenn CAD wirklich nur auf die CPU läuft dann ist das doch Mist! Wobei es ja extra Quadro/FireGL Grakas gibt.

Eine GraKa hat 1000e von StreamPROZESSOREN. Das ist der Hauptgrund, warum es länger dauert.

Es sei denn jemand will mir erzählen, dass 2,3 Rechenformeln mit Pi, Sinus ect. wirklich um xfach länger dauern als die vereinfachten Formeln der Spiele, wo es nur auf das Gut Ausschauen ankommt.

Raytracing lässt sich mit herkömmlichen Grafikkarten kaum in Hardware beschleunigt berechnen - auch prinzipbedingt ist der Rechenaufwand um ein Vielfachen größer, als beim Rastern. Einige Dinge können zwar z.B. mit OpenGL oder OpenCL auf die Grafikkarten ausgelagert werden, aber das letztendliche Berechnen des fertigen Bildes ist aufgrund der höheren Exaktheit und der darunterlegenden Mathematik mit jetziger Hardware einfach langsamer.

edit: übrigens: damit die Grafik von Spielen so schnell flutscht, wird in gewissen Grenzen und Bereichen vom Hersteller einiges an "Vorberechnungen" vorgenommen, die dann vom Spiele-PC nicht mehr ausgefüllt werden müssen. Spiele sind Ergebnis penibler Optimierungen - und die kann man eben nicht bei selbst erstellten architektonischen Szenen aus dem Hut zaubern ;)

Coda
2013-12-22, 10:57:31
Raytracing lässt sich mit herkömmlichen Grafikkarten kaum in Hardware beschleunigt berechnen
Nö. Gibt genügend GPU-Raytracer inzwischen und die sind auch flotter.

Sven77
2013-12-22, 11:06:20
Nö. Gibt genügend GPU-Raytracer inzwischen und die sind auch flotter.

Bringt nur nix solange man die entsprechenden Szenen nicht in den Vram bekommt, selbst 6GB der Titan sind da lachhaft. Für Previews reichen dann die 12GB der K6000 ;). Richtige Productionrenderer laufen weiterhin nur auf CPU..

Das ganze mit Gameengines zu vergleichen ist doch eher ein Witz, mit aktuellen Renderern die Bruteforce-GI betreiben generiert man Bilder die du nie im Leben mit einer Realtimeengine hinbekommst in der 99% alles Fake ist. Das was man heute zockt hätte nicht mal vor 5 Jahren dem Qualitätsanspruch standgehalten.. Allein der Polycount in Spielen ist ja immer noch fast Steinzeit verglichen mit dem was man in Filmen hat.

seba86
2013-12-22, 13:05:38
Letzten endlich kommt es auf das Endergebnis an und da ist es meist egal wie und ob es ein Fake ist! Beispiele:

- Intel Quadcore vs NATIVEN AMD Quadcore: Ersterer.war nicht nativ, aber schneller und stromsparender
- Android kann kein "echtes" Multitasking - es fühlt sich aber so an. Abgesehen davon, dass das echte Multitasking auch nur emuliert ist

Sven77
2013-12-22, 13:22:22
Man sieht aber den Fake ;) RT-Engines haben immer das Nachsehen, selbst wenn der Content der gleiche wäre...

The Dude
2013-12-22, 20:22:21
Sven,
mir geht es auch nicht um einen Vergleich zwischen Games und hochwertigen Animations-Filmen. Hast wahrscheinlich nicht gelesen, aber ich habe geschrieben: kleine Architekturszene.

Danke an die anderen. Sprich: Ne Gameengine macht kein Raytracing, sondern sonst irgendwas, was schneller verarbeitet werden kann. Schade, dass man in einem Prog wie z.B. Cinema nicht auch so ne Art Game-Engine hat. Dann könnte man vorm Rendern dem Kunden in Echtzeit seine Hütte zeigen. Eine Gameähnliche Optik würde mehr als genug reichen (wir reden hier von kleinen Kunden).

Sven77
2013-12-22, 20:46:41
Zumindest Max bringt das eigentlich mit (Nitrous), auch ein integrierter GPU-Renderer (iRay)

Ric
2013-12-22, 21:42:21
Dann könnte man vorm Rendern dem Kunden in Echtzeit seine Hütte zeigen.

Keine Ahnung was du nutzt, aber selbst Pordukte von Arcon um das Jahr 2000 haben einen D3D basierenden Echtzeit-Rasterer-Renderer, neben dem Raytracer. Entweder ist dein Produkt scheisse, es entspricht nicht deinen Anforderungen oder du hast die Funktion nicht gefunden.

The Dude
2013-12-22, 23:41:40
Keine Ahnung was du nutzt, aber selbst Pordukte von Arcon um das Jahr 2000 haben einen D3D basierenden Echtzeit-Rasterer-Renderer, neben dem Raytracer. Entweder ist dein Produkt scheisse, es entspricht nicht deinen Anforderungen oder du hast die Funktion nicht gefunden.

Cinema kann jedenfalls nur über OpenGL. Zumindest in der nackten, höchsten Version.

Zumindest Max bringt das eigentlich mit (Nitrous), auch ein integrierter GPU-Renderer (iRay)

Ich hätte mich vor eineinhalb Jahren besser für Max entscheiden sollen. Vielleicht sattle ich demnächst noch um.

PrefoX
2013-12-23, 00:39:29
Cinema4d ist auch schrott und wird auch nur in deutschland benutzt. Guck dir mal eher 3DSMax oder Maya an. Maya hat wohl die besten engine mit abstand. Der Viewport ist der Hammer + GPU Rendering gibts glaub ich auch. Kenn mich da aber auch nur mit 3DSMax aus.

Du hättest dich am besten für Maya entscheiden sollen, wenn du nochmal eins lernen willst, dann Maya, ich kann leider nicht mehr umsteigen, bin schon zu tief in 3dsmax drin :D

Sven77
2013-12-23, 00:47:51
Maya hat seine Stärken wo ganz anders, für das was der Dude macht ist 3dsmax,C4D oder Modo (Tip) schon sehr gut..

The Dude
2013-12-23, 01:01:09
Sven, könntest Du mir ganz grob was Schreiben zu den Unterschieden Maya/3DSMax bzw. warum Du der Meinung bist, das Max sich für Architekturzeugs eher eignen würde?

Im Grunde bin ich mit Cinema zufrieden (PrefoX: Warum Schrott?), aber natürlich kenne ich nichts anderes. Ist so ähnlich wie der typische Konsolen vs. Konsolen bzw. vs PC-Krieg haha. Man muss sich schon in mehreren Welten bewegt haben, bevor man sich ein richtiges Urteil über eine Sache bilden kann, find ich zumindest.

Gast
2013-12-23, 08:56:40
Cinema4d ist auch schrott und wird auch nur in deutschland benutzt.
Genau und auch nur 25km rund ums Hauptquartier. Du als Profi, dessen Expertise weltweit gefragt ist, hast natürlich den Oberdurchblick.

(PrefoX: Warum Schrott?)....

... Man muss sich schon in mehreren Welten bewegt haben, bevor man sich ein richtiges Urteil über eine Sache bilden kann, find ich zumindest.
Eben. Der Herr ist Anfänger, ohne entsprechende Berufserfahrung.

The Dude
2013-12-24, 16:53:40
Wäre cool, wenn man sachlich bleiben könnte.
Drum nochmal die Frage an PrefoX: Warum Schrott? Was ist bei 3DS besser? Kannst Du Beispiele nennen?

TimeOut
2013-12-27, 20:22:54
Max wird eher im Architekturbereich benutzt, Cinema 4D eher im Bereich Motion Design.
Ich hab in letzter Zeit sehr viele Stellenangebote im Bereich der Architekturvisualisierung gesehen. 90% davon arbeiteten mit 3ds Max.

RLZ
2013-12-28, 12:42:58
Falls dich die Rendergeschwindigkeit in Cinema4D stört, teste doch mal einen anderen Renderer wie zum Beispiel Octane.

Max wird eher im Architekturbereich benutzt, Cinema 4D eher im Bereich Motion Design.
Ich hab in letzter Zeit sehr viele Stellenangebote im Bereich der Architekturvisualisierung gesehen. 90% davon arbeiteten mit 3ds Max.
Im Architekturbereich kommen sehr viele Rohdaten aus Revit. Im Autodesk Ökosystem zu bleiben, erleichtert einem doch enorm die Arbeit.

Geldmann3
2013-12-28, 13:58:07
Ich schätze in Zukunft, geht es in die Richtung, dass man eine Realtime Vorschau hat, die halbwegs flüssig läuft und eine Vorschau zeigt, die zu 99% mit dem Resultat übereinstimmt. Dann später beim Rendern wird das Ganze noch mal ordentlich berechnet, sieht minimal, also kaum erkennbar besser aus, kostet aber die 100 fache Rechenzeit. Die Cryengine kann in Echtzeit vieles schon richtig hübsch darstellen, ordentlich gerendert sieht es aber noch einen Tick besser aus. In der finalen Version hat man dann beispielsweise aufwändig per Raytraycing berechnetes Licht statt 4xSSAA, 16xSSAA sowie eine viel höhere Auflösung und solche Spielchen die das letzte Quäntchen rausholen.

In ferner Zukunft, sehe ich schon kommen, dass interaktive Filme wirklich in Echtzeit auf den Geräten zuhause gerendert werden und man sich dann mit der VR Brille frei in der Szenerie umsehen kann. In 10-20 Jahren könnte sowas Einzug in die Wohnzimmer halten. Wenn man dann einen besseren Player hat, verbessert sich auch zugleich die Qualität des Filmes durch höhere Auflösungen bei gleicher Framerate etc.

Mcckl
2013-12-29, 11:26:49
Renderingtool ala c4d nur mit OpenGL auf dem CPU läuft?

Zuerst mal: OpenGL ist eine Schnittstelle für GPUs, die AUCH auf CPUs in einer Art Legacy Mode angezeigt werden kann. Kenn ich von 3ds Max, das rechnet den Viewport sicher auf der GPU. Und das ist trotzdem langsam - im Viewport und natürlich beim Rendering. Und den viewport rastert c4d mit OpenGL auch auf einer GPU, weil es sonst OpenGL nie gebraucht hätte.

Das Rendering war klassischerweise eine Rasterung auf der CPU. RayTracing hat sich eher als Zusatzoption entwickelt. Und auch die Rasterung mit dem Renderer war schon langsam - und langsamer als eine CPU-Rasterung in der Game Engine. Rasterer sind etwas besser mit viel Schummeln, RayTracer sind ordentlicher. In der Performanz sind sie aber garnicht soweit voneinander entfernt, maximal eine Potenz würd ich sagen. Aber: Alle Renderer sind ziemlich langsam, weil sie auf Qualität abgestimmt sind.

Selbst wenn du eine beliebige Szene in einer Game-Engine importierst, sieht´s mit Standard-Einstellungen Scheiße aus und ruckelt.

Da spielt man sich zuerst mal mit Geometrie- und DrawCall-Optimierung, dann mit LOD-Stufen. Das braucht schon mal einiges an Know-How von der 3d Schnittstelle und der Arbeitsweise von Grafikkarten.

Wenn die Szene mal schön ordentlich dasteht, sollte man mal den Schatten und den Visibility Graph vorberechnen lassen. Das dauert dann schon mal ein paar Stündchen bei guter Qualität.

So ähnliche Optimierungen gibt´s auch in jeder ordentlichen 3d Software - c4d zähl ich dazu - und die sind auch ganz wichtig für hochqualitative Videoproduktionen. Architektursoftware macht solche Optimierungen oft automatisch, braucht aber auch seine Zeit dafür....

Du kannst die Szene ja mal mit Unity3d oder UDK importieren und probieren, wie´s dort läuft. Natürlich ist das schneller als das 3d Tool - mittlerweile, denn bevor diese Produkte rauskamen, waren die billigen GameEngines auch noch extrem unperformant.

Keine Ahnung was du nutzt, aber selbst Pordukte von Arcon um das Jahr 2000 haben einen D3D basierenden Echtzeit-Rasterer-Renderer, neben dem Raytracer. Entweder ist dein Produkt scheisse, es entspricht nicht deinen Anforderungen oder du hast die Funktion nicht gefunden.

Ich würd lieber bei einer Ordentlichen 3d Software bleiben und für´s Preview eine Gratis-GameEngine heranziehen. Export und Reimport sollten nicht allzu aufwendig sein.

Wenn du eine qualitative Vorschau willst, versuch die Beleuchtung in die Textur zu baken. Dann hast du eine Vorschau im Viewport. Wird aber länger dauern als ein paar einfache Renderings...

Sven77
2013-12-29, 12:05:08
Sven, könntest Du mir ganz grob was Schreiben zu den Unterschieden Maya/3DSMax bzw. warum Du der Meinung bist, das Max sich für Architekturzeugs eher eignen würde?

Maya hat seine Stärken im Animationsbereich und vor allem in der offenen Architektur des Programms was es vor allem für mittlere bis größere Firmen interessant um Pipelines aufzubauen. Auf den ersten Blick sieht unser Maya eigentlich normal aus, aber die Hälfte der Tools die wir benutzen sind Inhouse entstanden.
Max bietet sehr viele Tools für technisches Modeling an, da schaut man bei Maya ziemlich in die Röhre. Zudem war es lange Zeit das einzige Programm für das es V-Ray gab, entsprechend gibt es für Max eine dicke Library mit Props/Assets/Shadern die perfekt für Archviz sind.

Im Grunde bin ich mit Cinema zufrieden (PrefoX: Warum Schrott?), aber natürlich kenne ich nichts anderes.

Du kannst damit auch zufrieden sein, es ist ein sehr gutes Programm. Maxon hat sich wirklich gemausert und unsere Automotive-Abteilung ist komplett auf C4D umgestiegen wegen V-Ray und der sehr guten After Effects Anbindung.

Die 3D Programme sind heutzutage fast alle ebenbürtig, nur bei der Etablierung von Produktionsabläufen gibt es erhebliche Unterschiede. Als Einzeluser bleibt man am besten bei dem mit dem man am besten zurecht kommt... bei mir ist das Softimage, meiner Meinung nach gibts nichts besseres ;)

Jules
2013-12-29, 21:16:56
Clarisse iFX (http://www.youtube.com/watch?v=op-Dw1Ai91I) :)

Ist aber eher OT. Der Trend jedoch geht in die richtige Richtung. Wenn man 5-10 Jahre zurückblickt, waren wir nicht mal in den Kinderschuhen, gegenüber der heutigen Entwicklung.

So wie du es dir vorstellst, würde ich an deiner Stelle einfach in C4d modellieren und etwas Unity3d aneignen. Viel braucht man nicht um da rein zukommen und finanzierbar ist es auch, wenn man seine Brötchen eh damit verdient?!


mfg|jules

The Dude
2013-12-30, 18:41:16
Danke Leute für eure Postings!
Ich bleibe jetzt erst mal bei C4d. Vray steht noch aus, werd ich mir demnächst mal anschaffen. Und dann schau ich mir tatsächlich mal die Unity-Engine an.
Thx! Greezz Dude