raytracing

Started by syous, September 05, 2009, 06:02:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Drumpi

Y digo yo ¿por qué no aprovechas esos conocimientos y le das un repasito al modo7 de Bennu? que seguimos teniendo el mismo de Fenix y yo he tenido problemas por ejemplo intentando ejecutarlo en 16 bits. Sin contar cosas no implementadas:
-Los procesos pegan saltos entre pixel y pixel porque en modo7 los pixel del mapa miden más de un pixel de pantalla.
-Los pixels lejanos hacen un efecto raro al tomar el pixel que le corrersponde en lugar de una ponderación de todos los que debería ir en esa posición.
-No se puede ajustar la altura del horizonte.
-No se puede ajustar el ángulo de visión.
-No se puede ajustar la z.

Por no hablar de posibles mejoras como voxels (vease VSE) o el efecto del GT Advance 2 (un modo 7 con efecto relieve)...
Todo esto es más sencillo que un render 3D con rutinas de iluminación y todo eso ¿no? ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Si razón tienes Drumpi xD

No me puse con el visor 3D por puro placer, tenía que hacer un trabajo para una asignatura de informática gráfica y decidí usar Bennu porque el visor requería probar a fondo la memoria dinámica, el paso de parámetros "chungos" como matrices e incluso punteros a punteros y las primitivas de pantalla. (Además de que todas las asignaturas de informática gráfica de mi carrera las he sacado con Bennu y quería terminar cumpliendo la tradición).

Implementar el efecto de plano inclinado a la perfección tiene bastante menor complicación que lo que ya tiene el visor, de hecho se trataría de quitarle cosas, no de añadirle, y podría tener algún extra como paredes y techos, aunque la detección de colisiones con ellas ya sería otra historia...

El mayor problema lo veo para mapear la textura del suelo, ya que todo mi texturizado venía en base a algoritmos de generación de texturas (Ruido de Perin, Woodgrain y alguno más), no te .map con la textura en sí.

Hecho a groso modo, seguramente el mapa del suelo me quedaría igual o peor que el del actual modo 7 :S Se me ocurren métodos calculando el píxel "medio" en float y haciendo interpolación ponderada entre los colores de los píxeles adyacentes... Eso no debería quedar mal y factible es sin duda, otra cosa es el tiempo que habría que dedicar...

¿El modo 7 de DIV no era 100% funcional (90% vaya)? ¿No está disponible por ahí su código? Ya no recuerdo.

