Xbox architect on ray tracing: 'developers still want to use traditional rendering techniques without a performance penalty'

Dice que algunos desarrolladores prefieren utilizar una iluminación tradicional a la chupiguay del ray trancing porque prefieren el rendimiento a el moderno brilli brilli.

Yo creo que es también tema de pasta, debe salir más caro hacerlo así.

El RTX se usara principalmente para el audio…y poco mas, como dijo Cerny.

Almenos Sony muestra juegos con algunos reflejos molones, otras ni eso.

justamente se supone que ahorraba dinero por ser mas rápido que el sistema tradicional de iluminación pre calculada, no creo que veamos en serie X un RT completo, quizás en reflejos, en sombras, en un componente al menos, pero no todos.

No se podría ver un PT rollo minecraft en juegos mas complejos, mira el GT7, con reflejos en ¿540p? o sea que…

Claro, se quieren sentar en las manos y que les caigan las perras sin mover un dedo. Asi son de hijosdeputa.

Al menos Microsoft apunta a alto con reflejos molones, otras ni eso.

El raytracing es el 4k de la gen anterior.

El raytracing es mas barato de toda la vida de dios, el problema es que, aparte de no saber el rendimiento real en raytracing de RDNA 2, ahora, por lo que se sabe, no hay suficiente musculo para el denoising/reescalado para implementarlo al nivel de Nvidia, y meter raytracing sin esto es una perdida muy bestia de rendimiento.

Esta va a ser la gen donde se empiece a tocar el raytracing con pinceladas, quizás para la siguiente si lo usen de lleno.

4 Me gusta

Pasta pasta… no tanto, activarlo es gratis :rofl: , otra cosa es optimizarlo, estoy esperando a que salgan más vídeos sobre RT de este hombre (sus vídeos son muy interesantes para aprender cosas de shaders y cía) para poder opinar si supone un problema optimizar ray tracing híbrido o no (teniendo en cuenta que hay muchos efectos diferentes en el RT híbrido, y quizás te interesa aplicarlo en partes, como sólo ponerlo en reflejos limpios pero no en los rugosos, que es lo que hacía la demo de Pragmata de Capcom, por ejemplo)

Como puedes ver es sólo activarlo en el Unreal Engine

Y… faltan los siguientes vídeos para poder ver como juega con el RT :rofl:

1 me gusta

Un apunte: entiendo que te refieres a Path Tracing (RT completo, como Minecraft), pero se puede hacer cosas muy similares sin RT, que la demo de Epic tiene iluminación en tiempo real sin precalcular nada sin utilizar nada de lo específico para RT.

Otra cosa es que no podía ir a más de 30FPS esa demo (ya salió Epic explicando que Lumen en las nuevas consolas por ahora no puede ir a más de 30FPS, a diferencia del sistema de micro polígonos que no es problema)

Path Tracing no son sólo reflejos :rofl: (por cierto, GT7 tiene reflejos a 1080p, mientra que el juego va a 2160p)

2 Me gusta

Si es una tecnología en ciernes en videojuegos es imposible que sea más barato que hacerlo de la manera tradicional, decir de la ‘‘manera tradicional’’ es muy generalista , porque hay que investigar (+pasta) para crear algo decente con la potencia que te pueda dar una consola.

es una generación de transición

aún así veremos cosas muy chulas según vayan sacando atajos para hacer mas barato o disimular las carencias del hw

2 Me gusta

Me refería a RT en general, ya que he leído a los desarrolladores que les ahorraría tiempo y por ende dinero.

pensaba que el PT como el de minecraft era RT completo, es decir, sombras, reflejos y toda la hostia. No sabia que PT hacia referencia exclusiva a reflejos

El tema es que la implementación del RT del RDNA 2 no es completa. Se puede inferir que el rendimiento para raytracing va a ser peor que en el caso de Turing, no digamos Ampere.

En cuanto al DirectML, se trata de una API, no de un hardware dedicado. Por un lado esta API tendría que igualar en resultados al algoritmo DLSS 2.0, que a saber. Pero parece que AMD en su RDNA 2 no tiene nada para hacer frente a los tensor cores de las tarjetas de Nvidia, no tiene hardware dedicado en resumen y sabemos que el ML sin hardware dedicado tiene un impacto importante en el rendimiento.

Por esta razón no podemos o no deberíamos esperar un DLSS sin pérdida de rendimiento como en PC.

Ya veremos en qué medida lo aplican, cómo funciona esa API y cómo aprovechan el hardware, pero pinta que RDNA 2 y por extensión las consolas van por detrás de las últimas mejoras de NVIDIA. Aunque en AMD tontos no son y quizá han valorado que puede obviar la necesidad de tener algo como los tensor cores usando otras unidades para este trabajo. Ya veremos.

En cualquier caso, aquí lo que importa es la implantación de las técnicas, de poco sirve que Nvidia venda la moto (hairworks) si luego no se implanta. Aunque el DLSS ya lo estoy viendo en bastantes juegos, la verdad.

Eso será porque el RT de las consolas el flojo. Porque cualquier trabajador en gráficos prefiere calcular intersecciones con rayos que aplicar matrices para embutir geometría en el viewport.

1 me gusta

Lumen, Path Tracing, etc. ahorra tiempo, es un dolor de huevos mover algo en el escenario, darle a precalcular luz, y esperar a que termine el engine de preparar la iluminación. Tenerlo todo al momento ahorra mucho.

