[Proyecto] Obsidian Actualizado con capturas en PS3

Bueno os cuento un proyecto que tengo en mente, se trata de hacer un juego sencillo en 3d haciendo uso de un rasterizador por software. Como los drivers Mesa que usan la SPU parecen no ser muy estables aún y el genérico no optimizado es bastante lento estoy buscando alternativas.

Me he decantado por el motor Irrlicht que es multiplataforma y tiene dos render software distintos, además es compatible con OpenGL. He estado haciendo pruebas en mi viejo portátil y cargando un mapa en formato Quake 3 con shaders y un modelo en formato Quake 2 de un robot he obtenido framerates de 10-17 fps, espero en la PS3 llegar a alcanzar los 25-30. Tendré la PS3 lista con linux el próximo fin de semana (estoy bastante liado) y entonces empezaré a experimentar directamente con el hardware objetivo.

Os pongo una captura de la prueba usando el Burningsvideo Software Renderer

AVISO: La siguiente captura se ejecuta en un PC con un procesador Centrino Duo a menos de 2GHz corriendo Windows XP.

Imagen
Digo no obtendrias unos 60 a 100 fps en realidad? acordate que la PS3 trabaja en tiempo real con 60 fps, el tema no es la consola al caso de este sino seria Con mi portatil alcanze 16~17fps con un programa no optimizado ni una gota en la ps3 alcanzare 30~40fps(Verdadero calculo :)).
6502 escribió:Bueno os cuento un proyecto que tengo en mente, se trata de hacer un juego sencillo en 3d haciendo uso de un rasterizador por software. Como los drivers Mesa que usan la SPU parecen no ser muy estables aún y el genérico no optimizado es bastante lento estoy buscando alternativas.

Me he decantado por el motor Irrlicht que es multiplataforma y tiene dos render software distintos, además es compatible con OpenGL. He estado haciendo pruebas en mi viejo portátil y cargando un mapa en formato Quake 3 con shaders y un modelo en formato Quake 2 de un robot he obtenido framerates de 10-17 fps, espero en la PS3 llegar a alcanzar los 25-30. Tendré la PS3 lista con linux el próximo fin de semana (estoy bastante liado) y entonces empezaré a experimentar directamente con el hardware objetivo.

Os pongo una captura de la prueba usando el Burningsvideo Software Renderer

AVISO: No hay nada aún ejecutándose en una PS3, la siguiente captura se ejecuta en un PC con un procesador Centrino Duo a menos de 2GHz corriendo Windows XP.

Imagen


lamento desilusionarte un poco, pero el PPU de la PS3 vendria a equivaler a un P4 1,5Ghz en rendimiento bruto. ademas, irrlich supongo que tendra bastante codigo optimizado y preparado para MMX/SSE/3DNOW y por eso quizas tengas un empujon de rendimiento en x86. en CELL si quieres rendimiento debes pasar por la casilla de los SPE, no hay otra...

no obstante, continua tu proyecto, busca cosas de SPUGL, que es un motor grafico OPENGL basado en las SPE del cell, y que parece que lleva buena ruta...
f5inet escribió:
lamento desilusionarte un poco, pero el PPU de la PS3 vendria a equivaler a un P4 1,5Ghz en rendimiento bruto. ademas, irrlich supongo que tendra bastante codigo optimizado y preparado para MMX/SSE/3DNOW y por eso quizas tengas un empujon de rendimiento en x86. en CELL si quieres rendimiento debes pasar por la casilla de los SPE, no hay otra...

no obstante, continua tu proyecto, busca cosas de SPUGL, que es un motor grafico OPENGL basado en las SPE del cell, y que parece que lleva buena ruta...


Gracias por tu respuesta f5inet, estos días he estado viendo el código del render Burningsvideo para ver como le puedo meter mano para ver si lo puedo optimizar para el CELL (cosa que veo complicada con mis conocimientos de rasterizadores). Hoy he terminado de descargar la última versión de Yellow Dog Linux así que en breve espero hacer pruebas directamente en la PS3, no soy muy optimista con el frame rate, intentaré bajar número de polígonos, efectos, luces y demás.

SPUGL no lo había visto investigaré sobre él, lo que si me había mirado es el driver que están haciendo los de Tugsten Graphics para el proyecto mesa3d, y al parecer no es muy estable actualmente. Si quieres puedes ver más info en la página de mesa http://www.mesa3d.org/cell.html
esto se haria desde linux, no?, por ejemplo Yellow dog 6.1?
toni_v escribió:esto se haria desde linux, no?, por ejemplo Yellow dog 6.1?


Esa es mi idea.

EDIT: Esta tarde he instalado Linux en la PS3 y los resultados con Irrlicht han sido muy malos, su uso es inviable para hacer algo medianamente decente al menos sin ningun tipo de optimización.

