Software Renderer



  • rüdiger schrieb:

    Computergrafik | ISBN: 3826609085

    Das Buch kann ich dir nur empfehlen. Das letzte mal als ich es einem Freund empfohlen habe, war es gerade im Ausverkauf bei Amazon für 10€ zu haben, also ein Preis den man nicht bereuen wird.

    http://www.terrashop.info/82660908/artikel.php



  • Blue-Tiger schrieb:

    rüdiger schrieb:

    Computergrafik | ISBN: 3826609085

    Das Buch kann ich dir nur empfehlen. Das letzte mal als ich es einem Freund empfohlen habe, war es gerade im Ausverkauf bei Amazon für 10€ zu haben, also ein Preis den man nicht bereuen wird.

    http://www.terrashop.info/82660908/artikel.php

    Ich hab mir das Buch da schon vorn paar Wochen für die 4€ gekauft 😛



  • Ich hab das Buch auch, allerdings find ich es sehr sehr trocken geschrieben. Ich konnt mich bisher noch nie dazu motivieren es ganz durchzulesen. Aber bei 3,95€ bei Terrashop kann man imho nichts falsch machen (am besten noch was dazu bestellen, sonst lohnen die Versandkosten nicht).



  • Woohoo, es sieht jetzt aus wie in OpenGL 🙂 Also die gleichen Koordinaten und die gleichen perspektivischen Parameter (FOV, Aspect, zNear und zFar).

    Ein Problem, bzw eine Frage habe ich noch:
    Wenn ich die normalisierten Gerätekoordinaten habe, reicht der z-Wert von -1 bis +1.
    Aber ist es normal, dass die so ungleichmäßig verteilt sind?

    Folgende Werte krieg ich für z-Werte im world space (zNear = 0.1, zFar = 100.0), z' ist die normalisierte Gerätekoordinate:

    z = -0.05    z' = -3.002 // vor zNear, wird also gekickt
    z = -0.1     z' = -1 // genau auf zNear
    z = -0.2     z' = 0.00100102
    z = -0.3     z' = 0.334668
    z = -5.0     z' = 0.9619
    z = -20.0    z' = 0.991992
    z = -50      z' = 0.997998
    z = -100     z' = 1 // genau auf zFar
    z = -105     z' = 1.0001 // hinter zFar, wird auch gekickt
    

    Man sieht, dass sich die Werte schnell extrem dicht unter der 1 ansiedeln. Stimmt das so? Aber wieso ist das? Wenn die Werte linear verteilt wären, wäre der zBuffer doch viel genauer, oder?

    Dankeschön,
    Tim


  • Mod

    xindon schrieb:

    Aber wieso ist das?

    wenn du in der 9ten klasse sein wirst, werdet ihr eventuell Hyperbel behandeln, das wird dir dann des raetsels loesung geben 😉



  • rapso schrieb:

    xindon schrieb:

    Aber wieso ist das?

    wenn du in der 9ten klasse sein wirst, werdet ihr eventuell Hyperbel behandeln, das wird dir dann des raetsels loesung geben 😉

    grml *g*

    Im Grunde wollte ich nur wissen, ob die Werte stimmen... ich fass das jetzt mal als 'ja' auf...


  • Mod

    fass es als "informier dich, das richtige stichwort hast du" auf 😉



  • rapso schrieb:

    und wird in Zukunft wahrscheinlich an Bedeutung gewinnen. 🙂

    glaub nicht jedem marketing 😉

    Schau mal hier. Ich glaube nicht, dass die das nur aufgrund von Marketing machen. Komplettes Echtzeit Raytracing steckt sicherlich noch in den Kinderschuhen, aber das kann sich durchaus ändern. Ich denke nicht, dass Rastergrafik bereits das Ende der Fahnenstange sein soll. Und dank Multicore und Streaming CPUs/GPUs stehen da auch hardwareseitig noch einige vielversprechende Möglichkeiten in Zukunft zur Verfügung.


  • Mod

    groovemaster schrieb:

    rapso schrieb:

    und wird in Zukunft wahrscheinlich an Bedeutung gewinnen. 🙂

    glaub nicht jedem marketing 😉

    Schau mal hier.

    steht nichts neues.

    groovemaster schrieb:

    Ich glaube nicht, dass die das nur aufgrund von Marketing machen.

    ich glaube schon.

    groovemaster schrieb:

    Komplettes Echtzeit Raytracing steckt sicherlich noch in den Kinderschuhen, aber das kann sich durchaus ändern.

    jo, wenn es mal besser laufen wuerde als bisherige algorithmen, doch das ist nicht in aussicht.

    groovemaster schrieb:

    Ich denke nicht, dass Rastergrafik bereits das Ende der Fahnenstange sein soll.

    eventuell solltest du momentane technologie besser verstehen um das beurteilen zu koennen. einfach nur nen ganzen absatz mit behauptungen zu schreiben ist kein wirkliches argument.

    groovemaster schrieb:

    Und dank Multicore und Streaming CPUs/GPUs stehen da auch hardwareseitig noch einige vielversprechende Möglichkeiten in Zukunft zur Verfügung.

    Diese technologie wird gemacht als anpassung an die bisherigen algorithmen z.b. rasterizen. streaming ist z.b. sehr kontraproduktiv zu ratracing.



  • Mit dem Cell-Prozessor kann man, wie schon gezeigt wurde, bereits recht gut Echtzeit-Raytracing betreiben.
    Dabei kann man z.B. jede der 8 SPUs jeweils ein Bündel von Strahlen berechnen lassen, und zwar parallel. Raytracing lässt sich ja sehr gut parallelisieren, genau wie die Rasterisierung.
    Ich denke auch, dass Echtzeit-Raytracing über kurz oder lang das Scanline-Rendering ablösen wird.


  • Mod

    TomasRiker schrieb:

    Mit dem Cell-Prozessor kann man, wie schon gezeigt wurde, bereits recht gut Echtzeit-Raytracing betreiben.

    das wurde auf so ziemlich jeder hardware gezeigt. auf GPUs, PowerPCs, FPGAs und natuerlich x86/x64 systemen. nur ist die leistungssteigerung bei GPUs immer weiter ueberlegen wird, besonders in richtung der mitlerweile fast voll dynamischen welten ist raytracing nichts praktibables.

    Dabei kann man z.B. jede der 8 SPUs jeweils ein Bündel von Strahlen berechnen lassen, und zwar parallel. Raytracing lässt sich ja sehr gut parallelisieren, genau wie die Rasterisierung.

    und wieso denkst du dann das:

    Ich denke auch, dass Echtzeit-Raytracing über kurz oder lang das Scanline-Rendering ablösen wird.



  • @rapso
    Ganz ruhig. Hast du einen schlechten Tag gehabt? Oder warum gehst du gleich so ab? Erstens habe ich nur das geschrieben, was ich über die zukünftige Raytracing Entwicklung _denke_. Du liegst daher vollkommen schief, mir irgendwelche Behauptungen zu unterstellen. Und ich habe auch nie behauptet, dass Raytracing bisherige Verfahren vollkommen ablösen wird. Ich denke nur, dass Raytracing an Bedeutung gewinnen wird. Und vllt. wird es irgendwann auch kommerzielle Spiele damit geben.



  • Warum ich denke, dass Raytracing die Zukunft ist?
    Weil man damit ohne "fiese Tricks" (die immer nur unter ganz bestimmten Voraussetzungen funktionieren) sozusagen ganz natürlich schöne Dinge hinkriegt wie Reflexionen an beliebig geformten Oberflächen, Lichtbrechung, Area-Lights und weiche Schatten, atmosphärische Effekte, globale Beleuchtung, ...
    Außerdem wächst beim Raytracing der Aufwand nur logarithmisch mit der Anzahl der Dreiecke in der Szene und nicht linear.
    Sobald es Hardwarelösungen dafür gibt, die etwas weiter fortgeschritten sind als dieser FPGA-Prototyp, der ja auch schon eine beachtliche Leistung für seine sehr niedrige Taktfrequenz gezeigt hat, wird Raytracing sicher zu einer sehr interessanten Alternative und sich früher oder später auch durchsetzen. Soweit ich weiß, arbeiten die Grafikchiphersteller schon an Raytracing-Lösungen (zusammen mit der Uni Saarbrücken).
    Woran man noch arbeiten muss, ist die Umsetzung dynamischer Szenen, aber da ist mit den Bounding Interval Hierarchies ja auch schon ein vielversprechender Ansatz gefunden worden.


  • Mod

    groovemaster schrieb:

    @rapso
    Ganz ruhig. Hast du einen schlechten Tag gehabt? Oder warum gehst du gleich so ab?

    hoe? ist dein philosophiekurs ausgefallen? oder wieso suchst du nach nicht vorhandenen problemen wenn ich hinterfrage?

    TomasRiker schrieb:

    Warum ich denke, dass Raytracing die Zukunft ist?
    Weil man damit ohne "fiese Tricks" (die immer nur unter ganz bestimmten Voraussetzungen funktionieren) sozusagen ganz natürlich schöne Dinge hinkriegt wie Reflexionen an beliebig geformten Oberflächen, Lichtbrechung, Area-Lights und weiche Schatten, atmosphärische Effekte, globale Beleuchtung, ...

    ohne fiese tricks bekommst du das auch beim raytracing nicht hin z.b. pur statische scenen.
    bei diffuse reflection von lichtquellen wie sie z.b. bei jaulousinen dann an der decke entstehen und ausleuchtung von aussen arealen sind mit raytracing in guterja qualitaet auch nicht machbar, weil du daran ewig rechnest (oder du nutzt halt dirty tricks).

    TomasRiker schrieb:

    Außerdem wächst beim Raytracing der Aufwand nur logarithmisch mit der Anzahl der Dreiecke in der Szene und nicht linear.

    schoen das es bei den meisten 3d anwendungen mit rasterizern ebenfalls nur logarithmisch steigt, weil wohl niemand bruteforce scenen in die graka scheibt. ansonsten glaube ich verwechselst du aufwand mit komplexitaet. aufgrund der vorhandenen hardware die z.b. mit steigender tiefe der BV nichts mehr bringt z.b. aufgrund von cache-misses, ist die geschwindigkeit von raytracern sehr schlecht darauf.

    desweiteren leiden raytracer sehr stark mit der aufloesung, was bei rasterizern viel besser skaliert.

    TomasRiker schrieb:

    Sobald es Hardwarelösungen dafür gibt, die etwas weiter fortgeschritten sind als dieser FPGA-Prototyp, der ja auch schon eine beachtliche Leistung für seine sehr niedrige Taktfrequenz gezeigt hat, wird Raytracing sicher zu einer sehr interessanten Alternative und sich früher oder später auch durchsetzen. Soweit ich weiß, arbeiten die Grafikchiphersteller schon an Raytracing-Lösungen (zusammen mit der Uni Saarbrücken).

    irgendwelche quellenangaben? ich weiss nur das NVidia und ATI nicht daran arbeiten.
    und man muss bedenken dass nichts auf raytracing ausgelegt ist, da helfen auch nicht die theoretischen FPGA benchmarks. z.b. sind eben random read in ram totaller pain, moderner speicher wie z.b. GDDR4 haben immer groessere latenzen um zum ausgleich mehr daten auf einmal zu streamen weil z.b. GPUs diese latenz gut verstecken koennen. das ist bei raytracern genau andersrum, man braucht viel random reads, nicht viel bandbreite und sehr kurze latenz (so in der art hat das der kyro mit seinem raycasting realisiert).



  • rapso schrieb:

    groovemaster schrieb:

    Ganz ruhig. Hast du einen schlechten Tag gehabt? Oder warum gehst du gleich so ab?

    hoe? ist dein philosophiekurs ausgefallen? oder wieso suchst du nach nicht vorhandenen problemen wenn ich hinterfrage?

    Tja, da muss wohl noch mehr bei mir ausgefallen sein. Ich sehe keine Fragen, nur einen aggressiven Tonfall deinerseits. Aber lassen wir das, bevor dein Blutdruck noch in kritische Bereiche kommt.


  • Mod

    groovemaster schrieb:

    rapso schrieb:

    groovemaster schrieb:

    Ganz ruhig. Hast du einen schlechten Tag gehabt? Oder warum gehst du gleich so ab?

    hoe? ist dein philosophiekurs ausgefallen? oder wieso suchst du nach nicht vorhandenen problemen wenn ich hinterfrage?

    Tja, da muss wohl noch mehr bei mir ausgefallen sein. Ich sehe keine Fragen, nur einen aggressiven Tonfall deinerseits. Aber lassen wir das, bevor dein Blutdruck noch in kritische Bereiche kommt.

    sehr suess die aussage. du musst in einer sehr aggressive umwelt leben um in meine normalen aussagen sowas reininterpretieren zu muessen, du tust mir leid, und nein, dein plumper provokationsversuch hier bringt meinen blutdruck nur vor belustigung etwas ins wanken. aber ich akzeptiere es wenn du aus unserer sachlichen diskusion scheidest.



  • Is zwar offtopic... aber dein Ton is wirklich ziemlich aggressiv und unfreundlich rapso. Willst du ein 2. TGGC werden? 😮


  • Mod

    da ich im urlaub war, war mein ton eher entspannt, ich wunder mich echt wie ihr sowas herauslesen koennt aus ganz normalen saetzen ohne kraftausdruecken usw. wie mein ton gewesen ist.



  • Hey,

    nach der Viewport Transformation habe ich x', y' und z' Koordinaten. Diese brauche ich zum Clipping mittels Cohen-Sutherland oder Sutherland-Hodgeman. Clipping im zwei-dimensionalen ist kein großes Problem, aber wie clippe ich an der Near/Far Ebene? Ein Stichwort zum Suchen reicht mir 😉

    Vielen Dank



  • Führt man Clipping nicht üblicherweise vor der homogenen Division durch, in dem einfach auf w<=x,y,z<=w bzw. w<=x,y<=w und 0<=z<=w prüft?


Anmelden zum Antworten