Pero quitando eso, no ahorra mucho que digamos, quizás poner en medio de la sala que se genere un sprite fijo para el reflejo, pero mientras que los reflejos rugosos vayan sin RT, sigues poniéndolo, no ahorras.

El RT por ahora que hemos visto, quitando Minecraft RTX, Quake 2 RTX y Lumen, no ahorra tiempo.

Vale, yo te había entendido mal al mencionar reflejos ahí, y tú ahora me has entendido mal, recapitulemos :rofl:

Path Tracing es todo, incluido reflejos.

Path Tracing calcula la luz real que llega a cada píxel de nuestra cámara virutal. Pero a cada pixel llegan fotones desde muchos puntos (si miras una mesa, por ejemplo, esa mesa se ha iluminado con la iluminación directa de tu foco de luz, con iluminación que ha rebotado una vez en la pared de al lado, con iluminación que lleva varios rebotes desde la lámara, etc.)

Por eso necesitas calcular cientos de fotones virtuales por píxel, porque ahí ha llegado la iluminación desde muchos puntos.

Gif de Path Tracing sin denoise, el número es cuantas muestra tomamos por píxel.

Y en el momento en el que calculamos todo: incluimos reflejos.

Ooootra cosa es que en los videojuegos se separen reflejos directos de la iluminación real.

Minecraft RTX los separa, los reflejos directos (aunque pongas varios espejos juntos reflejándote) los calcula en un frame. Mientras que la iluminación global la calcula en varios frames, es acumulativa, porque un reflejo directo es fácil calcularlo, no vienen datos de todos los puntos, otra cosa es la zona iluminada que luego se ve en el reflejo.

Esa acumulación de “fotones virtuales” en una zona es lo que hace que cuando iluminas de repente en Minecraft RTX tarde unos frames en verse todo. Y cuando cierras la puerta de una sala a oscuras tarde un poco en salir todo oscuro.

Y nota, Lumen funciona medio similar, no es Path Tracing, y no acumula en un punto las cosas en sí, pero sí va por frames: acabas de encender el sol/bombilla: el primer frame ilumina las partes directas, en el segundo frame calcula qué luz rebota esas paredes iluminadas y lo aplica a lo que le afecte, y así durante varios frames (no sé cuantos rebotes calcula)

En la demo de Lumen si lo pones a baja velocidad se nota (también ayuda que sea 30fps, a 60fps costaría más ver esas transiciones pues iría todo el doble de rápido)

2 Me gusta

Yo por lo que vi lo de Epic y el UE5 es, te dan una arquitectura, sudas completamente de lo que se imaginan que vas a hacer con ella y te sacas la polla con un enfoque diferente pensando en el desarrollador y en problemas endémicos como el level of detail.

Eh, ya, pero no estamos hablando aquí del micro poligonaje y olvidarte de LODs en elementos no animados y cía :rofl:

Estamos hablando de lo que ahorra de tiempo no tener que darle al puñetero botón de “precalcular luz”, que es estate un rato parado mirando las musarañas mientras te cocina la luz.

Pero vamos, entre una cosa y la otra, uf, mucho ahorro de tiempo ^^

Les falta el hardware dedicado de NVidia y el DLSS y punto pelota, por eso el raytracing les chupa el alma en recursos a las consolas…

Que se dejen de cuentos que las consolas al no montar hard dedicado tienen que sacrificar potencia bruta (ni más ni menos).

De hecho incluso con hard dedicado desperdicias potencia porque el hardware de rasterizado tiene que esperar a hardware del raytracing para empezar a trabajar en el siguiente fotograma.

Por eso el empeño de NVidia en incluir junto a los RT Cores para raytracing los Tensor cores para hacer DLSS y así lograr que el raytracing se aplique a menores resoluciones y de manera más rápida (e intentar ponerse al mismo nivel en velocidad que el hardware por rasterizado).

2 Me gusta

?

El raytracing chupa el alma porque chupa el alma.

El DLSS no se aplica en un monte carlo que yo sepa porque el algoritmo tendría que adivinar el color del pixel y eso depende de multiples elementos. El DLSS se aplica para estirar una imagen donde el color de un píxel depende exclusivamente de los píxeles adyacentes.

Y tu puedes aplicar igual un DLSS sobre las unidades simd de una gpu porque son lo mismo que los tensor cores. Y tener tensor cores en una consola cuando no se sabe ni si se va a usar es tirar el dinero y el espacio xD

PD: es bastante fácil saber quien le da a me gusta solo en función de a favor de que aparato que se esté hablando xD

Pero chupa mas el alma sin RT cores porque tienes que tirar de fuerza bruta y shaders.

Lo que haces con DLSS es aplicar Raytracing a una imagen a 1080p que te da como resultado X puntos de luz por cada X pixels de la imagen (a los que luego aplicas el denoise), a 4K el número de de puntos de luz que tienes que calcular aumenta junto a la resolución y cuesta más aplicar el raytracing que sobre una imagen a menor resolución (y también tienes que seguir aplicando el denoise).

Con hardware dedicado:

Con el hardware de rasterizado creas una imagen a 1080p - Luego aplicas Raytracing con RT cores a 1080p - y finalmente un upscale por IA a 4K con DLSS.

Sin hardware dedicado para obtener el mismo resultado:

Creas una imagen a 4K y por rasterización (igual que antes pero a 4K porque no utilizas DLSS) y además tienes que reservar parte del hard de rasterizado sacrificando shaders por el camino para aplicar Raytracing.

De todos modos esto todo es un poco especular porque aún no se sabe nada a ciencia cierta.