Me ha sorprendido la calidad de los renders del driver Mesa que viene con Yellow dog, eso si el framerate es de pena.

Saludos.
He estado haciendo más pruebas pero de momento lo dejo así, a la espera que el driver para Mesa acelerado por las SPU sea estable ya que ahora mismo no consigo ningún framerate decente.

Os pongo capturas que he hecho ya en la PS3 usando una función de Irrlicht para hacer las capturas ya que con el capturador que viene con YDL no me iba bien.

Imagen

Imagen

Imagen

Imagen

A ver que os parece si alguno quiere el ejecutable se lo puedo pasar pero ya os aviso que el framerate es menor de 4 FPS.

Creo que algún modelo con pocos polígonos sobre escenarios 2d si que lo movería mas o menos bien.

Saludos.
si quieres te puedo ayudar en temas gráficos, texturas y demas. Saludos
Uno de los unicos temas que verdaderamente se pueden considerar de Scene y mirad que acogida tiene.
Animo tio y a ver si la cosa prospera aunque sea poco a poco.
Tiene muy buena pinta!!
Animo !!!

Es un proyecto muy bueno, saludos!!!!! [beer]
pues entonces ya anda... XD
toni_v escribió:pues entonces ya anda... XD


Si pero mas que andar es un zombi sin piernas de esos que se arrastran usando solo los brazos :(

Ahora llega el momento de optimizar, optimizar y optimizar... o esperar que el driver mesa con las SPU sea estable (lo que suceda antes)

Otra captura más que se me había pasado por alto:

Imagen
Suerte con el proyecto. Está visto que en el Linux de PS3 no queda otra, o se pasa por los SPEs o es imposible lograr un rendimiento ni medianamente decente. Los 4 FPS que acabas de mencionar ya lo dicen todo.

Tal vez si desactivas alguna cosilla que siempre se ha llevado mal con los renderers por software, como por ejemplo el filtrado de texturas, logres alguna mejora en el rendimiento, pero para sacar el verdadero potencial hay que pasar por los SPEs.
Eight está baneado por "adiós!"
Oye que mucha suerte con el proyecto ;)
[Alaa!] Buen curro tio , cuando salga me lo pido xDDDDDDDDD . [oki]
Estoy barajando otras alternativas, como los motores de Quake I y Quake II así como un scaler que usa la SPU para doblar la resolución de una pantalla.

Os mantendré informados.
Si hay algo en lo que pueda ayudar, solo avisame, aunque dudo mucho que sea capaz de hacer algo mas que darte mi apoyo...
Yo trabajo de programador y cuando veo de lo que habláis me doy cuenta de que soy un inepto. Ánimo máquinas!!! A ver si le sacáis partido a esto.
Enfiteusis escribió:Yo trabajo de programador y cuando veo de lo que habláis me doy cuenta de que soy un inepto. Ánimo máquinas!!! A ver si le sacáis partido a esto.


Lo que he hecho hasta ahora es muy sencillo en serio, si eres programador profesional en unos días lo controlarás todo mucho más que yo.

A los que se ofrecen para hacer gráficos o colaborar decirles que de momento como no esta ni definido el engine que se va a usar pues no se por que camino seguirá el proyecto. Si alguien quiere hacer artworks, sabe modelar o lo que sea será bienvenido.

EDIT:

He estado haciendo pruebas con diferentes motores 3d que tienen renders por software y creo que de momento las mejores alternativas son el motor de Quake I y el de Quake 2, dejaré lo que tengo hecho en Irrlicht aparcado de momento y me centrare a investigar ls SPU a ver si puedo hacer algo útil e interesante.

Saludos.
Si quieres te puedo hechar una mano, dime sobre que voy leyendo/investigando y asi 4 ojos siempre mejor que 2, tengo ratos libres por la tarde asi que me puedo meter en esto un poco jejejej.

Un saludo y me mandas un MP si quieres
Pues despues de leerme todo el post solo felicitarte por la iniciativa que has tenido y decirte que como consigas hacer algo en condiciones seras la unica razon de que le ponga linux a la PS3 XD asi que sigue asi y espero q lo consigas!!
Hola gracias por los ánimos, la verdad es que estoy en un punto que no se muy bien que camino seguir:

- Aprender a hacer un mod del motor de Quake I o de Quake II. ¿Hay algún experto en el tema por aquí?
- Esperar a que los proyectos de hacer un driver OpenGL lleguen a ser funcionales.
- Hacer un juego realmente minimalista con el render Burningsvideo (Sin luces, sin filtrado, sin corrector de perspectiva...) con pocos polígonos.

A todas estas aun no controlo lo necesario la SPU pero estoy en ello.
Mi opinion es que hagas algo minimalista, y asi damos tiempo a que hagan el motor opengl jejeje
24 respuestas