ffelagund escribió:Si se recompilara el rasterizador software que utilizase el 3DSMAX (el mental ray por ejemplo, que además hay verison linux y version distribuida, para las render farm) para que hiciese uso de las 6 SPU disponibles en el Linux de la PS3, el renderizado se calcularia a una velocidad de vertigo, con un factor de aceleracion x100 o x200 con respecto al rasterizado estandar en un pc común, pero esto depende de que los propietarios del mental ray (u otro, que hay varios) se curren un buen build para PS3, así que lo pregunta el creador del hilo no es ninguna tontería (para renderizar en 3DMax o maya no se usa el hardware 3D para nada)
Nota: No se podría usar el 3DSMax en la PS3, pero si se podría utilizar el 3DS en el PC como herramienta de modelado (que es lo que es en realidad) y envíar los trabajos de render a la PS3 (que de hecho es como se hace en las render farm)
ffelagund escribió:Efectivamente linux está capado en PS3, pero eso no quita que sea perfectamente posible correr demonios en calculos de alto rendimiento específicamente programados para Cell muchísimo más rapido que si se ejecutasen en un PC. Programar el Mental Ray en Cell y que vaya x100, x200 o incluso más rápido que en un pc, es perfectamente posible.
El error al utilizar linux en la PS3 es el meterle un entorno gráfico, que chupa mucha memoria y no está optimizado para Cell, pero probad a programar algo que utilice los 6 SPU y vereis de lo que es capaz (yo he programado algun test de rendimiento numérico, y el resultado es simplemente acojonante), por eso repito, que un renderizador software en Cell sería la de dios![]()
ffelagund escribió:Pues sabes malTienes acceso a 1 PPU y a 6 SPU disponibles de los 8 que hay en total (uno de los 8 está deshabilitado y el otro se reserva para el hypervisor si no recuerdo mal), pero puedes programar directamente y sin problemas ni tener que hacer hacks raros los otros 6 SPUs (yo mismo lo he hecho en mis tests de rendimiento y no tiene ningun misterio)
Mcflait escribió:Hombre itek, es que es normal que renderizar un video tarde bastante ya en un ordenador bueno , imaginate en uno normalito, por otro lado decir que se puede renderizar por software, y la velocidad de renderizado no la dá ni la ram ni la gráfico sino el micro, así que supongo que el micro de una ps3 (digo supongo porque no se las caracteristicas de la ps3) sea mas potente que la de un pc.
ffelagund escribió:
Podría, sí, pero si lo hiciera sería para justificarme y no para satisfacer tu curiosidad, y no tengo por que justificarme en un foro de internet. Aparte del hecho de que es código de mi empresa (o sea, lo he programado como 'acto de curro') y no creo que se viese bien por aquí que hiciese eso.
Te aseguro que es realmente facil correr 6 hilos de cálculo en las SPU (un hilo por SPU claro), No tengo por que mentir (no soy ningun fanboy), ni estoy equivocado, por que lo he probado, asi que te dejo a ti el escribir un test que aproveche mas de un SPU o que compruebes cualquier tutorial de internet sobre programacion de la ps3 bajo linux, como por ejemplo, éste: http://ranulf.net/ps3/
Busca el artículo que menciona: "My first experiment in PS3 development - an optimised julia set renderer that uses 6 SPU threads to perform the calculations and blitting to the screen."
Encontrarás que viene con el código fuente
![toma [tomaaa]](/images/smilies/nuevos2/tomaa.gif)
ffelagund escribió:
A dia de hoy no hay nada ningun motor de render compilado para hacer uso de los 6 SPU disponibles, lo cual deja clara la contestacion a tu pregunta: efectivamente, no se puede renderizar con la PS3, pero hay un matiz. Para hacer un motor de render rapídisimo en la ps3 no se necesita el acceso a la tarjeta grafica (RSX) para nada, y con 256MB de ram SOBRA. El sistema sería muchisimo más rapido que para PC.
ffelagund escribió:@a Dogaratsu: Ya que entiendes de programación, en cuanto tenga listos unos tests de velocidad que estoy haciendo por mi cuenta te pasaré los benchmarks, pero aviso que esto corre con baja prioridad en mi lista de tareas![]()
ffelagund escribió:Es un poco viejo, pero muestra perfectamente que, tecnológicamente hablando, y a dia de hoy, legalmente, se puede hacer perfectamente lo que dice el creador del hilo.
doragasu escribió:
Hay que tener en cuenta que usa 3 PS3 en lugar de una, y que seguramente utiliza un kit de desarrollo oficial sin ningún tipo de "capado" como tenemos en Linux. Aún así, ya que el objetivo del creador del hilo no era renderizar en tiempo real, debería poder hacerse.
ffelagund escribió:Hasta donde yo se, ese render de raytracing en tiempo real se hace con el linux de la ps3 al cual nosotros tenemos acceso. No hay SDK oficial en ese trabajo, y de hecho, dada la naturaleza de los algoritmos (ray tracing) el RSX de la PS3, en el hipotetico caso de que se tuviera acceso a él, no ayudaría en casi nada. Hoy en dia, por arquitectura, no hay tarjetas graficas 'comunes' (aunque si alguna muy muy específica pero no de consumo) que puedan correr algoritmos de ray tracing, mas allá de las tipicas 3 esferas con reflexión.
ffelagund escribió:Así que el verdadero Scener que se interese por la tecnologia, con Linux puede acceder a todas las novedades que provee el Cell, porque para trastear con el RSX ya puede hacerlo con cualquier GPU del momento. El resto, excusas para backups. La verdadera Scene es el Cell, no el acceso al RSX (para el que tenga alma de investigador, claro)
This video shows a progression of ray-traced shaders executing on a cluster of IBM QS20 Cell blades. The model comprises over 300,000 triangles and renders at over 60 frames per second, depending on the shader, at 1080p resolution using 14 Cell processors. Because of the scalable nature of the ray-tracer it can also render interactive frames on a single Linux Playstation3 using only 6 SPEs.
ffelagund escribió:Te has descargado esos sources? a mi no me abre la pagina y me han entrado ganas de compilarlo en mi PS3 :) si los tienes, px¡lz, mandamelos por priv o al mail
init_multiple_server_sock: waiting for data on port TCP 4464
Opening /opt/ibm/iRT/default.irt.
Please make sure the iRT scenes rpm is installed
IRT:
base addr = 0x00000000f4929000
bounds[0] = {-208.720551, -76.054016, -208.909927}
bounds[1] = {209.325378, 3.448981, 208.815094}
nr_leafs = 88506
nr_nodes = 88505
max_depth = 27
tree_bytes = 10990992
nr_faces = 333726
nr_vertices = 181695
nr_materials = 41
nr_textures = 17
tree start = 0x00000000f6050800
vertices = 0x00000000f492c000
attributes = 0x00000000f4bf2000
materials = 0x00000000f492a000
textures = 0x00000000f7548000
IRT:
base addr = 0x00000000f1a81000
bounds[0] = {-208.720551, -76.054016, -208.909927}
bounds[1] = {209.325378, 3.448981, 208.815094}
nr_leafs = 88506
nr_nodes = 88505
max_depth = 27
tree_bytes = 10990992
nr_faces = 333726
nr_vertices = 181695
nr_materials = 41
nr_textures = 17
tree start = 0x00000000f31a8800
vertices = 0x00000000f1a84000
attributes = 0x00000000f1d4a000
materials = 0x00000000f1a82000
textures = 0x00000000f46a0000
Avail_spes = 6
Number of SPES for Raycasting = 6
Create Raycast thread 0
Create Raycast thread 1
Create Raycast thread 2
Create Raycast thread 3
Create Raycast thread 4
Create Raycast thread 5
Encoder WB - Buffer 0 8237056 -> 2011 wb
Encoder WB - Buffer 1 8237056 -> 2011 wb
Compressed Framebuffer /huge/cfb_mem0.bin address 0xed865080
Compressed Framebuffer /huge/cfb_mem1.bin address 0xecc89080
Framebuffer /huge/fb_mem0.bin addres 0xeac64080
Framebuffer /huge/fb_mem1.bin addres 0xe8c3f080
init_client_sock, port = 4464
Client cannot connect: No route to host