1. Foren
  2. Kommentare
  3. PC-Hardware
  4. Alle Kommentare zum Artikel
  5. › Video: Quake Wars Raytraced mit 3D…

Kann man nicht auch mit z.B. CUDA raytracen?

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Ahnungloser 26.06.09 - 12:21

    Ich hab wenig Ahnung von der Materie daher meine Frage: waehre es denn nicht sinnvoll das raytracing z.B. auf den >100 stream CPU's von modernen Grakfigkarten machen zu lassen und somit nochmal mehr performance zu bekommen?

  2. theoretisch schon,

    Autor: Jack D 26.06.09 - 12:35

    jedoch kommen dann andere Einschränkungen zum Tragen, z.B. die Größe des Videospeichers, auf den die Karten zugreifen können.
    Zudem sind die Streamprozessoren auf kurze Programme ausgelegt, die Komplexität der Berechnungen wäre sicherlich bis zu einem gewissen Punkt begrenzt. Die Aufteilung/Parallelisierung wäre dann auch interessant, ob nicht ab einer gewissen Berechnungsdauer der Overhead zum zusammenstückeln der ganzen Ergebnisteile der einzelnen Streamprozessoren nicht höher ist als sich lohnt.

    afaik wurden und werden solche GPUs aber bereits für einige solche Szenarien eingesetzt, mit welchen Resultaten kann ich leider nicht sagen.

  3. cpus? ich denke, grafikkarten haben gpus...

    Autor: <dsava<sdv 26.06.09 - 12:35

    ich glaube, mit cuda wär das auch irgendwie von hinten durch die brust ins auge.

  4. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Juggler2001 26.06.09 - 12:37

    Für die aktuellen Grafikchips ist Ray Tracing nicht ganz so einfach, unter Anderem weil es ein rekursiver Algorithmus ist. Die Chips sind nicht auf Fallunterscheidungen und Verzweigungen im Programmcode ausgelegt/optimiert.

    Hier kommt natürlich noch hinzu, dass Intel ja zeigen will, dass die Grafikchips langfristig keine Daseinsberechtigung haben und man 'NextGen'-Grafikverfahren auf CPUs besser berechnen kann.
    (Mit NextGen ist hier natürlich gemeint, dass Ray Tracing in Zukunft eventuell die Rasterisierung als Standardverfahren ablösen könnte. Das Verfahren selbst ist schon ziemlich alt)

  5. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: groovilicious 26.06.09 - 12:42

    Alles nur Techdemos...

    Bis so etwas serienreif für alltägliche Anwendungen mit vernünftigen Systemvoraussetzungen ist werden noch etliche Jahre vergehen.

    Und so lange dürfen sich NVIDIA und AMD noch die Kohle abholen

  6. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Blair 26.06.09 - 12:48

    Juggler2001 schrieb:
    -------------------------------------------------------
    > (Mit NextGen ist hier natürlich gemeint, dass Ray
    > Tracing in Zukunft eventuell die Rasterisierung
    > als Standardverfahren ablösen könnte. Das
    > Verfahren selbst ist schon ziemlich alt)

    das sind doch beide, oder? ;) vor einem jahr oder so zeit gabs mal eine präsentation von ID über eine experimentelle engine, die als nachfolger der rasterisierung gehandelt wurde. da war aber nicht von raytracing die rede, sondern "nur" von raycasting. außerdem werden keine polygone eingesetzt, sondern voxel. ich weiß nicht ob letztere generell auch bei raytracing eingesetzt werden oder nicht.

  7. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Juggler2001 26.06.09 - 12:49


    Das stimmt grundsätzlich.
    Wie lange es aber letztendlich dauern wird, bis das wirklich 'auf dem Markt' ist, ist derzeit schwer vorherzusehen. Im Grunde hängt das alles davon ab, wann Larrabee auf dem Markt erscheint, was das Ding genau kann und was es kosten wird.
    Wird auf jeden Fall spannend werden, wenn's soweit ist.


    groovilicious schrieb:
    -------------------------------------------------------
    > Alles nur Techdemos...
    >
    > Bis so etwas serienreif für alltägliche
    > Anwendungen mit vernünftigen Systemvoraussetzungen
    > ist werden noch etliche Jahre vergehen.
    >
    > Und so lange dürfen sich NVIDIA und AMD noch die
    > Kohle abholen


  8. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Juggler2001 26.06.09 - 12:57

    >> könnte. Das Verfahren selbst ist schon ziemlich alt)
    > das sind doch beide, oder? ;)

    Ja, stimmt, wobei Ray Tracing interessanterweise älter ist

    > vor einem jahr oder
    > so zeit gabs mal eine präsentation von ID über
    > eine experimentelle engine, die als nachfolger der
    > rasterisierung gehandelt wurde. da war aber nicht
    > von raytracing die rede, sondern "nur" von
    > raycasting. außerdem werden keine polygone
    > eingesetzt, sondern voxel. ich weiß nicht ob
    > letztere generell auch bei raytracing eingesetzt
    > werden oder nicht.

    Nein, Raytracing setzt in der 'klassischen' Version auch Polygone ein.
    Hinter der Engine von id-Software steckt nochmal eine grundsätzlich andere Idee um die Welt darzustellen.

    Da bin ich schon sehr gespannt drauf, denn deren Engine werden wir sicherlich früher in Games finden, als das reine Ray Tracing an dem Intel arbeitet.

  9. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: nate 26.06.09 - 13:04

    > Ich hab wenig Ahnung von der Materie daher meine
    > Frage: waehre es denn nicht sinnvoll das
    > raytracing z.B. auf den >100 stream CPU's von
    > modernen Grakfigkarten machen zu lassen und somit
    > nochmal mehr performance zu bekommen?

    Von der reinen Rechenleistung her wären GPUs für so etwas tatsächlich gut geeignet, allerdings kranken sie immer noch an eingeschränkten Programmiermodellen. Vor allem der wahlfreie Speicherzugriff in komplexeren Datenstrukturen ist auf GPUs nur äußerst umständlich und langsam möglich. Doch leider braucht man genau solche Dinge, um Szenen effizient darzustellen, die über ein einfaches "Heightfield-Landschaft mit Wasser und ein paar spiegelnden Kugeln" hinausgehen.

  10. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Melwyn 26.06.09 - 13:28

    Naja, Fakt ist leider, das Raytracing enorm viel rechenaufwand benötigt.

    Die Schatten in heutigen Spielen sind schon teilweise richtig gut und die werden mit einem Bruchteil des Aufwandes berechnet. Da werden sich die Entwickler natürlich die Frage stellen müssen, ob sie realen Schattenwurf oder lieber drübzig millionen mehr polygone oder andere effekte haben wollen. Wenn ich Entwickler wär (was ich zufällig bin), dann würd ich auf reale Lichtbrechung etc. verzichten und lieber die übrige Rechenpower in KI oder Physik stecken. Wenn die CPU's mal so schnell sind, das ich nicht mehr weiss, wohin mit der ganzen Leistung, dann ist das natürlich was anderes.

  11. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: irata 26.06.09 - 14:15

    Und ich dachte immer, Entwickler bezeichnen das ganze als "Artificial Dumbness" - wäre auch der treffendere Begriff ;-)
    KI ist ein Marketingbegriff (oder Forschungszweig).
    Es gibt bisher keine KI - und manche behaupten sogar es gäbe auch keine NI (natürliche Intelligenz) ;-)

  12. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Physiker 26.06.09 - 14:23

    Raytracing ist auch Physik :)
    Natürlich ein ziemlich einfaches Modell (ggü. bspws. Wellenoptik) aber das sind die ragged-doll modelle auch im Vgl. mit echten Körpern...

    Außerdem kannste doch auch beliebige Figuren tracen, z.B. Kugeln, die Du mit Polynomen nur ungenau (bzw. steigt der Speicherbedarf doch arg an umso genauer Du werden willst) darstellen kannst.
    Oder hab ich da was falsch verstanden?

  13. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: fun with gelato 26.06.09 - 15:23

    ja, nvidia bietet einen CUDA-basierten renderer an, der anstelle von z.B. mentalray oder ähnlichem (scanline...brrrr...) verwendet werden kann ("Gelato").

    funktioniert auf JEDER nvidia-karte, aber wirklich performant wird es erst auf quadro-karten. ist vermutlich der quadro-preispolitik geschuldet. ist ja eigentlich eine standard-nvidia mit besseren treibern, mehr nicht.

    Gelato ist ganz gut, vorallem bei fell/haar. kommt aber insgesamt nicht ganz an mentalray heran.

    keine ahnung, ob bei autodesk, newtek und co. CUDA-unterstützung geplant ist. vermutlich wird es eher eine lösung über openGL geben, sonst würden sämtliche nutzer einer fireGL leer ausgehen. CUDA ist zu nvidiazentrisch. macht bei den tesla-geräten noch sinn, bei reiner grafik aber eher nicht.

    ISO, DIN, ein neuer standard muss her, würde ich mal so sagen. gültig für ALLE grafikchipschmieden. wird sonst nur ein unübersichtliches gewusel.

    CUDA, stream programming...kein hersteller will beschleunigungsroutinen zweimal oder gar noch öfter schreiben. geht ja noch viel mehr, videokomprimierung, bildbearbeitung, eigentlich so ziemlich alles. nur kein einheitlicher standard in sicht. für nutzer ähnlich erfreulich wie HD-DVD vs. BluRay oder PAL vs. NTSC vs. SECAM oder BetaMAX vs. VHS oder Tokenring vs. Ethernet usw....

  14. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: DrAgOnTuX 26.06.09 - 15:38

    OpenCL?

  15. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: fun with gelato 26.06.09 - 15:44

    -.-...openGL. tippe du mal mit silikon an den fingern (bad wird renoviert...)! :D

  16. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: JP 26.06.09 - 16:07

    Physiker schrieb:
    -------------------------------------------------------
    > Außerdem kannste doch auch beliebige Figuren
    > tracen, z.B. Kugeln, die Du mit Polynomen nur
    > ungenau (bzw. steigt der Speicherbedarf doch arg
    > an umso genauer Du werden willst) darstellen
    > kannst.
    > Oder hab ich da was falsch verstanden?

    naja ein Kugel-Polynom dürfte nicht viel Speicherplatz benötigen, besonders wenn man solche oder ähnliche Dinge in Hardware implementiert oder zumindest auf Treiberebene.

    Und sonst hängt die Qualität der Darstellung eigentlich nur der Anzahl der Pixel ab auf die projiziert wird. mit 4x4 wird man keinen schönen Kreis abbilden können, tastet man mit 1000x1000 ab siehts schon anders aus. Dass der Speicherbedarf mit den Pixeln zunimmt klar aber zuvernachlässigen, die Rechenbedarf ist da das entscheidene.


  17. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: JP 26.06.09 - 16:13

    fun with gelato schrieb:
    -------------------------------------------------------
    >
    > ISO, DIN, ein neuer standard muss her, würde ich
    > mal so sagen. gültig für ALLE grafikchipschmieden.
    > wird sonst nur ein unübersichtliches gewusel.
    >

    wozu die ISO oder DIN anrufen? Es gibt OpenCL und das DirectX äquivalent, beide sind für AMD und nVidia Karten geeignet und zum Teil auch umgesetzt, zumindest bei nVidia unterstützen die Treiber OpenCL, bei AMD sicherlich auch schon. Ich find das einheitlich genug. Zumal doch die Khronos Group sowas wie ISO/DIN für den Bereich ist, und genauso schnarchig.


  18. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: virtualInsanity 26.06.09 - 17:18

    Aber natürlich kann man ..

    siehe u.a. http://www.nvidia.com/docs/IO/67191/NVIRT-Overview.pdf

    Und ja, auf vernünftiger Hardware [tm] läuft das - zumindest in dem, was NVIDIA gerne immer wieder mal demonstriert - sehr schick (30-60 fps auf einer einzelnen Quadro FX 5600, mehrere GPUs sind kein Problem). Die Demo ist allerdings nichts allzu aufwändiges. Es gibt auch weitere Arbeiten zu dem Thema, die nicht unbedingt immer nur proprietäres à la CUDA verwenden.

    Demzunächst (ist dem Paper ebenfalls zu entnehmen) gibt's das fertig und ohne große Mühe innerhalb des NVSG (sozusagen also als 'Engine'), damit im übrigen frei (allerdings nicht unbedingt open source).

    Lieben Gruß und so,
    -.jan.-


  19. Ich habs gemacht, und es geht...

    Autor: whiteambit 26.06.09 - 17:56

    schaffe auf einer Geforce GTX260 ca. 20-50 fps bei einer Auflösung von 768*576 und modellen bis ~100K Polys. War mittels CUDA. Die rekursivität des Algorithmus ist kein Problem, denn was rekursiv geht, geht auch iterativ! Meist sogar schneller nur schwerer zu schreiben.

    http://zfx.info/viewtopic.php?f=18&t=305&p=3335#p3335

    denke mal das eine normale GPU für 130 Euro auch bei RT immernoch 5-10 mal schneller ist als eine CPU... hoffentlich bekommt mein Projekt auch ähnlich viel aufmerksamkeit wie der Pohl.

    Noch eins: Raytracing ist nicht der Weisheit letzter schluss. Es ist lediglich für ganz spezielle teilprobleme überhaupt sinnvoll einzusetzen. Z.B. für Spiegelungen, Refraktion und Causics. Besser aussehen als Scanline tut es nicht, es kann nur einige Dinge schneller lösen, andere löst Scanline schneller. Das Ergebnis ist dabei immer das gleiche, weswegen man für jeden Fall das jeweils schnellere Verfahren wählen sollte. Raytracing ist entgegen allen mythen auch nicht "Physikalisch" korreckt. Es sei denn man lebt im Mittelalter und die Lichtstrahlen beginnen im Augapfel. Physikalisch korreckt ist am ehesten Photon Mapping. Aber das ist noch langsamer...

  20. Re: Kann man nicht auch mit z.B. CUDA raytracen?

    Autor: Blair 26.06.09 - 21:47

    Juggler2001 schrieb:
    -------------------------------------------------------
    > Nein, Raytracing setzt in der 'klassischen'
    > Version auch Polygone ein.
    > Hinter der Engine von id-Software steckt nochmal
    > eine grundsätzlich andere Idee um die Welt
    > darzustellen.
    >
    > Da bin ich schon sehr gespannt drauf, denn deren
    > Engine werden wir sicherlich früher in Games
    > finden, als das reine Ray Tracing an dem Intel
    > arbeitet.

    hier gibts mehr informationen zum thema:
    http://www.heise.de/ct/09/04/links/182.shtml

    beim dort verlinkten paper von jon olick wird das raycasting mit voxeln ab seite 97 sehr genau beschrieben (anmerkungen sind auf jeder seite links oben in der sprechblase). so weit ich es verstanden habe, ist ein wesentlicher vorteil der technik, dass die details (voxel bzw. polygone) ab einer gewissen rechenleistungen bei raycasting "billiger" sind als bei rasterisierung: dann können bei gleicher leistung mehr details dargestellt werden. theoretisch sogar unendlich viele, indem die software bei starkem zoom dynamisch neue strukturen "dazuerfindet".

    allerdings ist das sicher nicht alles, es ist sehr kompliziert. ich versteh nichtmal den unterschied zwischen raycasting und -tracing. und vor allem warum anscheinend nicht klar ist, welches der verfahren besser ist.

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. SEW-EURODRIVE GmbH & Co KG, Bruchsal
  2. KRATZER AUTOMATION AG, Unterschleißheim
  3. Fiducia & GAD IT AG, Karlsruhe, Münster, Aschheim
  4. Hospitaltechnik Planungsgesellschaft mbH, Krefeld

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. (u. a. Yu-Gi-Oh! Legacy of the Duelist für 7,20€, Yu-Gi-Oh! ARC-V: ARC League Championship für...
  2. 26,99€
  3. (u. a. Anno 2205 Ultimate Edition für 11,99€, Rayman Legends für 4,99€, The Crew 2 - Gold...


Haben wir etwas übersehen?

E-Mail an news@golem.de