(Osea... RayTracing en RealTime.)
Leo en
CodePixel la siguiente
noticia.
Realmente me ha sorprendido.... y todo eso con un prototipo que corre a 90MHz.
¿Que opinais? ¿Nos encontramos ante el futuro del 3D? ¿Moriran los Vertex/Pixel Shaders (y el resto de la tecnologia actual) tan pronto?
pd. saludos pa derethor. ;)
Nadie puede decir aun que vaya a ser el subsituto pero si que te puedo decir que no es el futuro proximo, en la pagina esa pone que se consiguio ejecutar en tiempo real a 512x512 gracias a un cluster de 20 AMD XP1800, es decir, un ordenador virtual de 36GHz.
Además los modelos de los personajes parecen mas bien Quake I. Aun asi, tambien pone que con un hardware que permita raytracing 3 veces mas rapido que el mejor
prototipo actual (que va a 90MHz y tiene una potencia de raytracing similar a un ordenador a 12GHz) se podria ejecutar en tiempo real en un ordenador normal.
[offtopic] En los screenshots aparecen dos bichos que son igualitos a unos del Doom II, ¿alguien sabe si se hizo una version 3D de ellos para otro juego? [/offtopic]
No es por fastidiar, pero creo que el raytracing nunca va a destronar a los PS. Simplemente porque son técnicas orientadas a finales distintos: el raytracing usa técnicas donde lo que más importa es el fotorealismo, sacrificando velocidad como sea necesario. Las técnicas actuales de tiempo real por contra, quieren represetar la mayor cantidad de detalle, pero siempre dentro de los límites impuestos por el rendimiento en tiempo real. Gracias a estas técnicas se peuden alcanzar niveles de detalle increiblemente parecidos a los que usa el trazado de rayos, pero siempre con "trucos" y optimizaciones, nunca con técnicas de trazado de rayos.
Como curiosidad, en cambio, es muy interesante ese proyecto, y se pueden conseguir efectos interesantes.
Schaffer: si ke son del doom2, alguien los habrá hecho en 3D, pero no creo que para ningún juego oficial.
...
CitarEn los screenshots aparecen dos bichos que son igualitos a unos del Doom II, ¿alguien sabe si se hizo una version 3D de ellos para otro juego?
Son modelos md2 para el
Doomsday Engine y se pueden descargar
aqui.
Un saludo.
Ruben3d
Cita de: "Schaffer"Nadie puede decir aun que vaya a ser el subsituto pero si que te puedo decir que no es el futuro proximo, en la pagina esa pone que se consiguio ejecutar en tiempo real a 512x512 gracias a un cluster de 20 AMD XP1800, es decir, un ordenador virtual de 36GHz.
Además los modelos de los personajes parecen mas bien Quake I. Aun asi, tambien pone que con un hardware que permita raytracing 3 veces mas rapido que el mejor prototipo actual (que va a 90MHz y tiene una potencia de raytracing similar a un ordenador a 12GHz) se podria ejecutar en tiempo real en un ordenador normal.
[offtopic] En los screenshots aparecen dos bichos que son igualitos a unos del Doom II, ¿alguien sabe si se hizo una version 3D de ellos para otro juego? [/offtopic]
20 Athlon XP1800 no es ni de coña un "pc virtual" de 36Ghz ya q este corre a 1533mhz asiq en todo caso seria un "pc virtual" de 30Ghz (aunq en % varia poco) pero... lo peor es q un sistema multiprocesador por muy bien diseñado q este y aunq sea una tarea tan "guay" como el render para adaptarse a este entorno... no da ese mismo rendimiento, vamos q 2 cpu no son el doble de rapido q una sola a la misma velocidad en NINGUNA TAREA, justo los render(lease 3dsmax y tal) son los q mejor aprovechan esto y el resultado es mas de un 50% q ya sta bien :) luego... la cpu para correr eso no esta tan lejos de ser diseñada.
Mi opinion es q hoy por hoy...pixel & vertex shaders pero el futuro... el futuro ira por raytracing y todas las tecnicas q hoy en dia utilizan todos los paketes gordos, tiempo al tiempo, al paso q vamos haremos hasta un matrix jejej
akabo de ver q eso de los 36ghz lo han puesto ellos en la web..jeje
como se flipan! asi kda mas bonito...un chip de 90mhz tan rapido como otro de "36"ghz (ojo, q pue ser pero q no este el caso...ya hice las cuentas antes)
Algunos dicen que cuando el hardware mejore y permita una tasa de frames mediante raytrace a tiempo real entonces se migrará a ese sistema pero es que cuando tengamos hardware para mover un RT a tiempo real podremos usar ese mismo hardware en proyección de escena y conseguir resultados mil veces mejores.
Si tengo que elegir entre un raytracer a tiempo real con modelos de bajo poligonizacion (eso si, con sus preciosas reflexiones y refracciones) y un engine de proyeccion de escena con millones de poligonos y shaders para los materiales pues me quedo con lo segundo.
Cita de: "tamat"Si tengo que elegir entre un raytracer a tiempo real con modelos de bajo poligonizacion (eso si, con sus preciosas reflexiones y refracciones) y un engine de proyeccion de escena con millones de poligonos y shaders para los materiales pues me quedo con lo segundo.
¿Modelos de baja poly? Si no recuerdo mal habia un ejemplo de unos girasoles que todos juntos hacian un monton de polys... :P
Ademas, ¿quien no tiene hoy en dia un par de clusters de 20 AMDs? :rolleyes:
Entiendo que, sobre todo los mas jovenes, piensen que en el futuro el Raytracing sustituira a la forma de trabajar actualmente en graficos 3d.....
Pero sinceramente, pienso que aun que ocurra, seria un gran error, por que con la misma potencia, a base de poligonos se rinde mucho mas, y la diferencia de calidad de la imagen puede ser practicamente nula.
Es decir que desaprobechariamos potencia simplemente por darnos el gusto de decir "es por raytracing tio!".
Saludos.
CitarAlgunos dicen que cuando el hardware mejore y permita una tasa de frames mediante raytrace a tiempo real entonces se migrará a ese sistema pero es que cuando tengamos hardware para mover un RT a tiempo real podremos usar ese mismo hardware en proyección de escena y conseguir resultados mil veces mejores.
Esta es la cuestión, por eso decía que nunca se migrará a un sistema más enfocado al fotorrealismo (raytracing) que a la velocidad (técnicas de tiempo real). Cuando los ordenadores sean tán rápidos para generar imagenes en tiempo real con trazado de rayos, no podemos ni imaginarnos el tipo de resultados en el campo del tiempo real, que serán (creo yo) aparentemente similares, solo que usando otras técnicas.
Una pequeña reflexión: el archiviejo Wolfenstein 3D de IdSoftware (y los Doom I y II también) usaban un sistema de trazado de rayos. XD. Pero claro, con tantísimas optimizaciones y premisas obligatorias (como que en el wolfenstein las paredes todas formaban angulos de 90 grados y que el suelo y el techo ddebia ser liso y ser paralelos ente sí, facilitando muchísimo el cálculo de colisiones) que podía hacerse en tiempo real en un 386. No era un sistema de trazado de rayos fotorealista, pero se sustentaba en las mismas bases para vidualizar la geometría...
¿Y cuando dentro de XX años tengamos global illumination en tiempo real que, eh? :P
Ya vereis ya.... yo ya estoy ahorrando pa comprasme un PC con CPU quantica (uoh)
Ahora en serio... yo creo que si es el futuro (otra cosa es a cuantos años esta).
Ya lo habeis comentado algunos por aqui; el 3D que usamos esta basado en trucos/parches con sus limitaciones. El realismo que consiguen los RayTracers puede llegar a ser tremendo; aunque el de la pagina en cuestion no es gran cosa,.... Por muchos trucos que se usen creo que no se conseguira un nivel tan fiel de realidad, por las simples limitaciones de esos trucos.
Por cierto, lo de "el fin de los Vertex/Pixel Shaders" era puro sensacionalismo para llamar la atencion;... sin ir mas lejos no veo pq no pueden seguir existiendo vertex shaders (o algo parecido) en una arquitectura como esa.
Yo creo que el RT ofrece unas posibilidades tremendas y resuelve un montón de problemas(sombras, iluminación, reflejos, transparencias). ES la forma de resolver el problema y no como se está haciendo ahora, a base de programación. Creo que es un problema únicamente de velocidad, y por ahí leí hace algunos meses de una gente que estaba desarrollando un programa para hacer RT en tiempo real:
CitarLa ventaja que tenemos nosotros respecto a los de la triangulación es que el tiempo corre a nuestro favor.
Para mi tienen toda la razón. No debería ser imposible, no sé nada de implementación de chips, crear un chip que renderizara una escena por hardware siguiendo unos parámetros. La ventaja que eso supondría sería enorme, porque los engines se limitarían a la física, y se dejaría la renderización para el hardware. Eso sí que es paralelismo.
De todas formas, estoy elocubrando. Pero mi opinión es que dentro de unos años, ya no importará que tu tarjeta genere 3 billones de polígonos, importará que pueda o no mostrar ciertas imágenes y quizás, la única forma, sea RT.
Yo también creo que el RT es el futuro. Y por supuesto los vertex & pixel shaders no desaparecerán. En todo caso se unificarán y seguirán siendo la mejor forma de describir el comportamiento de las superficies ante la luz.
Y si no mirad RenderMan. Los vertex & pixel shaders actuales están basados en la tecnología de Pixar y si alguno ha programado shaders para RenderMan sabe que en ciertas funciones está utilizando RT de una forma totalmente transparente. Por ejemplo, con las funciones trace, gather, transmission, occlusion o indirectdiffuse estamos indicando al motor de render que queremos lanzar rayos secundarios para acumular más información sobre la escena. Por ejemplo, con occlusión lanzamos rayos y vemos qué porcentaje de ellos colisiona con alguna superficie ayudándonos así a calcular el ambient occlusion (que es una forma "barata" de simular GI).
Además que yo sepa es la única forma de conseguir verdadera GI y está claro que los gráficos en tiempo real se están orientando hacia esa dirección. Sólo hay que ver las técnicas que se están empezando a utilizar para emular GI como pueda ser Spherical Harmonics (SH). El problema actualmente es que hay que realizar un precálculo para poder utilizarlo en tiempo real y su mayor inconveniente es que no puede utilizarse en escenas donde la geometría es totalmente dinámica.
El inconveniente aquí es que el API 3D no tiene conocimiento de la disposición geométrica de la escena por lo que ahí está el problema a la hora de optimizar el lanzamiento de rayos. Estaríamos lanzando rayos "a lo loco". Supongo que la solución es que el propio API mantuviera un arbol de jerarquía (BSP, por ejemplo) para acelerar el trazado de rayos. Es lo que hacen los grandes raytracers actualmente (PRMan, VRay, Brazil, MentalRay...).
Pero bueno, supongo que aún queda bastante para que ese día llegue pero llegar yo creo que sí llegará. :D
Saludos.
Cita de: "Haddd"La ventaja que eso supondría sería enorme, porque los engines se limitarían a la física, y se dejaría la renderización para el hardware. Eso sí que es paralelismo.
Yo también opino que el RT será el futuro de los gráficos.
Y ya que mentas a la física, también creo que los objetos serán tratados como átomos. Así la física sería realista 100%: deformaciones, fisuras, colisiones, distintos materiales...
Saludos.
Cita de: "Haddd"De todas formas, estoy elocubrando.
¿Qué leches significa eso?
En el DRAE no aparece.
Saludos.
PD: BeRSeRKeR mamón ;)
Ah bueno y también decir que aunque llegase el día en que podamos utilizar un sistema como el de RenderMan pero en tiempo real, el que actualmente esté utilizando pixel shaders verá que realmente no hay diferencia. Nosotros programaremos igual que lo estamos haciendo ahora sólo que habrán ciertas funciones internas (como las que he citado en el mensaje anterior) que se ejecutarán en la GPU y son las que se encargarán del trazado de rayos. Como he dicho, a nosotros nos será totalmente transparente este proceso.
Saludos.
PD: NeLo, manso :P
[Offtopic]
Mejor busca elucubrando (elucubrar)
[/Offtopic]
el futuro son los voxel.
llegara un dia en el que dejaremos de conocer los triangulos y demas poligonos, porque los personajes seran mallas de miles de puntos que conformaran las figuras, les dara forma color...
ahora, de aqui a unos años, seguiremos como estamos, xqe no hay raytracing perfecto. Ahora mismo podriamos hacer los renders del primer max en tiempo real, pero eso ya no sirve. de igual manera para cuando podamos tener en tiempo real un render de max6, eso ya no bastara, necesitaremos aun mas calidad y efectos qe solo podemos obtener en base a trucos. Es el overclock eterno chicos.
yo creo que en el momento que tengamos 40GBs de memoria ram todos estos problemas quedaran resueltos del siguiente modo:
Se crea un buffer 3D que contendrá todo el mundo y pintamos en él TODOS los planos del escenario, pero los pintamos en 3D (no proyectando a 2D), es decir, dado que el buffer es 3D pues usamos los actuales algoritmos de rellenados de poligonos pero en lugar de 2D lo hacemos en 3D. Así construimos el mundo dentro del buffer.
Cada celda del grid que forma el buffer del mundo contiene el color de ese 'atomo' de mundo.
Y una vez está el mundo en memoria pues renderizamos usando una simplificación del RT (te ahorras tener que calcular colisiones contra cada objeto, solo tienes que recorrer el grid hasta topar con un pixel opaco).
Fin de la historia.
(todo esto es invención mia)
Edit: Ostia seryu, mientras escribía el post has puesto tu uno que viene a decir lo mismo :/
Yo creo que las cosas seguirán siempre como están ahora.
Decir lo contrario me parece como decir que cuando los ordenadores vayan a 100 GHz, los drivers del disco duro y la bios de la placa base se podrán programar en Visual Basic. Me parece a mi que los drivers seguirán haciendose en ensamblador...
un saludo
El RayTracing en tiempo real sin duda se implementará antes del SoundTracing a tiempo real :P
Eso de que los drivers se seguirán programando en ensamblador... Me atrevería a decir que un 75% (o más) del código de la mayoría de drivers de Windows está escrito en C, actualmente :rolleyes:
sync
Ya puestos a pensar en futuro deberiamos olvidarnos de los displays 2D, a ver cuando sacan un display 3D funcional y barato. O ya puestos, implantes neurales y que nuestro cerebro haga el antialiasing. (uoh)
Y que me decis del futuro de los controles, no creo que el futuro sean los joysticks o el teclado y raton de toda la vida.
Cita de: "Schaffer"Y que me decis del futuro de los controles, no creo que el futuro sean los joysticks o el teclado y raton de toda la vida.
Eso! A la mierda los ratones, los teclados, la tendinitis y el sindrome del tunel carpal. El futuro es el control mental,... y las jaquecas. :lol:
Ya queda menos.
Control Mental (uoh)
Au.
La tecnología tiende a imitar la naturaleza así que el futuro (a medio, largo o larguísimo término) será aquello que imite la realidad. En el mundo real la luz llega a los ojos, y no al contrario, así que el futuro será trazado de rayos. En el mundo real los objetos están formados por átomos (más adelante podríamos llegar incluso a terrenos subatómicos), no sólo con una posición, sino con una inercia, una masa, una atracción magnética, etc. Y la luz no será tres valores rojo, verde, azul, sino que también se tratará como partículas con ciertas características. O quizá se trate todo como ondas.
No obstante, otro futuro posible es lo que yo llamo la realidad conceptual. Estaremos inmersos (voluntaria o involuntariamente, temporal o contínuamente) en un mundo virtual en el que no existirán datos concretos sino únicamente conceptos. Esto lo que hace es imitar el cerebro humano en vez de imitar la realidad. Cosa lógica después de todo porque el mundo es lo que parece, no lo que es. Para explicar mi teoría de manera sencilla: ¿pensáis que en matrix el mundo estaba formado por polígonos, voxels, quantos, o lo que sea? No, el mundo estaba definido por conceptos, y cada uno de los humanos percibía esos conceptos de acuerdo a sus "prejuicios", es decir, a la información previa que tuviese en su cerebro. Como la vida misma, vamos ;)
Y la información, por supuesto, llegará directamente al cerebro, no a los nervios sensitivos (ojos, oído, tacto, etc)
Bueno, es una teoría sin más.
PS: Matrix es una película entretenida, pero como historia es bastante absurda (a la par que nada original)
Bueno, es otra teoría sin más :)
Cita de: "tewe76"No obstante, otro futuro posible es lo que yo llamo la realidad conceptual. Estaremos inmersos (voluntaria o involuntariamente, temporal o contínuamente) en un mundo virtual en el que no existirán datos concretos sino únicamente conceptos. Esto lo que hace es imitar el cerebro humano en vez de imitar la realidad. Cosa lógica después de todo porque el mundo es lo que parece, no lo que es. Para explicar mi teoría de manera sencilla: ¿pensáis que en matrix el mundo estaba formado por polígonos, voxels, quantos, o lo que sea? No, el mundo estaba definido por conceptos, y cada uno de los humanos percibía esos conceptos de acuerdo a sus "prejuicios", es decir, a la información previa que tuviese en su cerebro. Como la vida misma, vamos ;)
Y la información, por supuesto, llegará directamente al cerebro, no a los nervios sensitivos (ojos, oído, tacto, etc)
Bueno, es una teoría sin más.
Es una teoría interesante y ciertamente tiene su lógica pero habrían conceptos no vividos por la persona que sería incapaz de interpretar.
Pongamos el ejemplo de Matrix. ¿Sería posible hacer "ver" a una persona el concepto de perro sin haber visto en su vida un perro?. Me refiero a los humanos "nacidos en Matrix" que no han tenido contacto alguno con "la realidad". ¿Cómo sabe que un perro es un perro?. :D
Saludos.
Citar¿Sería posible hacer "ver" a una persona el concepto de perro sin haber visto en su vida un perro?
Hombre, todo concepto está formado a partir de subconceptos. Un perro es un mamífero, de un cierto tamaño, con un cierto número de patas, unos colores, un peso, un comportamiento...
En cualquier caso, creo que no he explicado muy bien la teoría. Yo voy más allá. Por ejemplo, la función de un videojuego es entretener, hacerte sentir útil al superar ciertos retos, agradarte estéticamente, o lo que sea. Todos estos sentimientos se pueden conseguir actuando directamente sobre ciertos grupos de neuronas, asi que todos los demás caminos que se puedan usar para llegar a ese fin será dar rodeos. El objetivo final que buscan la inmensa mayoría de las personas (ésto se refleja en las religiones) es encontrar el paraíso. Un paraíso no es un vergel con palmeras, animales dóciles y buen clima, sino una situación (no necesita ser siquiera un lugar) que resulta eternamente placentera. Y el sentimiento de placer se oculta en algunos grupos de neuronas, con total seguridad. Una vez encontrados, se estimularán y eureka, paraíso eterno (al menos lo sentiremos como eterno, lo que en la práctica lo convierte en eterno)
Esto lógicamente entra en el terreno filosófico y mucha gente lo rechazará, no le gustaría vivir en un mundo así, al igual que, supuestamente, muchas habitantes de matrix desean salir de ella. Desde mi punto de vista, si alguien desea salir de matrix es porque no le han comido lo suficiente la cabeza.
Bueno, es un tema muy complejo, quizá siga profundizando más adelante :)
Si el cerebro fuera continuamente estimulado para alcanzar ese Nirvana, acabaría embotándose de esa sensación y dejaríamos de sentir esa felicidad. Habría que ir aumentando la potencia de la señal para que ésta continuara surtiendo efecto, y así nos cargaríamos el sistema neuronal.
Creo que era Colsonete el que tenía de nombre en el messenger: "There would be no sweet without the bitter" o algo similar.
Vamos, que a veces somos felices porque a veces no somos felices. Dice la sabiduría popular que "sólo el mediocre está siempre en su mejor momento", yo lo veo como algo así.
No hay que menospreciar los malos momentos de la vida. Always look on the briiiiiiiiiight side of death... turut... turut turururut...
Cita de: "fiero"Yo creo que las cosas seguirán siempre como están ahora.
Decir lo contrario me parece como decir que cuando los ordenadores vayan a 100 GHz, los drivers del disco duro y la bios de la placa base se podrán programar en Visual Basic. Me parece a mi que los drivers seguirán haciendose en ensamblador...
un saludo
sin ganas de joderte la teoria o el simil, los drivers ya se programan en su mayoria en C. Al igual que antes casi todo se utilizaba asm y ahora hemos pasado a c o c++. Y tenemos lenguajes de bases de datos, qe es la cosa de mas alto nivel qe ha parido madre, y las oracle sysbase y cia manejan bases de datos de un tamaño considerable, asi qe no son para programas anecdoticos..
...
Ya se yo que este thread andaba RIP pero he visto esto y creo que os podra interesar...al fin y al cabo...son kienes junto con otros pocos por ahi...gobernaran nuestro futuro grafico:
http://www.gamestar.de/magazin/specials/ha...hardware/17734/güen provecho :)
CitarIt would actually be interesting to combine the vertex and pixel shaders of today's GPUs with a ray tracing core. [...] In ray tracing all that needs to be done is sending one or more rays, which can be completely done in hardware and does not involve the application at all. The application simply defines the appearance of surfaces via small shader programs and the ray tracing engine does all the rest
Justamente lo que dije, las cosas seguirán programándose a través de los shaders y el motor de ray tracing; que se encontrará en la GPU, se encargará de trazar rayos a instancias del shader.
Yo creo que a la conclusión a la que se llega es que el ray tracing acabará imponiéndose. Lo cual es lógico por lo que ya dije, ciertas cosas como la verdadera GI sólo se pueden conseguir a través de ray tracing.
Eso sí, en esa "entrevista" cada uno llega a esa conclusión tirando para su terreno. :)
Gracias TheAzazel por el enlace. Está muy interesante.
Saludos.
Cita de: "BeRSeRKeR"Yo creo que a la conclusión a la que se llega es que el ray tracing acabará imponiéndose. Lo cual es lógico por lo que ya dije, ciertas cosas como la verdadera GI sólo se pueden conseguir a través de ray tracing.
Si por GI te refieres a global illumination no estoy de acuerdo.
Hace poco programé un RT como practica para una asignatura de la carrera, el resultado era muy tipico y aunque hacía los clasicos efectos vistosos (reflexion, refracción) la iluminación era una basura, sombras totalmente lineales, y tansolo focos puntuales que quedaban de todo menos creible. Se pueden aplicar "parches" como poner muchos focos concentrados en una esfera para simular un foco esferico o ponerlos sobre un plano para simular un fluorescente pero siguen siendo apaños que tienen un coste computacional altisimo.
Para conseguir una iluminación minimamente creible tuve que implementar photonmapping que generaba los lightmaps de toda la escena lo cual añade más coste computacional y tampoco resuelve del todo el problema aunque permite sombras suaves, cualquier tipo de foco de luz, causticos y demás.
Ahora pensad en esos 30GHs del cluster, eso SOLO mueve el RT, la iluminación que usa sigue siendo la clasica de trazar rayos a cada foco para ver la aportación y eso no tiene mucho de creible, así que si quisieramos mejor iluminación tendriamos que recurrir a otro algoritmo aun más costoso como el photonmapping, entonces qué? pasamos ya a los 60GHzs ?
Yo prefiero gastar los 30GHz en generar los lightmaps y con una GPU clasica renderizar la escena por proyección, el resultado será mucho mejor.
Reitero lo que dije, si tengo 30GHzs prefiero gastarlos en otros aspectos del render que no en un RT. Si focalizo esos 30GHz en un render tradicional podré realizar miles de efectos (texturas procedurales, millones de policonos por modelo...) más complejos que si los destino a un algoritmo tan computacionalmente lento como el RT mediante el cual solo tendré un render equiparable al de las primeras versiones de 3d Studio.
Obviamente llegará el día en que usemos RT pero eso solo será cuando tengamos una capacidad 'ilimitada' de ciclos por segundo, hasta entonces por más factible que sea un RT el sistema por proyección será 1000 veces más rapido con las ventajas que eso conlleva.
Lo unico que podría cambiar esto sería disponer de cpus que trabajen perfectamente en paralelo (o cpus vectoriales) donde el RT ganaría en velocidad.
Hombre ya sé que un raytracer simple sólo calcula iluminación directa, sombras duras, etc. Pero es que para generar el photon map, el irradiance map, los lightmaps o cualquier otra técnica que se utilice para calcular GI, estás trazando rayos igualmente (raytracing), nada más que con esas técnicas se aceleran los cálculos ya que una vez que tienes ese mapa de fotones o de irradiancia, se realiza una interpolación del mismo y listo.
Evidentemente yo no digo que en un corto periodo de tiempo vayamos a conseguir los resultados en términos de calidad de raytracers como PRMan, VRay o Brazil. Sólo digo que lo lógico es que en un futuro las posibilidades de que el ray tracing acabe imponiéndose son muy altas.
Saludos.
Pero es que decir eso es como decir que las IAs al final se haran mediante simuladores de redes neuronales, o que la fisica se hará a nivel de atomos, o que la interacción se hará directamente sobre el cerebro, sin interfaces fisicos, es obvio que algun día se llegará a todo eso, tarde o temprano, tal vez en un siglo o en diez milenios, especular sobre eso es como no decir nada. Lo que tiene merito es hablar de cosas más cercanas, las que nosotros tendremos que usar (ya sea mañana o dentro de 20 años) y yo reitero que en 20 años no se utilizaran RTs porque si se dispone de la tecnología para mover RTs en tiempo real entonces se dispone tecnología para proyectar la escena mil veces mejor.
Tamat, se trata de evolucion, simple y llana. Ya puse anteriormente q eso de los 30ghz era una vacilada.... mirad en ese ejemplo el tio q hace la entrevista lo que renderiza usando RT va a 2-3fps en un dual opteron... nada de hard grafico... por otra parte, hay otro diseño por ahi muy simple q corriendo a 90mhz utiliza RT...y consigue muy buenos resultados... mira, el d nvidia se defiende ocn uñas y dientes pq acaba de sakar al gf6 y claro, no va a decir q es mejor el RT habiendo sacado la tarjeta hace semanas(de anuncio pq de venta...nothing!).
Yo personalmente, opino como muchos otros por aki....al principio sera un cambio lento y con tecnicas hibridas y poco a poco....el RT se impondra...pq? pq sera super sencillo y los resultados de la leche y yo soy optimista....no creo q falta un siglo ni mucho menos...(a saber de aki a 100años ande andaremos!), me da q antes de 10 años...lo q suceda es hoy por hoy impensable
TheAzazel, entonces me estas diciendo que se migrará a RT porque es más coherente con el modelo natural? y eso en qué influye? en la curva de aprendizaje? incluso conceptualmente creo que es más facil de entender el modelo de proyeccion de escena, porque 'pintas' triangulos, y eso lo entiende hasta un niño de 6 años, pero hablarles de rayos que parten de la camara, atraviesan la imagen y impacan contra la escena... cuesta más.
La unica ventaja que le veo al RT (además de reflexiones y refracciones las cuales todavia no pueden ser resueltas con realismo mediante proyección de escena) es que facilita mucho generar algoritmos que recreen la realidad, basta con imitarla, yo mismo cada día cuando me aburro le añado alguna pijada a mi raytracer, y normalmente no tengo que cambiar casi nada, solo un metodo o una funcion, sin embargo en mi 'engine' cuando quiero añadir alguna feature me toca reescribir muchas cosas... porque tengo que hacer 'trucos' para finjir efectos.
pa mi que vamos a ver antes peliculas con metodos de videojuegos (sobre todo ahora que estan los saders) que videojuegos con raytracing...
...y pa cuando haya capacidad para tirarar de rt, tampoco hara falta por que nos enchufaremos un cable por la nuca y a tirara de ram cerebral
un zaludito
Cita de: "Lessman"Por cierto que el VB no tendría porque ser un mal lenguaje... Otra cosa es que el "compilador" sea una castaña. Realmente la eficiencia, no viene dada por la facilidad del lenguaje, o su difícultad, sino por su rapidez en la ejecución. Y esto depende del compilador, y el código máquina que genere.
Mucha razon en eso,
Lessman, si no recuerdo mal, hay una conversion del Visual Basic en Linux que mejoraba notablemente la velocidad de ejecucion respecto a su antecesor en Windows, pero no llego a recordar con exactitud si decia que "casi" igualaba a la velocidad de ejecucion de un programa escrito en C++. De ser asi seria cojonudo para tratarse de un lenguaje pseudo-interpretado. Como le dije a un amigo mio hace tiempo:
a este paso me jubilo sin programar en otro lenguaje que no sea VB :D
Respecto al tema del post, yo tb pienso ke con el tiempo (pokito, no mas de 10 años como ya han dicho) el RT pasara a ser algo al alcance de todos y con muy buenos resultados, ahora, tb estoy deacuerdo con eso de ke si se tiene potencia para llevar a cabo esto tb se llevara a cabo el uso de los metodos tradicionales, pero mejorados, ya que sobraria potencia y se podrian conseguir resultados que ahora estan un tanto lejos del alcance de las makinas actuales.
Tiempo al tiempo y ya sabremos por donde sale el sol...
Salu2...
Cita de: "egf"pa mi que vamos a ver antes peliculas con metodos de videojuegos (sobre todo ahora que estan los saders) que videojuegos con raytracing...
Es curioso que digas eso ya que hace unos meses estuve leyendo libros sobre RenderMan y creando algún que otro shader. Supongo que sabrás que RenderMan es la tecnología de Pixar que ha sido utilizada en innumerables películas para crear contenido CG. Bueno, en realidad RenderMan es la especificación, lo que es el renderer es PRMan (aunque hay otros que cumplen con dicha especificación).
Bueno, al grano. Lo que quiero decir es que es precisamente con la llegada de las nuevas GPU cuando se están empezando a utilizar todos esos trucos que en RenderMan ya se llevaba utilizando hace mucho tiempo. Me refiero a "Image Based Lighting" (p. ej. utilización de mapas HDR) para simular reflexiones, refracciones, GI...
Si a eso añadimos que los vertex & pixel shaders están basados en los shaders de RenderMan (si les echáis un vistazo veréis que son reralmente parecidos), podemos pensar que la industria del videojuego está siguiendo la estela de RenderMan.
Ahora RenderMan implementa otro tipo de métodos basados en ray tracing para conseguir GI. Por ejemplo ambient occlusion, photon mapping e irradiance maps. Aunque no deja de lado los métodos anteriores ya que aceleran el proceso de render. Pero está claro que conforme aumente la potencia de cálculo de los procesadores, estos métodos se irán imponiendo.
Yo creo que a las técnicas que se están utilizando actualmente aún le queda mucho tiempo de vida y con ellas podremos conseguir imágenes realmente espectaculares en tiempo real. Al fin y al cabo aún hay técnicas que no se han aplicado en los juegos por falta de potencia. Por ejemplo stencil soft-shadows o quién sabe, a lo mejor la industria acaba decantándose por los shadow maps. También hay que ver hasta dónde nos lleva la técnica de spherical harmonics. No sé, realmente aún quedan muchas cosas que probar antes de dar el salto al ¿ray tracing?. Lo cierto es que si la industria del videojuego sigue los pasos de RenderMan, así será. :)
Saludos.
Mirad, un ejemplillo que mas o menos corre en nuestras CPU's... ya se q a baja resolucion y todo eso pero... esto hace poco era impensable...
http://www.realstorm.com/ya lo conocia desde hace tiempo pero no me acordaba del nombre y he pensado que vendria como anillo al dedo para este tema... tambien habla de los pros y los contras de usar esto....
tamat, si kieres nos apostamos una cerveza q antes de 10 años el RT esta demoliendo jejeje y claro..con los intereses...seran unas dos cervezas :D
...
:blink: Wow, como mola lo de RealStorm... ahora si que me quedan pocas dudas sobre el futuro del 3D.
jurl, la verdad es que impresiona pero no parece que usen RT, parece más una tecnica hibrida, os habeis fijado en como se 'discretiza' el mundo con la distancia? muy curioso el sistema
Y por cierto TheAzazel, dentro de 10 años no habrá cerveza, pero si quieres me apuesto un compuesto vitaminico liquiado con aroma a fecula de cevada.
si q es verdad q simplifican mucho las cosas... pero es q corre en tiempo real!! jejej, las sombras tb stan a muy baja resolucion y detalle pero... falta potencia :) y ademas...sta hecho en C++ sin usar SSE ni SSE2 ni na de na de na.... y tb...podrian usar las GPU nuevas para realizar algunos calculos pero...creo q su objetivo era demostrar q con una CPU de hoy dia y sin instrucciones extrañas... podrian conseguir hacerlo.
Aunq si, sta bastante recortadillo pero impresiona.....
Una pregunta para los que sabéis de raytracing:
¿Qué tal funciona esta técnica en tiempo real con cosas como hierba, árboles, pelo...?
Se pueden hacer cosas
muy bonitas pero ¿se ralentizaría mucho?
Esta claro que el punto fuerte del trazado de rayos es la geometría que se puede describir con fórmulas. Esferas, cubos, toros, superficies paramétricas y cosas así. ¿Pero con modelos de forma arbitraria? ¿volviendo a los triángulos? Entonces estamos en las mismas (bueno, con iluminación mas precisa) y las técnicas tradicionales seguirán siendo más rápidas rellenando triángulos.
Curiosidad:
raytracing en 256 bytes y
otro
Joer, esa imagen es acojonante, Thenend. A 800x600.. me queda perfecta de fondo de escritorio :P
PD: alguien me subvenciona una TFT de 30" de Apple?
Bueno, como el tema del ray tracing funcionando en una GPU (o lo que sea) nos debe pillar lejos, para temas como el pelo conformémonos con esto :lol:
(http://www.nzone.com/docs/IO/12481/screenshot2.jpg)
Por cierto, ¿alguien conoce algún paper sobre "deep shadows"?. Es la técnica que ha utilizado nVidia para el pelo de Nalu.
Ah por cierto, y como no, otra vez RenderMan parece ser el precursor de esta técnica que fue implementada en RenderMan 11. :)
Saludos.
Bueno pues la palabra clave era "Deep Shadow Maps".
Resulta que la implementación en Renderman 11 se debió a que necesitaban este tipo de efecto para el pelo, la sombra del pelo y no sé si para algunas cosas más, en la película "Monsters". :)
Saludos.
Aquí tenéis un enlace al paper escrito por los creadores (Pixar) de esta técnica.
Saludos.
Hay una cosa que no entiendo. Con tanto rollo de las patentes, ¿están patentados estos algoritmos o los puede utilizar el que quiera? Y, si no está patentado, ¿puedo ir yo y patentarlo? :huh:
No sé muy bien si este método de "Deep Shadow Maps" está patentado (creo que no) pero por ejemplo la técnica de "Photon Mapping" sí que no está patentada.
Cita de: "Haddd"Y, si no está patentado, ¿puedo ir yo y patentarlo? :huh:
¡¡Espero que no!!. :lol:
Aquí tienes la base de datos de la agencia de patentes de USA por si te pica la curiosidad qué cosas están patentadas. :D
Saludos.
Pero me refiero a que si yo por ejemplo lo implemento en mi motor, ¿Cómo sé que está patentado? Por lo que parece hay pocos algoritmos gráficos patentados, o ninguno de los que yo utilizo parece estarlo(ahora sólo falta que esté patentada la iluminación per-pixel!!). ¿Es que si lo hace alguien de una universidad eso pertenece al mundo entero?
Que complejo es esto. :blink: