Quake3: Raytraced



  • @xroads42: Les mal den letzten Satz meines Posts 😉

    @kingruedi: Nicht jeder kann ja Vollprofi in jedem Gebiet sein, oder? Ich habe
    mit meinem allgemeinen Wissen das ich über das Verfahren habe, meine Bedenken
    angemeldet, ob das Verfahren überhaupt NÖTIG ist oder ob wir nicht auch auf
    einen ähnlichen Realismus kommen, wenn wir konventionelle Verfahren nutzen.
    Kein Grund gleich so aufzufahren. Aber ich entschuldige mich auch, wenn du
    meine Posts als Flames aufgefasst hast. Denn das sollten sie nicht sein.



  • EnERgYzEr schrieb:

    @xroads42: Les mal den letzten Satz meines Posts 😉

    sry 🙂



  • Wie du meinst. Ich sprach an, was in Realität dann umsetzbar ist, und da zählt schlussendlich nicht, ob es einem Raytracer egal ist, wieviele Vertices vorhanden sind. Faktisch würde man diesen Vorteil nicht ausnzutzen können, vor allem da das Raytracing selber wieder viel Rechenzeit schluckt und somit wohl sogar noch weniger Vertices drin sind.

    vergleichen wir mal die unrealX Grafik-engine im software rasterizer mode mit einem software raytracing algorithmus, wie hoch werden die zeit unterschiede sein?

    worauf ich damit hinaus will: ohne optimierte hardware, wie sie jeder von uns in seinem rechner in form einer 3d-Graka hat, ist jede der gängigen Techniken unglaublich langsam und in der Realität nicht umsetzbar. wieviele GHz reine Cpu power bräuchte man, um ein flüssiges Bild im software rasterizer zu bekommen? wieviele GHz werden einem nur von der Graka abgenommen? Wieviele Vertices könnte man ohne 3D-Graka heutzutage mit akzeptabler geschwindigkeit rendern?



  • wieviele GHz reine Cpu power bräuchte man, um ein flüssiges Bild im software rasterizer zu bekommen?

    Ich behaupte mal frech ( 😃 ): weniger als bei der genau gleichen Szene mit einem Raytracer bei zweifacher Rekursionstiefe (schließlich wollen wir Schatten). Ich bezieh das mal auf eine fiktive Szene, in der Schatten gerechnet werden und Spiegelungen/Reflexionen simuliert werden.

    wieviele GHz werden einem nur von der Graka abgenommen?

    Dazu hab ich mir mal gedanken gemacht, als ich mal komplexe Szenen mit meinem Software Renderer darstellen wollte. Ich würde Pi mal Daumen sagen, das das auf jeden Fall mehrere GHz sind, ab 2 aufwärts, wohl noch mehr.

    Sicher ändert sich die Sache mit einer "Raytracing-Karte". Aber das dauert noch seine Weile. 😃



  • die unterschiede werden sich wahrscheinlich bei 1-2 sekunden einpendeln(der software rasterizer _ist_ langsam), grund: overdraw tut verdammt weh.



  • Ich vermute sogar, dass es noch viel, viel mehr als 2 GHz sind, wenn man z.B.
    mal an die Demos aus dem DX SDK denkt. Da laufen einige PS und VS intensive
    Demos nur mit 2,3 Frames, wenn der Software-Render an ist. Beim Hardware
    Rendern schafft man dort dann einige 100 Frames.

    Die Spezialisierung der Hardare kann schon einiges reißen, wie man ja auch an
    der Raytracing-Karte sieht.



  • Eigentlich ist meine Schätzung auch viel zu niedrig. Ich bekomme ein paar simple Szenen meist nur mit knappen 25 Frames, bei einer D3 Szene bräuchte ich (Vorsicht, neue Schätzung 😃 ) wohl etwa 12 Ghz bei gleichbleibender CPU-Architektur 😃
    Meine CPU hat 2 Ghz, A64. Stellt mich aber bei weitem nicht zufrieden beim Software Rendern.

    Eigentlich blöd, diese Schätzungen. Im Dos Mode würde ich ja wohl auch viel mehr Rechenposwer bekommen, aber das kann ich nicht austesten. Es hängt vom OS ab, schließlich bekommt man da nie die ganze Rechenkraft.

    Was auch immer 😃



  • LOL! Ich glaube, die Ungenauigkeit deiner Schätzung ist größer als dass was
    dein OS braucht 😉 😃



  • randa schrieb:

    Wenn der Spieler sich bewegt schon.

    *hust* du fängst also bei JEDER bewegung des spielers an ALLE benutzten vertexbuffer anzufassen und JEDEN einzelnen vertex zu aktualisieren?



  • Wie schon gesagt werden Raytracer wohl erst interessant, wenn es die passende Hardware gibt.
    Ich frage mich aber, wie das passieren soll.
    Die großen Hersteller (oder wer auch immer) müssten ja aus dem Nichts heraus einen Chip entwickeln, der genausogute Grafiken erzeugt wie aktuelle 3D Karten. Deßweiteren sollten die Karten am Anfang noch abwärtskompatibel sein, sonst müsste man entweder auf ältere Spiele verzichten oder zwei Grafikkarten einbauen.
    Bin ja mal gespannt wie das von statten gehen wird.

    PS: Ich habe nicht so den Plan von RT. Wie kann es sein, dass das Verfahren unabhängig von der Szenenkomplexität ist (wie hier behauptet wurde)?
    Man muss doch Strahlen mit der Szene schneiden, und je komplexer die Szene desto höher der Aufwand!?



  • Trienco schrieb:

    *hust* du fängst also bei JEDER bewegung des spielers an ALLE benutzten vertexbuffer anzufassen und JEDEN einzelnen vertex zu aktualisieren?

    *hust* Wenn die Szene gleichmäßig Komplex ist sinds trotzdem sehr viele. *hust*
    Was glaubst du wohl?

    [quote=EnERgYzEr]LOL![/quote]
    Ich weiß 😃



  • randa schrieb:

    *hust* Wenn die Szene gleichmäßig Komplex ist sinds trotzdem sehr viele. *hust*
    Was glaubst du wohl?

    daß statische geometrie überhaupt nicht angefaßt wird? wozu auch?



  • xroads42 schrieb:

    du hast glaube noch nicht ganzt verstanden das die studenten im saarland eine art graka entwickelt haben, die bei einer taktung von 90 MHz die leistung eines 12 Ghz intel P4 bringt

    Bitte dabei sagen: Bezogen _NUR_ auf das RayTracing! 🤡

    EnERgYzEr schrieb:

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

    @Sgt. Nukem: Wann glaubst du werden wir zu Hause die Leistung von 36 GHz
    stehen haben? Wie wir in den letzten drei Jahren gesehen haben, hat sich fast
    nichts mehr getan. Man versucht die Leistung/Hz zu erhöhen aber einen richtigen
    Durchbruch gab es hier auch noch nicht. Gleichzeitig werden die Hz der CPUs
    eher niedriger. Seit bestimmt einem Jahr hängen wir ca. bei der Leistung eines
    P4 3.5 GHz fest (von wem auch immer die CPUs sind. AMD, Intel,...).
    Intels Top-Desktop-CPU gibts für 300 EUR im Laden. Das sagt doch eigentlich
    schon alles, oder?

    Sicher, das größte Problem mittlerweile sind die _immense_ Hitzeentwicklung, und vor allem: Leckströme!
    Mit konventionellem Silizium wird's nicht mehr allzu weit weitergehen...
    Vielleicht stehen wir langsam am Umbruch zu einer neuen Architekturgrundlage (Plastic-Prints, Bio-Comps, whatever), aber wenn das geschafft ist geht's mordsschnell weiter... 🙂
    Hoffentlich steht der Thread in 10 Jahren noch... 🤡

    Naja, erstmal sollen die Nachrücker im Consumer.Bereich mit 64Bit daherkommen... 🙄

    0x00000001 schrieb:

    Wie schon gesagt werden Raytracer wohl erst interessant, wenn es die passende Hardware gibt.
    Ich frage mich aber, wie das passieren soll.
    Die großen Hersteller (oder wer auch immer) müssten ja aus dem Nichts heraus einen Chip entwickeln, der genausogute Grafiken erzeugt wie aktuelle 3D Karten. Deßweiteren sollten die Karten am Anfang noch abwärtskompatibel sein, sonst müsste man entweder auf ältere Spiele verzichten oder zwei Grafikkarten einbauen.
    Bin ja mal gespannt wie das von statten gehen wird.

    Sicher muß ein paar Vorreiter geben, die allein wegen Innovations-Geilheit produzieren, und nicht darauf bedacht sind, die schnelle Mark zu machen.
    Das war schon immer so.

    Mit dem 1.000 Clon in Computerspielen, aber auch bei Hardware:

    Der erste 3D-Chip (Voodoo von 3DFX) war auch mit keiner Hand voll Anwendungen kompatibel.
    Später gab's mal den Kyro - der mit einer einzigartigen Architektur allemann verblüffte und bei einigen Games für Leistung pur sorgte - obwohl er ein Lowcost-Chip war! Auch er war mit vielen anderen Games inkompatibel.

    Naja, man wird sehen... 😋 👍



  • 0x00000001 schrieb:

    PS: Ich habe nicht so den Plan von RT. Wie kann es sein, dass das Verfahren unabhängig von der Szenenkomplexität ist (wie hier behauptet wurde)?
    Man muss doch Strahlen mit der Szene schneiden, und je komplexer die Szene desto höher der Aufwand!?

    nicht unabhängig, aber wenn man sich nicht ganz ungeschickt anstellt, dann ist der unterschied zwischen 100 und 10000 objekten minimal bis nicht vorhanden.

    ein 3d raster ist zwar insgesamt nicht besonders toll, aber einfach zu erklären:

    -du schießt einen strahl
    -du überprüfst die objekte in der ersten zelle, durch die der strahl geht
    -du überprüfst die zweite zelle
    -etc.

    dabei kann es dir dann vollkommen egal sein, ob in den nicht angefaßten zellen insgesamt 10 oder 1000000 objekte rumliegen.


  • Mod

    das gleiche gilt für bruteforce rasterizer doch auch sobald die engine frustumculling bei einer statischen geometrie durchführt.

    rapso->greets();



  • Kennt eigentlich jemand ein volles und Umfangreiches und empfehlenswertes Buch, das Raytracing und dessen Programmierung in Ganzheit behandelt? Ich suche mal nach einer Komplett-Referenz, um dazuzulernen und nachzuschlagen. Ich bins Leid aus dem Internet alles zusammenzukratzen 😉



  • rapso schrieb:

    das gleiche gilt für bruteforce rasterizer doch auch sobald die engine frustumculling bei einer statischen geometrie durchführt.

    frustumculling ist aber letztlich eine große zelle und ALLES, selbst wenn es verdeckt ist will behandelt werden. brauchbares occlusion culling ist oft schon mehr extra aufwand, als man am ende einspart und selbst mit kleinen von vorne nach hinten gerenderten zellen laufen noch reichlich berechnungen, bis der z-buffer endlich zuschlagen darf.

    dadurch, daß man beim rt mit einem "dünnen" strahl arbeitet und nicht mit einem großen frustum-"block" dürfte wesentlich mehr von der szene rausfliegen als bei vertretbarem aufwand mit rasterisieren.


  • Mod

    Trienco schrieb:

    dadurch, daß man beim rt mit einem "dünnen" strahl arbeitet und nicht mit einem großen frustum-"block" dürfte wesentlich mehr von der szene rausfliegen als bei vertretbarem aufwand mit rasterisieren.

    und was glaubst du wie das Gebilde ausschaut, dass die dünnen Strahlen am ende bilden? ja richtig, wie ein frustum.

    es gibt sogar einige tracer die selber erst mittels frustumculling einen kleinen teil der scene rausnehmen um dann dort das tracing zu betreiben.

    zudem ist occlusionculling nur für bewegte objekte gedacht, das würde niemand für statische objekte nehmen! für statische wird sowas wie PVS benutzt, und der aufwand zum cullen ist sehr klein.

    rapso->greets();



  • gibt ein neues video zu der RT-Graka.
    http://www.saarcor.de/news.html



  • Also ich glaube um den ganzen Grafik schnick schnack wird viel zu viel Wind gemacht. Was nützt mir die noch so realistischte Grafik, wenn die Gegner dümmer als nen Toastbrot sind. Die ganze Forschungaarbeit sollte mal in die kI gesteckt werden. Beindruckt wäre ich von nem einfachen 2d C&C Spiel, in dem der Computer es schafft mich ohne zu bescheißen zu besiegen und am besten sich noch meinen Strategien anpasst. In 3d Ballergames schafften es die Bots nur zu gewinnen, weil die ja (fast) keine Reaktionzeit haben (der Weg dr Kugel wird vorberechnet). Aber man kann bei ALLEN spelen sehen, das die immer vorgefertigte Wege entlanglaufen, mehr oder weniger mit ner Zufallsentscheidung versehen. Und das finde ich zum Kotz...

    Aber jeder Forscht bei dem Grafik Mist, weil man da schnell Ruhm erlangt.
    Oder meint ihr, das sich auch nur ein Professor auf der Welt mit der kI bei Computerspielen befasst? Der würde von seinen Kollegen ausgelacht werden.
    Aber mit Grafik beschäftigt sich jeder.


Anmelden zum Antworten