Rendimiento DirectX 12 y API PS4

eloskuro está baneado del subforo por "flames"
Pero dá mas capabilitys a los desarrolladores. El hard está, lo que no estaba era el soft.

Imagen

Mas sobre herramientas. Y fijaros en la del pix de xbox one. Que tiene una prueba de raytracing.
Imagen
Que pesados con el ray-tracing. No lo váis a ver en ningún juego, solo es una demo técnica. Pero ni en PC hasta dentro de bastante tiempo.
papatuelo escribió:
nanoxxl escribió:

May 21st 2013 at 2:00 pm
"The box will pop on and come to your home page or wherever you were last. In order to do that in an efficient way, you have to architect all of that into the box up front. A lot of it is in the SoC," Holmdahl says. That SoC contains both the CPU and GPU, as well as embedded ESRAM; the first two components are based on an AMD design, and custom-built into an SoC with that embedded memory. That CPU is based on the Jaguar design from AMD, with eight cores and a 4MB L2 cache, while the GPU is of the D3D11.1 (with extensions) variety, Baker tells us.

????????????


Eso digo yo.

????????

Con lo único que te quedas es que si la consola se enciende con el comando XBOX ON, se te redirige a lo estuvieras haciendo cuando la apagaste???

O lo dices por lo de que la GPU es 11.1???

Si quieres te dicen en 2013 que están trabajando en una GPU DX12 cuando DX12 no se hizo público hasta 2014... Y de todas formas, por supuesto que no se sabe ni esta confirmado si es full DX12.

Por otro lado ahí tienes el test ray tracing con el que presentaron dicha características de DX12 en la GDC, afirmando que se trataba de una demo antigua de XBOX ONE.

Sigo sin entender que quieres decir con ese enlaze ? Que demuestra ? Con lo viejo que es
nanoxxl escribió:Sigo sin entender que quieres decir con ese enlaze ? Que demuestra ? Con lo viejo que es


Pues que la demo que presentaron en el GDC 2015 sobre Ray Tracing ya la estaban trabajando en el laboratorio de XBOX ONE en 2013.

Precisamente que sea tan viejo es lo interesante.

@josemurcia
Qué pasa? No te gusta esa información? Pues lo siento, pero es lo que hay, esa demo técnica ya se estaba trabajando en 2013 en el laboratorio de XBOX ONE. Puede que no signifique nada, pero no puedes permitirte el lujo de llamar pesada a la gente por mostrar algo que está ahí.

Por otro lado tu fuente para afirmar tajantemente que no puede ser así es esta:
Imagen
Repetir una y otra vez que hay una demo de Ray-Tracing para ONE no es aportar información.

Pero si es que es de cajón. En 2012 Epic presentó SVOGI, una técnica de iluminación global basada en voxels menos pesada que el ray-tracing, hasta el momento sigue siendo la mejor solución para iluminación global que se puede ejecutar en tiempo real en hardware actual.

http://on-demand.gputechconf.com/gtc/20 ... nation.pdf

Un año después dijeron que las nuevas consolas no podrían mover SVOGI, así que no tenían más remedio que quitarla y se pusieron a investigar otra solución de iluminación global para la nueva generación más ligera y menos precisa que pudiese funcionar en consolas.

Actualmente UE4 tiene en beta 3 soluciones distintas de iluminación global.
- La VXGI exclusiva de Maxwell, la más precisa que se ha visto después de SVOGI, también basada en voxels y menos pesada que ray-tracing.
- La suya propia, Distant Field Global Illumination, muy ligera y muy eficiente, en teoría es una mezcla de varias técnicas y la añadirán en la próxima versión, la 4.8. Mucho menos precisa que las basadas en voxels.
- La GI de Lionhead para Fable Legends, basada en light propagation volumes, también bastante ligera y también mucho menos precisa que las basadas en voxels.

Así que me estás intentando decir, que por arte de magia ONE va a poder mover en juegos un tipo de iluminación mucho más precisa y que necesita mucha más potencia que todas las alternativas que hay ahora, cuando ni PS4 ni ONE han podido con SVOGI que es menos pesada que ray-tracing. Y teniendo en cuenta que no hemos visto ray-tracing en tiempo real más allá de demos ni en hardware potente de PC.

