Quake3: Raytraced



  • ich hab mal bei Google gefragt.

    Dabei kam dies raus:

    Was ist: Raytracing

    Dieses Verfahren nutzt imaginäre Lichtquellen, eine simulierte Kamera und im 3-D-Modeller erstellte Objekte. Es beachtet durch das Zurückverfolgen von Lichtstrahlen eine Vielzahl physikalischer und optischer Gesetze, um eine möglichst realitätsnahe Abbildung der Objekte im virtuellen Raum zu erreichen.



  • otze schrieb:

    problem ist halt, dass raytracing noch so lahm ist, dass es ohne die ganzen coolen raytracemöglichkeiten und einige grafische features auskommen muss

    stimmt, aber für einen fairen vergleich bauen wir jetzt erstmal alle unsere €500+ geföhn/radab aus, stecken eine steinzeit karte ohne jede 3d-beschleunigung rein und dann schauen wir mal, wie groß der unterschied noch ausfällt, wenn beides in software läuft (ich behaupte jetzt mal, daß doom3 in software ähnlich runtergedreht werden müßte und ähnlich lahm wäre).

    ich sehe da eher das problem, daß nvidia und ati ihre "altmodischen" karten erstmal soweit melken, wie es irgendwie geht, bevor die im traum daran denken auf raytracing umzuschwenken. ergo müßte jede raytracing-"karte" von dritten erstmal KEINE grafikkarte sein (wer baut schon freiwillig die dicke karte aus, mit der man endlich doom 5 zocken konnte?). letztlich müßte es also wie die ersten 3dfx karten zusätzlich eingebaut werden können und hat dann schonmal nicht den luxus der abartigen geschwindigkeit von agp oder den schnellen pci express slots für die graka.

    wo liegt der unterschied beim raytracing zur Polygongrafik bzw. was passiert beim raytracing?

    ganz einfach erklärt? niemand hindert dich polygone beim raytracing zu benutzen. nur bisher läuft es eben so ab, daß man der karte eine tonne dreiecke hinwirft und die werden alle brav auf pixel "abgebildet". dann brauchts einen z-buffer, damit auch wirklich die richtigen dreiecke vorne landen und nicht von welchen im hintergrund übermalt werden (große sichtweite? na hoffentlich reichen da 24bit noch aus oder man kann die near plane schön weit weg setzen).

    kurz: man hat letztlich mehr aufwand (und muß bei transparenz u.u. noch von hand sortieren). unterm strich war der letzte mit bekannte wert ein overdraw von 2.5, sprich, im schnitt wird dadurch jedes pixel zweimal gesetzt (inkl. potentiell aufwändiger shader, exkl. z-tests)

    raytracing schießt einen strahl durch jedes pixel und überprüft, wo der am ende aufschlägt. beim raycasting scheint man der stelle fertig zu sein (wolfenstein und co., noch dazu einfach zu optimieren, weil alles rechtwinklig war). beim raycasting wird jetzt a) überprüft ob eine linie zu den lichtquellen gezogen werden kann (ergibt automatisch schatten oder z.b. durch buntes glas färbungen) b) je nach oberflächenart wird ein neuer strahl reflektiert (spiegelung) und gebrochen (transparenz) und c) je nach textur/shader/sonstwas schonmal die farbe berechnet.

    der trick ist vor allem, daß diese schnittberechnungen so schnell wie möglich ablaufen, die szene also möglichst effizienz gespeichert ist. bei 1024x768 und im schnitt 5 strahlen pro pixel hat man immerhin gleichmal knappe 4mio schnitte zu finden, da will man nicht sinnfrei jedes einzelne polygon testen müssen. wenn dann noch aa dazukommt und man evtl. schon 4-16 strahlen von jedem pixel losschickt und in einem dummen fall hunderte tests hat...

    an der stelle wird eben interessant, daß man beim rt jedes pixel für sich und komplett unabhängig vom rest berechnen kann. spezielle hardware, die auf schnittpunkt berechnung optimiert ist und am besten kräftig parallel arbeitet könnte einen extremen unterschied machen.

    aber überzeug mal die "großen" hersteller, daß sie ihre vollgestopften rasterisierungs-monster, heizöfen und laubgebläse einfach so wegwerfen und was neues versuchen (was ja noch dazu nicht kompatibel zu den ganzen alten spielen wäre).



  • Ich weiß gar nicht was ihr an RayTracing so findet...

    Raygetracte Schatten sehen doch scheiße aus - und sind alles andere als realistisch!!
    Hyper-künstlich trifft es wohl eher... 🙄



  • kingruedi schrieb:

    @energyzer
    weisst du überhaupt wovon du sprichst? Mit RayTracing hätten dann Computer Spiele die Grafik, die du in heutigen Filmeffekten siehst und die sind noch um einiges besser als das was Unreal oä. in den nächsten 10 Jahren bieten wird.

    Auch so "Sinnlose" Features wie realistisch spiegelnde Augenhornhaut ist damit möglich. In so einem Detailgrad, wie Unreal2004 noch nicht einmal normale Flächen spiegeln lässt.

    weisst du überhaupt wovon du sprichst? Raytracing ist doch kein fertiges Game
    sondern ist ein Teil eines Gesamtkonzeptes. Was bringt einem das
    schönste Raytracing, wenn die Level schlecht designt sind? Auch weiterhin
    werden die Spielprogrammierer sich intensiv damit beschäftigen müssen, wie sie
    die 3D-Karte mit möglichst wenig Daten / Frame füttern. Mag sein, dass Licht
    und Schatten den Realismus eines Games deutlich beeinflussen aber eine hoch
    detailierte Levelwelt ist mir genauso wichtig wenn nicht sogar wichtiger. Und
    dort wird man auch weiterhin kräftig an den Algorithmen forschen müssen.

    Also kann ich doch behaupten: Epic hat das beste Gesamtkonzept und
    hat es auch ohne Raytracing geschafft überzeugende Licht/Schatten Effekte zu
    bieten. Wie heißt es so schön: Das Ergebnis zählt.

    Und was hat der Student geschafft? Er hat mit einer Rechenanlage, die wir
    selbst in zehn Jahren nicht zu Hause haben werden, Quake mit Licht/Schatten
    gezeigt - Super. Einen Fortschritt sehe ich da nicht.

    Und Sgt. Nukem sagt es schon richtig: Raytracing-Schatten sehen nicht gerade
    überzeugend aus - Wenn ich da hingegen die UE3 Schatten sehe...

    Bevor Klagen kommen: Mit Licht/Schatten meine ich generell auch Spiegelungs-
    effekte, etc.



  • kingruedi schrieb:

    @energyzer
    weisst du überhaupt wovon du sprichst? Mit RayTracing hätten dann Computer Spiele die Grafik, die du in heutigen Filmeffekten siehst und die sind noch um einiges besser als das was Unreal oä. in den nächsten 10 Jahren bieten wird.

    Auch so "Sinnlose" Features wie realistisch spiegelnde Augenhornhaut ist damit möglich. In so einem Detailgrad, wie Unreal2004 noch nicht einmal normale Flächen spiegeln lässt.

    Natürlich sehe ich ein, das gewisse beeindruckende Features umgesetzt werden können. Aber ich sehe den Sinn darin nicht. WOZU brauche ich in Q3 zwei sich rekursiv Spiegelnde Kugeln, oder mir in der nächsten Schattigen ecke eine semitransparente, den Hintergrund verzerrende Red Armor holen kann, oder die Raketen Schatten abgeben? Kann man in schöner Qualität auch in Standard umsetzen. Wer schon von Bildern träumt wie mit Terragen, oder Ork-Armeen wie in Her der Ringe, der kann sich das IMHO gleich abschminken weil _sowas_ noch lange nicht möglich sein wird (flüssig). Wir können glücklich sein wenn wir bei megapixeligen Szenen einfache Geometrische Körper bewundern können, die ein paar Schatten hin und her werfen die wegen des Pixelbreis schlechter aussehen als Standard-Schatten. Zurück in die Steinzeit der großen Pixel? Ich mach das nicht mit. Und Komplexe Szenen wie heute wird man auch nicht darstellen können.

    So Laienhaft würde ich auch sagen, das evtl. durchaus noch beeindruckende Techniken mit den heutigen Renderern realisirbar sind. Hab zwar keine Ahnung, was da auf uns Zukommen wird, aber ich schätze das mal so ein.

    Ich halte Raytracing definitiv für extrem interessant und sehr schön, aber den Aufruhr um die flüssige Darstellung (seit dem Gamestar-Artikel) ist es einfach nicht wert.



  • EnERgYzEr schrieb:

    weisst du überhaupt wovon du sprichst? Raytracing ist doch kein fertiges Game
    sondern ist ein Teil eines Gesamtkonzeptes. Was bringt einem das
    schönste Raytracing, wenn die Level schlecht designt sind? Auch weiterhin
    werden die Spielprogrammierer sich intensiv damit beschäftigen müssen, wie sie
    die 3D-Karte mit möglichst wenig Daten / Frame füttern. Mag sein, dass Licht
    und Schatten den Realismus eines Games deutlich beeinflussen aber eine hoch
    detailierte Levelwelt ist mir genauso wichtig wenn nicht sogar wichtiger. Und
    dort wird man auch weiterhin kräftig an den Algorithmen forschen müssen.

    Also kann ich doch behaupten: Epic hat das beste Gesamtkonzept und
    hat es auch ohne Raytracing geschafft überzeugende Licht/Schatten Effekte zu
    bieten. Wie heißt es so schön: Das Ergebnis zählt.

    wuff, wuff?!? du redest am Brei vorbei 😉

    Es geht hier um eine neue Technik im 3D-Bereich. Niemand bestreitet dass allein ein (Technik)-Feature kein Spiel perfekt macht.... denn genau darum geht's hier: UM EINE TECHNIK!!! Nicht mehr und nicht weniger. Es ist klar dass eine Technik (namentlich, Raytracing) nicht mit einer Engine (namentlich, die neue Unreal-Engine) mithalten kann, weil eine Technik nur ein _TEIL_ einer Engine sein kann (das waer dann wieder mal das Apfel-mit-Birnen-Vergleichen Konzept).

    Stell dir doch mal vor, wie gut das Ganze aussehen koennte, wenn da ein fluessiges Raytracing (rein hypotethisch) drinn waer! Das wuerd die Engine sicher nicht verschlechtern, sondern verbessern 😉

    Du sprichst von Atmosphaere

    Und was hat der Student geschafft? Er hat mit einer Rechenanlage, die wir
    selbst in zehn Jahren nicht zu Hause haben werden, Quake mit Licht/Schatten
    gezeigt - Super. Einen Fortschritt sehe ich da nicht.

    Das war eine Tech-Demo! Mit Raytracing ist noch viel mehr drin. Als ich das erste mal sah, wie man in Binaer 2 Zahlen addieren kann - Super. Einen Fortschritt sah ich da nicht. Trotzdem ist es jetzt eines meiner Haupt-Hobbies, einer Rechenmaschine zu sagen, wie sie ihre 0en und 1en addieren soll 😉

    Will sagen: mit Raytracing kann man eine Menge machen, der Student hatte womoeglich keine Zeit/Lust/Faehigkeit, das alles zu zeigen, aber er hat bewiesen, dass es moeglich ist... und mit Raytracing ist 'ne Menge moeglich 🙂

    Klar, "herkoemmliche" Technik ist auch super. Aber: mit zunehmendem Detailgrad wirds immer aufwaendiger zu programmieren. So gesehen skaliert die Technik schlechter. Frueher oder spaeter wirds vielleicht wirklich so kommen, dass man in Raytracing die Zukunft sieht.

    Was das die Rechenanlage, die wir selbst in zehn Jahren nicht zu Hause haben werden, angeht: "no one will ever need more than 640k" sag ich jetzt mal nur 😉

    Und wie im Thread schon erwaehnt: ohne 3D-Karte wuerde "herkoemmliche" 3D-Grafik mehr als absolut arschlangsam laufen (versuch mal, ein aktuelles Spiel im SOFTWARE-MODUS laufen zu lassen), wird das auch bei Raytracing der Fall sein. Im Umkehrschluss bedeutet das, dass man auch Raytracing-Technik wahrscheinlich ordentlich beschleuigen koennte, wenn man entsprechende Hardware entwirft.

    Was das "besser/schlechter Aussehen" angeht: ich verweis nochmal darauf, dass es eine Techdemo ist. Ich bin sicher man bekommt Raytracing genauso schoen hin wie normales 3D 🙂



  • Blue-Tiger schrieb:

    Klar, "herkoemmliche" Technik ist auch super. Aber: mit zunehmendem Detailgrad wirds immer aufwaendiger zu programmieren.

    Ein guter Punkt. Beim Raytracing ergeben sich viele Effekte (Schatten, Spiegelungen, Reflexion, sogar Projektion) viel selbstverständlicher.



  • Tod dem Schatten, keine Macht den Campern. Ich fordere alle auf den unnötigen Grafikmist abzuschalten. Da kann man auch effizienter zocken! Q3 LowDetail felst! 😎

    Bye, TGGC (Der Held bei Dir!)



  • Sgt. Nukem schrieb:

    Ich weiß gar nicht was ihr an RayTracing so findet...

    Raygetracte Schatten sehen doch scheiße aus - und sind alles andere als realistisch!!
    Hyper-künstlich trifft es wohl eher... 🙄

    also die schatten dort :
    http://www.povcomp.com/hof/Boreal_big.html
    finde ich sehen realtistisch aus.
    🤡



  • omg 😮



  • billiger Fake 🤡



  • Sgt. Nukem schrieb:

    Raygetracte Schatten sehen doch scheiße aus - und sind alles andere als realistisch!!
    Hyper-künstlich trifft es wohl eher... 🙄

    ah ja, da die schatten im ergebnis wohl 1:1 so aussehen dürften wie stencil shadows dürfen wir jetzt also offiziell auch die doom 3 schatten als scheiße und hyper-künstlich bezeichnen?

    Auch weiterhin werden die Spielprogrammierer sich intensiv damit beschäftigen müssen, wie sie die 3D-Karte mit möglichst wenig Daten / Frame füttern.

    mööp... wozu? raytracing nimmt nicht stur jedes einzelne übergeben dreieck und prügelt es ohne sinn und verstand durch die pipeline. wenn es dir spaß macht und in den speicher paßt (und 512mb sind wohl eh bald normal bei grafikkarten) kannst du den ganzen level einmal abspeichern und fertig. animierte objekte werden dann wenn möglich direkt im grafikspeicher aktualisiert (und bei bedarf neu im baum untergebracht) und es geht raytracing am ar... vorbei, ob deine 100 große oder 10 millionen winzige dreiecke hat. jegliches culling hat sich erledigt (das passiert beim strahl schießen mehr oder weniger sowieso) und lod ist prinzipiell auch überflüssig (eher hinderlich, weil speicherverschwendung).

    das entscheidende ist einfach nur, daß die daten möglichst effizient strukturiert werden, aber bsp-/kd-/quad-/oct-/sonstwas-trees sind letztlich so oder so wichtig, um irgendwas schnell machen zu können. ich hätte für meinen teil nichts dagegen, wenn ich schatten, spiegelungen und transparenz ohne jeden extra aufwand gratis bekomme, ohne an stencil shadows zu verzweifeln, aufgepixelte shadowmaps wegzutricksen, die szene 5x zu rendern oder festzustellen, daß x-tausend blätter-billboards nach tiefe zu sortieren keinen spaß macht. bei mir kommen schatten und spiegelungen frühestens irgendwo rein, wenn jemand eine methode erfindet, die sich nicht wie ein grauenhafter hack und/oder workaround anfühlt und für jeden vorteil zwei nachteile mitbringt.



  • @Blue-Tiger

    Okay, dann sind wir uns ja einig, oder? Raytracing ist ein Feature dass einen
    Teil einer Gesamt-Engine darstellt. Ich hatte nur das Gefühl, dass einige
    die Technik als Lösung _aller_ Probleme betrachtet haben.

    Und wir dürfen nicht vergessen. Raytracing ist die Brute Force Lösung und
    keinesfalls eine neue Erfindung. Nur vor was soll ich mehr Respekt haben: Vor
    einem, der einen 128 Key mathematisches geknackt hat (vgl. UE 3) oder einem
    der durch probieren und viel Glück den richtigen gefunden hat (vgl. Raytracing
    Verfahren).

    Die herkömmlichen Verfahren funktionieren und das sogar sehr gut. Aber ich sehe
    ein, dass wir an Grenzen kommen (s. Stromaufnahme der neusten GraKa-Generation)
    Aber ist da ein Verfahren die Lösung, dass noch mehr Leistung verbraucht? Klar
    es wird später auf spezieller Hardware mit geringerem Takt laufen können und
    wohl auch stark parallelisiert laufen können - aber deshalb gleich Verfahren
    ganz ausschließen, die das ganze vielleicht geschickter angehen?

    Noch was anderes: Hier wird häufig davon geredet, dass es egal ist, wie groß
    die Szene ist. Aber jede Ablenkung des Licht-Strahls bedeutet doch neue
    Berechnungen, oder? Außerdem löst jede Berührung des Lichts mit Oberflächen
    doch auch neue Strahlen aus, die in difffuse Richtungen verlaufen, oder nicht?



  • Es geht hier um eine neue Technik im 3D-Bereich

    so neu is raytracing auch wieder nicht...

    imho sollte das höchste ziel eines pc spieles maximaler spielspaß und nicht die möglichst realistische simulation der wirklichkeit sein ( die sich imho sowieso nicht in formeln packen lässt ).

    ich hab nix gegen gute grafik, schöne schatten und alles was dazu gehört.
    aber was bringt mir das wenn das game scheisse is.
    die meisten kommerzielen spiele die zur zeit rauskommen sind eher tech demos als spiele...



  • EnERgYzEr schrieb:

    Noch was anderes: Hier wird häufig davon geredet, dass es egal ist, wie groß die Szene ist. Aber jede Ablenkung des Licht-Strahls bedeutet doch neue Berechnungen, oder? Außerdem löst jede Berührung des Lichts mit Oberflächen
    doch auch neue Strahlen aus, die in difffuse Richtungen verlaufen, oder nicht?

    ja, aber nur jemand, der den schuß nicht gehört hat würde auf die idee kommen bis zur unendlichkeit neue strahlen zu erzeugen und schon mit dem ersten pixel in hundert jahren nicht fertig zu werden. die mit abstand billigste und streßfreiste methode sowas an unterschiedlich starke hardware anzupassen ist einfach das limit anders zu setzen. besonders schwache kisten stoppen eben beim ersten schnitt und prüfen nur einmal direkt in richtung lichtquellen (und das ergebnis dürfte dann aussehen wie im moment, mit stencil shadows, ohne spiegelungen) und richtig dicke kisten verfolgen die strahlen dann halt über 10 schritte.

    das hat aber null mit der größe der szene zu tun, schon in einem stinknormalen würfel (raum) könnte man die ewigkeit damit verbringen einen strahl zu verfolgen. aber spätestens eine komplett "matte" oberfläche braucht keine spiegelung verfolgen, keine refraktionen und bei direktem kontakt zum licht auch nicht über x schritte sehen, ob licht ankommt. für letzteres gibts sowieso weit schönere lösungen, aber global illumination z.b. durch photon mapping in echtzeit wird dann die zweite hürde, an der soweit ich weiß auch schon gewerkelt wird: http://graphics.cs.uni-sb.de/Caustics/ versuch DAS mit rasterisieren zu faken).

    klar, ue3 sieht toll aus, andere engines sehen toll aus, aber bei manchen möchte man eigentlich NIE wireframes sehen oder wissen, WIE die effekte erzeugt werden. das "überstrahlen" bei besonders hellem licht z.b.. wie soll man sich das vorstellen? das fertige bild nochmal in 2d "nachretuschieren" und als textur auf ein billboard packen? wie toll funktionieren stencil shadows bei wirklich komplexen modellen? (tipp: bescheiden), wieviel speicher/leistung fressen shadowmaps bei vielen lichtquellen? (tipp: man will nicht viele).

    für mich zählt eben nicht nur, wie das bild am ende aussieht, sondern ob der weg dorthin elegant und sauber oder eine riesige ansammlung von hacks und tricks war, die mir unter umständen auch noch links und rechts auseinanderfallen können (jeder, der die teils häßlichen schatten in splinter cell 2 als bug bezeichnet hat darf sich freuen... kein bug, einfach das übliche problem bei shadow mapping).

    nebenbei, wo ist raytracing bitte mehr oder weniger brute force als unzählige -zu einem großen teil am ende nichtmal sichtbare- dreiecke durch eine pipeline zu prügeln oder zwecks spiegelungen oder schatten teile der szene x-mal zu rendern? ich glaube da ist jemand zu sehr von 3d-hardware verwöhnt, die auf die nötigen berechnungen derart optimiert ist, daß eine cpu nichtmal im ansatz auf die gleiche geschwindigkeit kommen könnte.

    als denkanstoß, für alle, die sagen "oh toll, welche kunststück auf 20 fetten amds". die gleiche geschwindigkeit scheint auch schon der saarcor prototyp mit krümeligen 30mhz zu schaffen. und jetzt stellen wir uns das ding auf aktuellem geföhn niveau vor, mit einem dutzend pipelines, über 500mhz takt und einer turbine als lüfter. fällt was auf?



  • dot schrieb:

    imho sollte das höchste ziel eines pc spieles maximaler spielspaß und nicht die möglichst realistische simulation der wirklichkeit sein

    Eben. Sag ich ja. Wer will schon ein realistisches Quake?

    Bye, TGGC (Der Held bei Dir!)



  • TGGC schrieb:

    dot schrieb:

    imho sollte das höchste ziel eines pc spieles maximaler spielspaß und nicht die möglichst realistische simulation der wirklichkeit sein

    Eben. Sag ich ja. Wer will schon ein realistisches Quake?

    die medien, damit sie weiter auf den pc spielern rumhacken können



  • ICH WILL VOXEL ZURÜCK!!! *patzigschimpf*

    🤡

    EnERgYzEr schrieb:

    Er hat mit einer Rechenanlage, die wir
    selbst in zehn Jahren nicht zu Hause haben werden, Quake mit Licht/Schatten
    gezeigt - Super.

    DAS wiederum glaube ich nicht. 10 Jahre ist weit übertrieben... 👎

    Blue-Tiger schrieb:

    Es geht hier um eine neue Technik im 3D-Bereich.

    *chr*

    Trienco schrieb:

    Sgt. Nukem schrieb:

    Raygetracte Schatten sehen doch scheiße aus - und sind alles andere als realistisch!!
    Hyper-künstlich trifft es wohl eher... 🙄

    ah ja, da die schatten im ergebnis wohl 1:1 so aussehen dürften wie stencil shadows dürfen wir jetzt also offiziell auch die doom 3 schatten als scheiße und hyper-künstlich bezeichnen?

    Allerdings. Die DooM ]|[ Schatten sind *natürlich* sau-künstlich!! So hart wird in der Realität kein Schatten geworfen!!
    Nur Doom 3 ist _jetzt_!! Und ihr redet von einer Technik, die "in frühestens 10 Jahren Einzug in den Consumer-Markt halten wird"...!
    Sorry, aber in "10 Jahren" erwarte ich schon deutlich mehr als so pümpels D3 Schatten... *SCNR* :p



  • imho würde mir solche "pümpels d3 schatten" reichen, wenn ich sie mit 5 sich bewegenden lichtquellen benutzen könnte,was mit d3 schatten dank shadow maps nicht wirklich funktioniert^^



  • otze schrieb:

    imho würde mir solche "pümpels d3 schatten" reichen, wenn ich sie mit 5 sich bewegenden lichtquellen benutzen könnte,was mit d3 schatten dank shadow maps nicht wirklich funktioniert^^

    ich war mir recht sicher, daß doom 3 stencil shadows benutzt und deswegen auch die häßlich kantigen lowpoly objekte benutzt (die shadow volumes erzeugen wäre sonst wohl kein wirklicher spaß mehr).

    nebenbei, schatten von punkt oder richtungslichtern SIND relativ hart. nur sollte man nicht auf die idee kommen und die schatten fast pechschwarz zu machen, DANN sieht der kontrast wirklich besch..eiden aus. ich kann an der wand z.b. recht scharf einzelne haare bzw. dünne strähnen am schatten sehen. und flächige lichter sind letztlich immer ein problem.


Anmelden zum Antworten