La verdad es que ahora mismo estoy ocupado como para ponerme con el modo7 :-[ y le veo más futuro a preocuparnos por Bennu3D... Es una pena ciertamente, pero gracias por sugerirlo Drumpi, no lo había valorado y si algún día me quedo sólo en casa y me puede el hastío me pondría a adaptar el visor 3D a ello... Aunque sea comenzar el proyecto, la base está hecha.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

syous

Quote from: SplinterGU on September 22, 2009, 05:02:03 PM
entonces, sabiendo que tarda 3 dias un solo render... cual seria la propuesta del post inicial? no la entendi...

me podrias explicar un poco mejor, tipo "for dummies"?

la idea mia era una libreria tipo vse pero de mas calidad yo ahora el raytracing lo uso para generar escenarios estaticos y no dinamicos objetos , etc

no digo que generes todo juego con el lo cual es inviable pero si para temas parciales darle mas utonomia , algo tipico videos generados por el propio motor grafico o escenarios random y generar objetos en tiempo real, efectos climaticos aplicaciones hay muchas
Un Saludo
EL dia que la humanidad aprenda a mirar y sentir con los ojos del alma, recuperara su humanidad
http://sodonline.net/
http://darknessage.ayudaprogramacion.net/
http://www.ayudaprogramacion.net/

Proyecto: MMORPG
Completado: 2%
Estado: En Desarrollo...

Windgate

Sí, desde luego se le podría sacar partido... Pero quedan tantas otras cosas por hacer con el Bennu 3D... Está en pañales.

De hecho si no fuese por Prg no habría ningún juego xD

Si se trae a Bennu el Raytracing debería ser a partir de alguien que lo haya programado en su día y liberado un código medianamente eficiente, porque hacerlo "a mano"... Gouraud ya me hizo sudar y no es ni la décima parte de complicado.

Y aún nos falta la nueva física por cierto, todas las noches lloro un poquito mientras la espero :'(
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

syous

Quote from: Windgate on September 23, 2009, 02:27:01 PM
Sí, desde luego se le podría sacar partido... Pero quedan tantas otras cosas por hacer con el Bennu 3D... Está en pañales.

De hecho si no fuese por Prg no habría ningún juego xD

Si se trae a Bennu el Raytracing debería ser a partir de alguien que lo haya programado en su día y liberado un código medianamente eficiente, porque hacerlo "a mano"... Gouraud ya me hizo sudar y no es ni la décima parte de complicado.

Y aún nos falta la nueva física por cierto, todas las noches lloro un poquito mientras la espero :'(


el codigo fuente del raytracing esta disponible para su descarga y posiblidades son infintas se podria genera cualquier grafico por codigo y hoy en dia con los procesadores actuales se podria hasta rendering en tiempo real para ciertas cosas
Un Saludo
EL dia que la humanidad aprenda a mirar y sentir con los ojos del alma, recuperara su humanidad
http://sodonline.net/
http://darknessage.ayudaprogramacion.net/
http://www.ayudaprogramacion.net/

Proyecto: MMORPG
Completado: 2%
Estado: En Desarrollo...

Drumpi

Windgate: si, el modo7 de DIV era genial, estaba casi perfecto y era facilísimo crear juegos con muy buena jugabilidad (cosa que no conseguía en Fenix, no se por qué) pero tenía sus limitaciones, como los 256 colores, la falta de posibilidad de poner pixels transparentes o aplicar semitransparencia. La pega es que no existe código fuente, lo tenía Hammer Technologies y no se si luego se lo pasó a Fastrack, y si se lo pasó quien lo tiene. Pese a lo que diga Gamemaster, yo creo que .emix surgió de dicho código.
Por lo de colisiones con paredes no habría que preocuparse, al ser verticales incluso un mapa de durezas serviría. Qué recuerdos cuando intentaba añadir paredes en DIV2 a base de lineas verticales.
Tu hazlo si tienes ganas, no hay obligación. Tampoco es necesario que implementes nada 3D, con hacer que el suelo se mueva y rote con cieta suavidad ya vale, más que nada me hastía el poder hacer juegos sólo en 8bits.

Syous: que yo sepa VSE no usaba iluminación, ETD sí, pero no era una librería para realizar renders: con un poquito de maña y una máquina de las de hoy día se pueden hacer auténticos juegazos con renderizado en tiempo real. Yo tenía entre manos un platafromas que se vió retrasado por dos motivos: gráficos, y un editor de mapas de tiles (por eso insisto tanto en el tema: mi pila de proyectos requiere siempre de un motor de tiles :()
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

SplinterGU

raytracing es muy lento sea con el equipo que sea... me parece que la tecnica en si es pesada...

si lleva 3 dias con ese equipo, con un equipo mas potente no hara que mejore al nivel de usarlo para tiempo real...

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

syous

Quote from: SplinterGU on September 24, 2009, 02:46:33 AM
raytracing es muy lento sea con el equipo que sea... me parece que la tecnica en si es pesada...

si lleva 3 dias con ese equipo, con un equipo mas potente no hara que mejore al nivel de usarlo para tiempo real...



tardo 3 dia pues mi equipo tiene casi 10 años
con los equipos actuales los quad core y dual core y las indigentes cantidades de rama y en breve octa core se puede

exitio un juego en la epoca del msdos generaba todo los terrenos por voxels en tiempo real

el outcast
Un Saludo
EL dia que la humanidad aprenda a mirar y sentir con los ojos del alma, recuperara su humanidad
http://sodonline.net/
http://darknessage.ayudaprogramacion.net/
http://www.ayudaprogramacion.net/

Proyecto: MMORPG
Completado: 2%
Estado: En Desarrollo...

laghengar

offtopic: perdón, pero, un motor de tiles??? a que te refieres???
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

¿Una matriz donde almacenar trocitos de escenario y mostrar por pantalla sólo la parte correspondiente? Había un ejemplo de eso por ahí...

Aplicado a 3D ya se me escapa eso del "motor de tiles".

Más offtopic: Creo que ya lo dije, pero hecho de menos poder alterar el size y el angle en el actual scroll[] de Bennu.

Offtopic 3º: Ayer vi un ejemplo de 6 region + 6 start_scroll que hizo un alumno y un multiscroll de nubes con 6 niveles de profundidad que era la verga en bicicleta.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

syous

Quote from: laghengar on September 24, 2009, 08:18:05 AM
offtopic: perdón, pero, un motor de tiles??? a que te refieres???

las librerias vse y etd si no recuerdo mal genneraban terrenos por voxels y eso hoy en dia se suele usar con bastante frecuencia consume un poco de cpu
Un Saludo
EL dia que la humanidad aprenda a mirar y sentir con los ojos del alma, recuperara su humanidad
http://sodonline.net/
http://darknessage.ayudaprogramacion.net/
http://www.ayudaprogramacion.net/

Proyecto: MMORPG
Completado: 2%
Estado: En Desarrollo...

laghengar

#26
Bueno tio también tienes la opción de hacer que el scroll sea un proceso y así le puedes cambiar el angle, eso lo he hecho yo, es fácil y no he tenido ningún problema.

No se, lo mismo te paso un código donde lo tengo, a ver si te ayuda (aunque lo dudo). Antes tengo que revisarlo por si lo mejoro en algo. Un saludo.

Vale, dejo esto ya, y pido perdón por este offtopic.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

Ciertamente una opción sería pillar el fuente del mod_scroll.dll y aplicarle unos cambios sutiles... Su código tendrá una complicación similar a lo que supondría hacer un scroll usando un proceso.

Lo pensé en su día... Eso ya lo dejo para estas Navidades como pronto porque ahora mismo estoy hasta arriba.

Por cierto, estábamos hablando de raytracing, maleducaus!!! (Yo el primero ;))
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Pues tengo que seguir el offtopic por alusiones:
No, ni ETD ni VSE usan un motor de tiles. Un motor de tiles es una serie de funciones que generan un scroll don un escenario gigantesco creado a partir de imágenes pequeñas denominadas "tiles", que representan un suelo, una cuesta...
El motor de tiles venía a cuento simplemente para crear los niveles, más fácil que usar el paint... y para optimizar recursos, pues cree un motor de scroll tileado que dibujaba en un gráfico, y con el podía usar un voxel pequeño.

Windgate: si, mi motor está disponible para uso público, recomiendo la última porque sólo usa un proceso por tile visible en pantalla (se pueden añadir filas y columnas extra en los bordes si se quiere) NO vacío. Soporta varias capas (según potencia del equipo ;D) y gracias a eso sí que podría tener alguna utilidad 3D: imaginalo para un editor de niveles de los primeros Tomb Raider. Y espero tener en breve una versión del mismo con soporte ISOMÉTRICO, lo necesito para hacer un Tower Defense antes del día 10.

Laghengar: te olvidas de las optimizaciones de splinter en el scroll, que sólo dibuja lo que se ve. Ya sabes lo que pasa con un proceso que mueve un mapa gigante, que necesitas mucha máquina.

Windgate2: si, yo tambien pensé en modificar el mod_scroll, pero aun necesito aprender algo más de C, tanto para lo que proponeis como para pasar mis motores tileados a módulos.

Vale, vale, ya dejo el offtopic. Raytracin caca, no funciona en tiempo real ;D ;D ;D
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

laghengar

#29
http://forum.bennugd.org/index.php?topic=244.0

Perdón, no he puesto que este link es para la charla offtopic de aquí.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O