Apliquemos el sentido común.
josemurcia escribió:Que pesados con el ray-tracing. No lo váis a ver en ningún juego, solo es una demo técnica. Pero ni en PC hasta dentro de bastante tiempo.

Como en Forza 6 implementen RT...
josemurcia escribió:Repetir una y otra vez que hay una demo de Ray-Tracing para ONE no es aportar información.

Pero si es que es de cajón. En 2012 Epic presentó SVOGI, una técnica de iluminación global basada en voxels menos pesada que el ray-tracing, hasta el momento sigue siendo la mejor solución para iluminación global que se puede ejecutar en tiempo real en hardware actual.

http://on-demand.gputechconf.com/gtc/20 ... nation.pdf

Un año después dijeron que las nuevas consolas no podrían mover SVOGI, así que no tenían más remedio que quitarla y se pusieron a investigar otra solución de iluminación global para la nueva generación más ligera y menos precisa que pudiese funcionar en consolas.

Actualmente UE4 tiene en beta 3 soluciones distintas de iluminación global.
- La VXGI exclusiva de Maxwell, la más precisa que se ha visto después de SVOGI, también basada en voxels y menos pesada que ray-tracing.
- La suya propia, Distant Field Global Illumination, muy ligera y muy eficiente, en teoría es una mezcla de varias técnicas y la añadirán en la próxima versión, la 4.8. Mucho menos precisa que las basadas en voxels.
- La GI de Lionhead para Fable Legends, basada en light propagation volumes, también bastante ligera y también mucho menos precisa que las basadas en voxels.

Así que me estás intentando decir, que por arte de magia ONE va a poder mover en juegos un tipo de iluminación mucho más precisa y que necesita mucha más potencia que todas las alternativas que hay ahora, cuando ni PS4 ni ONE han podido con SVOGI que es menos pesada que ray-tracing. Y teniendo en cuenta que no hemos visto ray-tracing en tiempo real más allá de demos ni en hardware potente de PC.

Apliquemos el sentido común.


No habeis mirado la presentacion que se puso un poco mas atras aqui sobre el desarrollo de The tomorrow children? esa gente esta utilizando cascaded-voxel-cone-tracing.

El link: http://www.dualshockers.com/2014/09/03/ ... reenshots/



Un saludo!
Esto es lo más cerca que hay de un motor real con ray-tracing.

https://youtu.be/NffeBOWz3Is

argam escribió:No habeis mirado la presentacion que se puso un poco mas atras aqui sobre el desarrollo de The tomorrow children? esa gente esta utilizando cascaded-voxel-cone-tracing.

El link: http://www.dualshockers.com/2014/09/03/ ... reenshots/

Un saludo!

No lo he comentado porque no estabamos hablando de PS4. CVCT está también basada en voxels pero tiene una cosa que la hace particularmente ligera, y es estar basada en texturas 3D, con lo cual no es una GI que se pueda aplicar de forma general.
Muy interesante josemurcia.
¿Tienes información sobre Cascaded Voxel Cone Tracing? La técnica de iluminación implementada por Q-Games en The Tomorrow Children. ¿Sería equiparable a VXGI?

Un saludo
Lo que creamos o no es indistinto en este hilo, estamos para hablar de las Apis y en todo caso de rumores sobre ellas.

Si llega Ray Tracing o SVOGI (o cualquier nuevo método) a las consolas no lo sabemos todavía a ciencia cierta, por lo tanto, que pueda llegar es un motivo de alegría, luego que no llegue será una desilusión :(
El enlace que ha puesto argam tiene mucha información.

Aquí la presentación de la GDC: http://fumufumu.q-games.com/archives/Th ... nFinal.pdf

Es muy parecido a la VXGI de NVIDIA, con la diferencia de que para aplicarla hace falta un trabajo artístico detrás, que es lo que precisamente la hace más ligera. Mientras que la VXGI funciona en cualquier escenario que la pongas sin trabajo adicional.
David Ricardo escribió:Un par de quotes del año pasado de Phil Spencer al respecto. De marzo y de pctubre respectivamente, si no me equivoco.

DX12 will have impact on XBOX One games written for DX12. Some DX12 features are already in XBOX One but full DX12 coming.

https://twitter.com/XboxP3/status/446873135594225664?s=17

“On the DX12 question, I was asked early on by people if DX12 is gonna dramatically change the graphics capabilities of Xbox One and I said it wouldn’t. I’m not trying to rain on anybody’s parade, but the CPU, GPU and memory that are on Xbox One don’t change when you go to DX12. DX12 makes it easier to do some of the things that Xbox One’s good at, which will be nice and you’ll see improvement in games that use DX12, but people ask me if it’s gonna be dramatic and I think I answered no at the time and I’ll say the same thing.”

http://wccftech.com/phil-spencer-directx-1-xbox-one-hardware-graphics/

Deberias poner esto para abrir el hilo, porque casi todas las discusiones estan ya resueltas ahi y de forma oficial.

Solo queda ver el efecto real en games.
Bueno lo que no se puede negar es que no estén haciendo cosas con ray-tracing, el como lo hagan pues estará por ver.

Si no es por el hardware local.... siempre está el hardware remoto, que ya se que muchos se lo tomarán a coña.... pero ya hay cosas muy interesantes por ahí.

http://www.pcgamer.com/nvidia-cloudligh ... -lighting/

http://www.tomshardware.com/news/Cloud- ... 23718.html

https://research.nvidia.com/publication ... -rendering

https://www.youtube.com/watch?v=aiWdJxshWMM

De todas formas no se si las técnicas de tileado se pueden aplicar a la iluminación y con ello conseguir un pseudo ray-tracing local sin necesidad de tantos teraflops como se pensaba en un principio....

Pero vamos, el río suena... eso es impepinable.
Pada escribió:Pero vamos, el río suena... eso es impepinable.

Si alguien hubiese encontrado la manera de utilizar ray-tracing en tiempo real en hardware actual el río no sonaría, estaríamos todos ahogados en él porque se pasarían todo el día presumiendo de ello, ya fuera Epic, Microsoft, Sony o quien sea.

EDIT: Una captura del ray-tracing en tiempo real de Octane.
Imagen

Y más información:
Brigade use NVIDIA and AMD hardware to do path tracing on the GPU. All rendering kernels are fine-tuned for every card to give maximum performance combined with special scene-graph optimizations that are unique to Brigade, allows us to bring real-time path tracing to video games. Instancing is one of the most powerful features of Brigade. It allows you to instance any kind of mesh you want. (Trees, grass, cars for heavy traffic in cities, etc…) It’s up to you ! Performance wise, each instance is the same loss as rendering one single triangle. Because Brigade uses a very specific custom acceleration structure, It can create multi-million or even billion polygons scenes without a sweat. Brigade also supports animation for bones (with skinning), cameras, objects & more using COLLADA files.

Rich post-effect pipeline including high-quality bloom, white balance, color grading, saturation/contrast, bleach bypass, noise reduction filters and more… Brigade has everything you need to set the mood & recreate the imperfections of a camera lens. Brigade supports HDRI lighting and contains a customizable physical sky. HDRI can cast soft shadows if they contain any bright light source. The physical sky is doing atmospheric scattering depending on multiple factors like the sun position. Using a complex BRDF, Brigade is capable of creating any kind of material possible using a “mega-material”. Anything you want is possible using our very flexible material pipeline. Change the IOR, glossiness and the reflection of the material in real-time.

http://wccftech.com/brigade-nvidia-gtc- ... z3WpCM2mn2
Sabes lo más gracioso @josemurcia ?

Que todo eso que pones estaba siendo ejecutado en la nube.
eloskuro está baneado del subforo por "flames"
Imagen
Imagen
Muy bonito el render del Ford GT, pero no se que puede mostrar eso.
eloskuro está baneado del subforo por "flames"
nah. es que es bonito ^^
Lo de algunos es de traca [facepalm]
eloskuro está baneado del subforo por "flames"
De momento Xbox One ya tiene un juego con tecnica avanzada de luz dinamica en tiempo real. Encima a 1080p y MSAA x4

Scatter tracing/rayleigh scattering


La dispersión de Rayleigh (en honor a Lord Rayleigh) es la dispersión de la luz visible o cualquier otra radiación electromagnética por partículas cuyo tamaño es mucho menor que la longitud de onda de los fotones dispersados. Ocurre cuando la luz viaja por sólidos y líquidos transparentes, pero se ve con mayor frecuencia en los gases. La dispersión de Rayleigh de la luz solar en la atmósfera es la principal razón de que el cielo se vea azul.

Imagen
Imagen

Imagen

http://www.forzamotorsport.net/en-us/news/forza_horizon_2_ign_announce


-----

Quien sabe si con tecnicas de "tileo" y con las nuevas APIS tanto PS4 como XBO pueden llegar a usar ray tracing...
.
Editado por ahona. Razón: Mejor asi
.
Editado por ahona. Razón: Mejor asi
Vamos a centrarnos en el tema del hilo, antes de que se empiece a liar y acabemos mal.
Esta vez tengo q pedir perdon xq no se xq narices creia q era un MP y me jode q me molesten por MP.

Lo dicho, perdon.
Respecto a lo que dijo Phil, va perfecto, nuevas features, es la clave. No dijo nuevas tools porque no iba a anticipar el futuro, pero también y eso es lo que importa.

Respecto al ray-tracing. Un motor entero no, pero si podría voxelizarse con un modelo tipo ray-tracing algunos elementos del render, como partes de la iluminación (una de las pasadas del render) o partes específicas (como líquidos) y luego mezclarlos con render rasterizado por polígonos. Echadle un poco de imaginación.
Tanto Killzone 4 como el futuro the tomorrow children usan ray tracing para algunas cuestiones de iluminación.

Killzone 4 para los reflejos HDR.
Killzone 4 Uses Raytracing For Its Real-Time Reflections

http://www.dsogaming.com/news/killzone-4-uses-raytracing-for-its-real-time-reflections/

The tomorrow children usa una técnica de ray tracing llamada cascada de voxels para su iluminación.
The Tomorrow Children uses a new lighting technology named Cascaded Voxel Cone Ray Tracing, which allows to simulate lighting in real time, and uses actual real reflections, and not screen space reflections like most games.

http://www.dualshockers.com/2014/08/13/ps4-exclusive-the-tomorrow-children-uses-new-ray-tracing-tech-with-real-reflections-more-info-shared/

La cosa es que de momento, por lo que se ve, o el uso de ray tracing es muy limitado para hacer algo muy concreto de iluminación como en Killzone. O, si se usa para toda la iluminación como en el caso de Tomorrow Children, el aspecto es el de una demo técnica. Es decir, la iluminación es perfecta y tal, pero yo veo el aspecto del juego y me parece más una demo técnica en la que las decisiones artísticas parecen tomadas para poder adaptarse a la técnica de iluminación en vez de lo contrario.

Imagen
Estamos hablando de iluminación global, no de calcular reflejos o sombras mediante ray tracing, cosa que es bastante habitual.(Ejemplo: https://docs.unrealengine.com/latest/IN ... index.html)

Lo de The Tomorrow Children precisamente no tiene nada de ray tracing ya que el propio método se llama Cascaded Voxel Cone Tracing. Lo que pone ahí de Cone Ray Tracing directamente no tiene sentido.

Ya he puesto en la página anterior el documento de la GDC donde viene muy bien explicado.
Cone Tracing es un derivado de Ray Tracing. El ray-tracing tal cual es difícil que se use porque según parece crea excesivo aliasing, por eso siempre hay que activar un AA bastante lento en los programas que renderizan con ray-tracing. Podéis comprobarlo vosotros mismos, entre activarlo y desactivarlo hay un mundo de diferencia en tiempo de render.
http://en.wikipedia.org/wiki/Cone_tracing
Aquí un poco más.
http://www.geeks3d.com/20121214/voxel-cone-tracing-global-illumination-in-opengl-4-3/
Mi pregunta es, y viendo el uso del async en el Tomorrow Children, ¿hay que usar shaders de render, y no de computación?. Porque si seguimos cargando todo en los mismos sin posibilidad de paralelización no estamos haciendo nada, seguimos retrasando el frame.
Yo me esperaba que al ser algo tipo voxel pudiera realizarse mediante computación, usando parámetros que no requirieran el hardware de render (como texturas) para poder computarlo y no renderizarlo. Es decir el resultado tiene que ir a un RT, pero eso requiere muy poco uso del hardware de render, lo importante que es su cálculo poder hacerlo sólo mediante computación.
Josemurcia,lo mas parecido a un juego con raytracing no es la demo del engine que nombras,es el tomorrow children como podemos apreciar,la iluminacion es de escandalo pero a cambio de graficos muy vacios,todo no puede ser..

Respecto a la iluminacion en consolas,no me digais porque, pero e tenido xbox/ps2,360/ps3 y one/ps4 y sony no se que hace pero sus juegos exclusivos siempre siempre siempre tienen una iluminacion mucho mas fotografica,algo tiene sus apis que almenos en esto lo clava
darksch escribió:Cone Tracing es un derivado de Ray Tracing. El ray-tracing tal cual es difícil que se use porque según parece crea excesivo aliasing, por eso siempre hay que activar un AA bastante lento en los programas que renderizan con ray-tracing. Podéis comprobarlo vosotros mismos, entre activarlo y desactivarlo hay un mundo de diferencia en tiempo de render.
http://en.wikipedia.org/wiki/Cone_tracing
Aquí un poco más.
http://www.geeks3d.com/20121214/voxel-cone-tracing-global-illumination-in-opengl-4-3/
Mi pregunta es, y viendo el uso del async en el Tomorrow Children, ¿hay que usar shaders de render, y no de computación?. Porque si seguimos cargando todo en los mismos sin posibilidad de paralelización no estamos haciendo nada, seguimos retrasando el frame.
Yo me esperaba que al ser algo tipo voxel pudiera realizarse mediante computación, usando parámetros que no requirieran el hardware de render (como texturas) para poder computarlo y no renderizarlo. Es decir el resultado tiene que ir a un RT, pero eso requiere muy poco uso del hardware de render, lo importante que es su cálculo poder hacerlo sólo mediante computación.

No es aliasing el problema del ray-tracing, es el ruido. Matemáticamente trabaja a nivel infinitesimal, pero a la hora de computarlo no puedes trabajar con un número infinito de rayos. Si alguien ha renderizado alguna escena con ray-tracing(en cualquier software de renderizado como Blender), verá como la imagen en un principio es todo ruido, y con forme pasa el tiempo el ruido va disminuyendo.

El cone tracing computacionalmente es mucho menos costoso que el ray-tracing. Tanto SVOGI, como VXGI, como este CVCT son voxel cone tracing.
Lo que llamas ruido es por los cálculos preliminares que hace al renderizar, realmente es una fase previa al renderizado.
Nuhar escribió:Lo que llamas ruido es por los cálculos preliminares que hace al renderizar, realmente es una fase previa al renderizado.

No, el ruido existe desde que comienza a renderizarse hasta que tu consideres que el ruido se ha reducido lo suficiente como para detenerlo. Cuanto más tiempo, más rayos, más muestras, menos ruido.
Imagen
Imagen
eloskuro está baneado del subforo por "flames"
chris76 escribió:Josemurcia,lo mas parecido a un juego con raytracing no es la demo del engine que nombras,es el tomorrow children como podemos apreciar,la iluminacion es de escandalo pero a cambio de graficos muy vacios,todo no puede ser..

Respecto a la iluminacion en consolas,no me digais porque, pero e tenido xbox/ps2,360/ps3 y one/ps4 y sony no se que hace pero sus juegos exclusivos siempre siempre siempre tienen una iluminacion mucho mas fotografica,algo tiene sus apis que almenos en esto lo clava


Pero es lo que te dice Josemurcia, la tecnica se llama Cascaded Voxel Cone Tracing, y así lo veras escrita en todas partes.

Lo del ray metido en su nombre queda más bonito, pero es otro tipo de tecnica.

http://fumufumu.q-games.com/archives/Cascaded_Voxel_Cone_Tracing_final.pdf

Aqui la misma tecnica con Unity.
https://www.youtube.com/watch?v=Z1o_CCHhBTQ

La verdad que s evé impresionante ;)


----

Y de regalo la tecnica de forza horizon 2 (que tmb es diferente al ray tracing, ojo xD)

https://www.youtube.com/watch?v=eMkgjPyLA0M
Bueno lo 1º que no se pueden esperar las mismas soluciones sobre la misma base para tiempo real y pre-render. Lo 2º que si se carga completamente sobre los shaders de render no avanzamos nada, simplemente será otro sistema de GI con su coste y su resultado. Es la matemática simple, cuanto mayor calidad mayor coste. La idea sería distribuir para obtener mayor calidad al mismo coste, por usar partes ociosas.
Una verdadera pena lo de la SVOGI de UE4. Ojalá de aquí a unos años la vuelvan a meter aprovechando el hardware de PC.

Imagen

La VXGI de NVIDIA se puede ver en acción aquí: https://vimeo.com/123529596

Por si alguien no la ha visto. También hay que tener en cuenta que está en beta y funciona con un rebote ahora mismo.

Y PDF de NVIDIA: http://on-demand.gputechconf.com/siggra ... t-GPUs.pdf
josemurcia escribió:
Nuhar escribió:Lo que llamas ruido es por los cálculos preliminares que hace al renderizar, realmente es una fase previa al renderizado.

No, el ruido existe desde que comienza a renderizarse hasta que tu consideres que el ruido se ha reducido lo suficiente como para detenerlo. Cuanto más tiempo, más rayos, más muestras, menos ruido.
Imagen
Imagen


Eso es en el activeshade, en tiempo real para que nos entendamos. Al menos en 3dsmax y lo que yo conozco :P
eloskuro está baneado del subforo por "flames"
GPUMMU
https://msdn.microsoft.com/en-us/library/windows/hardware/dn894173%28v=vs.85%29.aspx
In the GpuMmu model, the graphics processing unit (GPU) has its own memory management unit (MMU) which translates per-process GPU virtual addresses to physical addresses.
Each process has separate CPU and GPU virtual address spaces that use distinct page tables. The video memory manager manages the GPU virtual address space of all processes and is in charge of allocating, growing, updating, ensuring residency and freeing page tables. The hardware format of the page tables, used by the GPU MMU, is unknown to the video memory manager and is abstracted through device driver interfaces (DDIs). The abstraction supports a multilevel level translation, including a fixed size page table and a resizable root page table.
Although the video memory manager is responsible for managing the GPU virtual address space and its underlying page tables, the video memory manager doesn’t automatically assign GPU virtual addresses to allocations. This responsibility falls onto the user mode driver.


Imagen

Nick Baker
: There was lot of bitty stuff to do. We had to make sure that the whole system was capable of virtualisation, making sure everything had page tables, the IO had everything associated with them. Virtualised interrupts.... It's a case of making sure the IP we integrated into the chip played well within the system. Andrew?

Andrew Goossen
:..................Nick talked about the page tables. Some of the new things we have done - the GPU does have two layers of page tables for virtualisation. I think this is actually the first big consumer application of a GPU that's running virtualised.
........................ Our memory manager on game title side is completely rewritten. We did that to ensure that our virtual addressing for the CPU and GPU are actually the same when you're on that side. Keeping the virtual addresses the same for both CPU and GPU allows the GPU and CPU to share pointers. For example, a shared virtual address space along with coherent memory along with eliminating demand paging means the GPU can directly traverse CPU data structures such as linked lists.


-------


Both the CPU's MMU and the GPU's IOMMU have to comply with the HSA hardware specifications.
Imagen
http://en.wikipedia.org/wiki/Heterogeneous_System_Architecture

-----
Xbox One
Imagen
Imagen
-----

En las nuevas API´s, las direcciones virtuales tendrán tmb mucho peso para usar eficientemente el HSA, para este tipo de tecnicas de iluminación en tiepmpo real?


----

+ info sobre vGPU y como funciona GRID.
http://www.nvidia.com/content/grid/resources/White_paper_graphics_accelerated_VDI_v1.pdf

Al parecer las API´s van tmb por ese camino. Dejar la puerta abierta a la computación en nube. Eso me dá que solo es posible con la virtualización.
Buenas gente. No notáis como un ambiente tenso en el hilo? [+risas] [+risas] [+risas] .

Con respecto a las famosas pruebas de RayTracing en XboxOne. Si vais al SDK de XboxOne, y vais hasta Samples, os aparece ese mismo ejemplo que habéis puesto (recuerdo q vi esas imagenes en el SDK pero a saber en que parte jajaja) y que curiosamente data de Junio de 2012, q es cuando se añadió el ejemplo al SDK. Por otra parte es el ejemplo más básico y simple de RayTracing que se puede hacer en una GPU (incluso se puede hacer en un pixel shader no necesitas usar un Compute Shader) ya q son objetos paramétricos (esferas y planos). Hay mil ejemplos similares en internet los cuales os podeis bajar y ejecutar:

https://www.youtube.com/watch?v=vY9-tueHBCQ
https://www.youtube.com/watch?v=oq9hl48QsTU

@eloskuro con respecto al Rayleigh scattering se lleva usando desde hace mucho tiempo, q parece q se ha descubierto ahora la pólvora, da igual la API que uses y el hardware sobre el que se ejecute (incluso con Pixel Shader 2.0 ya se podía implementar):

CryEngine 2: http://amd-dev.wpengine.netdna-cdn.com/ ... _Games.pdf

Frostbite Engine: http://www.csc.kth.se/~bengtl/SimTek/SF ... tation.pdf

Se puede encontrar esa técnica en producción desde hace mucho tiempo:
http://http.developer.nvidia.com/GPUGem ... ter16.html

Por último decir que se están generalizando y confundiendo ciertos términos que aunq parezcan similares no lo son y se están usando como sinónimos (raytracing, raycasting, cone tracing, ray marching, tecnicas de iluminación global como path tracing, phonton mapping...). RayTracing es una forma-algoritmo-metodo de renderizar como es por ejemplo la rasterización, pero donde para cada pixel de la imagen se "lanzan" uno (o mas si se hace antialiasing) rayos desde el punto de vista del observador y se interseca con la geometría de la escena. Eso es lo básico.

Raycasting no es lo mismo que el algoritmo de raytracing (raytracing usa trazado de rayos pero es más que eso), puedes trazar rayos para hacer detección de colisiones, para calcular ciertos parametros del sonido, para hacer iluminación global... Es diferente aunq parezca lo mismo.

A partir de ahí se pueden construir muchas técnicas nuevas o variantes de las anteriores. Por ejemplo para hacer iluminación global generalmente lanzas rayos pero depende desde donde los lances (fuentes de luz, objetos) y el camino que estos sigan (desde el observador hacia la escena o al revés) obtienes unos resultados u otros y la imagen puede salir mas o menos granulosa y se tendrán que lanzar mas o menos rayos...

SVOGI y Voxel Cone Tracing son aproximaciones y refinamientos para poder calcular ciertos parámetros de un material o iluminación. Son técnicas bastante complejas de entender y creo q se escapan de la finalidad de este hilo.

EDITO: tb se puede hablar de hardware en el hilo?.

Un saludo.
eloskuro está baneado del subforo por "flames"
si. Porque sin HSA, computación en nube y virtualización tú me dirás como se consiguen esas tecnicas en tiempo real xD
Buenas gente. @eloskuro qué técnicas?. Hablar de memoria virtual (no es lo mismo que la virtualización), virtualización, paginación, MMUs, espacio unificado de direcciones...son temas más cercanos al hardware y sobre todo a la gestión que hace el sistema operativo y el driver (y a niveles bastantes profundetes) que de una API gráfica (DirectX12, Vulkan, la API de XboxOne y Ps4) por lo q para mí, queda lejos del fin de este hilo, al menos así lo entiendo yo. Si moderación y el creador del hilo quieren hablamos de lo queráis [+risas] .

Un saludo.
eloskuro está baneado del subforo por "flames"
Parece que quieres desviar la atención. Yo no he dicho que la virtualizacion sea lo mismo que la memlria virtual.

Estabamos hablando de ray tracing y tecnicas similares, que segun para qué juegos, las graficas actuales de xbo y ps4 no pueden ni soñar en usarlas. Con hsa, y ademas, computación en la nube quizá puedan conseguir algo similar y decente. Hemos visto de lo que es capaz nvidia con si grid. Por eso tmb he hablado de grid. A parte de que las API tienen que agilizar el cloud computing, obviamente. No es lo unico ke de necsita. Una api solo en un engranaje mas en un todo. Hard, engine, tecnicas, api, hard en la nube, virtualización...

No me puedes negar que las apis tienen que aportar su granito de arena
Me gustaría que se potenciara el local computing antes, no nos lo vayamos a saltar. Ya que todo eso de MMU y HSA tiene directa relación con la forma de trabajar de por lo menos DX12.
https://msdn.microsoft.com/en-us/library/dn899198(v=vs.85).aspx
Direct3D 12 allocates video memory in pages, the size of which is determined by the heap properties. Different types of resources might use different page sizes. If a resource heap might need to contain a number of resources of different page sizes, then the heap should be aligned to the largest page size of the relevant resources.

Entonces, veo que el asunto puede ir, en plan muy groso, algo así como:

allocate en memoria HSA (o compartida, coherente, como se quiera llamar)
GPU computing
CPU puede acceder a esa memoria

Así es mucho más parecido a como se hace con CPU, que al fin y al cabo es eso mismo, un "malloc" (puede estar expandido a clases pero es lo mismo) y luego procesamiento, y esa memoria se gestiona en páginas. Es un modelo de memoria lineal y "compartido", en lugar de estar creando zonas de datos específicas, y copiando datos de aquí para allá.
eloskuro escribió:----

Y de regalo la tecnica de forza horizon 2 (que tmb es diferente al ray tracing, ojo xD)

https://www.youtube.com/watch?v=eMkgjPyLA0M


Time lapse existen desde hace mucho tiempo, funcionando en hardware mas limitado y de igual forma en mundo abierto, ojo.

https://www.youtube.com/watch?v=ZMm2pNRBP_w

Este otro de un juego old-gen adaptado a la next-gen ( que mas bien seria current-gen porque ya tenemos casi 2 años con ellas)

https://www.youtube.com/watch?v=QTeUN4yuxpU

PD: También soy de los que piensan que es mejor el "local computing" que el "cloud computing" (al menos en el futuro cercano).
eloskuro escribió:----

Y de regalo la tecnica de forza horizon 2 (que tmb es diferente al ray tracing, ojo xD)

https://www.youtube.com/watch?v=eMkgjPyLA0M




Pregunta para los que saben del tema. Porque las sombras (de los edificios sobre todo) se mueven "a saltos" cuando los coches y otras cosas se mueven de forma mas fluida?

Un saludo!
eloskuro está baneado del subforo por "flames"
argam escribió:
eloskuro escribió:----

Y de regalo la tecnica de forza horizon 2 (que tmb es diferente al ray tracing, ojo xD)

https://www.youtube.com/watch?v=eMkgjPyLA0M




Pregunta para los que saben del tema. Porque las sombras (de los edificios sobre todo) se mueven "a saltos" cuando los coches y otras cosas se mueven de forma mas fluida?

Un saludo!


Porque nada es perfecto en la vida. Se van cargando las sombras dinamicamente, segun la hira del dia, pero la transicion de la sombra no es perfecta. Eso si. Da el pego
Esas sombras (de los edificios) no son dinámicas @eloskuro, una sombra dinámica no puede ir a saltos pq se genera respecto al foco de iluminación. Esas están scriptadas con la hora del día con una posición predefinida.

Sombras dinámicas Skyrim: https://www.youtube.com/watch?v=fk4AOQwa_Tc
gta IV: https://www.youtube.com/watch?v=dZlBLyNXbJ4
Gaiden escribió:Esas sombras (de los edificios) no son dinámicas @eloskuro, una sombra dinámica no puede ir a saltos pq se genera respecto al foco de iluminación. Esas están scriptadas con la hora del día con una posición predefinida.

Sombras dinámicas Skyrim: https://www.youtube.com/watch?v=fk4AOQwa_Tc
gta IV: https://www.youtube.com/watch?v=dZlBLyNXbJ4


Interesante.

Gracias!
eloskuro está baneado del subforo por "flames"
Gaiden... Como te he dicho antes, no todo puede ser perfecto en la vida. Solo que nonse donde quieres llegar y me da igual. Forza horizon dos tiene tiempo dinamico y transiciones de dia y noche. Al tener tiempo dinamico, las sombras acaban siendo cargadas dinamicamente por mucho ke su movimiento diste mucho de ser perfecto.
Un saludo

Pd: el ejemplo de fh2, es para hablar de este tipo de tecnicas en dx12, vulkan y la api de ps4.
Si quieres aportar algo y dinamizar el hilo tú mismo. Estoy expectante

Pd2: insisto en que dije que iban cargandose dinamicamente, y no dije que fuesen sombras dinamicas.Pero gracias por el aporte
Son dinámicas pero no se calculan todas a cada frame. Cuando tienes tantos elementos que calcular (entorno abierto) y un periodo largo de cambio es una optimización básica.
No se como seran,pero el resultado no puede ser mas cutre,ayer lo probe yo dejando el mando en la mesa y esperando que fuera anocheciendo y las sombras de los edificios van a saltos

En cuanto a iluminacion,time lapse y efectos climatologicos,driver club esta muy muy por delante de horizon2,(tengo los dos juegos)
1577 respuestas
14, 5, 6, 7, 832