Raytracing in Echtzeit kommt auf breiter Front

Ray­tra­cing, also das Berech­nen von 3D-Sze­nen durch aus­sen­den von vir­tu­el­len Strah­len, ist seit Jah­ren das gro­ße Ding, das “dem­nächst” kom­men wird. Schon wäh­rend des Intel Lar­ra­bee Hypes war Ray­tra­cing immer wie­der als neu­er Stan­dard für Games im Gespräch, weil es durch die Archi­tek­tur des dama­li­gen Many-Core-Pen­ti­um-Designs des Lar­ra­bee per­fekt dazu gepasst hät­te. Damals konn­te man bereits per Ray­tra­cing berech­ne­te Qua­ke-Demos begut­ach­ten. Da Lar­ra­bee jedoch nie erschie­nen ist, ist auch Ray­tra­cing für den pri­va­ten Gamer­markt wie­der in den Hin­ter­grund gerückt.

Die­ses Mal jedoch – knapp 10 Jah­re spä­ter – scheint der Vor­stoß ernst gemeint zu sein, denn er kommt aus meh­re­ren Ecken. NVIDIA hat mit RTX wie üblich eine pro­prie­tä­re Schnitt­stel­le am Start, die mit Micro­softs DXR-Erwei­te­rung der DirectX-API eine uni­ver­sel­le Schnitt­stel­le (unter Win­dows) für Ray­tra­cing zur Ver­fü­gung stel­len möch­te. Dabei hat NVIDIA offen­bar mit Micro­soft koope­riert, denn für das Ray­tra­cing soll der Ten­sor-Chip der NVIDIA Vol­ta zum Ein­satz kommen.

AMD dage­gen stellt Rade­on Pro­Ren­der vor, das jedoch nicht als Gegen­stück zu NVI­DI­As RTX gedacht ist, son­dern als quell­of­fe­ne Schnitt­stel­le für Blen­der, Auto­desk 3ds Max, Maya oder Cine­ma 4D.

The level of visu­al detail requi­red of CAD models for the auto­mo­ti­ve indus­try or the most advan­ced film VFX requi­res a level of visu­al accu­ra­cy that can only be achie­ved with advan­ced ray tra­cing tech­ni­ques. Ray tra­cing maps the path of light rays from each pixel of the ren­de­red object back to the came­ra, rea­li­sti­cal­ly simu­la­ting light inter­ac­tions like shadows, reflec­tions and trans­pa­ren­cy. Ray tra­cing is very pro­ces­sor inten­si­ve resul­ting in long ren­der times and low frame rates. Alter­na­tively, ras­te­riza­ti­on (or scan­line) ren­de­ring uses algo­rith­ms to appro­xi­ma­te the appearance of 3D objects, sur­faces and tex­tures. Ras­te­riza­ti­on can be acce­le­ra­ted by GPU hard­ware resul­ting in real-time ren­de­ring and high frame rates making it an ide­al fit for gam­ing. Of cour­se the trade-off with ras­te­riza­ti­on is that the appro­xi­ma­ted ren­ders are nowhe­re clo­se to the pho­to­rea­lism of their ray tra­ced coun­ter­parts. The­se trade-offs bet­ween ras­te­riza­ti­on and ray tra­cing tra­di­tio­nal­ly impo­se cor­re­spon­ding cons­traints on 3D desi­gners who would have to choo­se bet­ween rea­li­stic illu­mi­na­ti­on and real-time speeds depen­ding on the prio­ri­ties of their project.

Das erin­nert an AMDs Vor­stoß mit einer neu­en Low-Level-API namens Man­t­le, womit AMD eine ähn­lich hard­ware­na­he API eta­blie­ren woll­te, wie Gli­de damals bei 3dfx. Aus Man­t­le wur­de bekannt­lich Vul­kan, die platt­form­über­grei­fen­de API für auf­wän­di­ge 3D-Spie­le, die jedoch auch heu­te immer noch nicht so recht durch­star­ten mag.