Acabo de leer esta noticia en barrapunto:
CitarRecientemente, Google ha publicado un 'plugin' de código abierto para navegadores web que provee a la API de JavaScript una funcionalidad adicional para mostrar gráficos 3D en contenidos web. Conocido como O3D, Google espera que este proyecto promueva la experimentación y les permita colaborar con el grupo Khronos y Mozilla en la creación de un estándar 3D para la web. Actualmente, O3D es compatible con Google Chrome, Firefox, Internet Explorer y Safari
En principio parece interesante. Que opinais? le veis futuro? o sera otro de tantos proyectos que quedan en el olvido?
Aqui la web de O3D:
http://code.google.com/intl/es-ES/apis/o3d/ (http://code.google.com/intl/es-ES/apis/o3d/)
dado que javascript es el lenguaje de programación del lado del cliente más utilizado del mundo, es muy probable que triunfe, aunque de ahi a su estandarizacion, queda rato...
tarde o temprano sera algo normal, webs en 3D...
uh... MALDITAS 3D!
a mi me parece genial.
una arquitectura sencilla y potente usando un lenguaje ya conocido, es exactamente lo que necesitaba la web. Ahora solo falta que el plugin se integre perfectamente con todos los navegadores (si se consigue que venga ya nativo entonces genial) y ya tienes el 3d en el browser que siempre hemos querido.
Ademas no hay que asustarse porque sea javascript, de hecho ultimamente los browser estan metiendo mucha caña al javascript, y por otra parte la parte compleja ya estará implementada en el plugin así que abre muchisimas posibilidades.
Todos atentos para ver si esto avanza o se convierte en otro proyecto muerto de google.
también le dará un empujón a opengl
Las implementaciones de JavaScript son una "puta mierda"! (lo siento) si ya de por si, te vuelves loco porque cada navegador hace su implementación y tiene sus bugs... ahora encima un API 3D consumiendo el 100% de la CPU.
Lo que nos faltaba!
Sin ser catastrofista... vale, no está mal para mostrar contenido estático. Si ya de por si, cuando la gente usa flash para 3D es una locura a medias (pq Action Script esta dentro de su plugin no es implementado por cada navegador) ni me quiero imaginar cuando alguien meta un "process" en javascript.
Tiempo atrás se derivó de presentaciones y contenido dinamico flash a juegos. Para cosas casual o "chorras" (perdon por la expresion) está bien. El fenomeno 3D en JavaScript es una locura, es como hacer juegos con lenguajes de script, el rendimiento se va al traste. Para cosas como ya digo estáticas vale... un Ikariam 3D... muy basado en PHP por supuesto, bueno. Pero lo malo esq como digo la implementación de JavaScript la hace cada navegador y es algo nefasto.
A ver por donde sale esto. Siento ser un poco catastrofista :), pero ya veo a la gente plagando de contenido 3D mal programado la web.
CitarLas implementaciones de JavaScript son una "puta mierda"! (lo siento) si ya de por si, te vuelves loco porque cada navegador hace su implementación y tiene sus bugs... ahora encima un API 3D consumiendo el 100% de la CPU.
No estaria mal hecharle un ojo a las cosas antes de opinar (algo muy español por otro lado). El cliente de google de O3D trae su propio interprete de js (el V8 de Chrome), asi que no usara el del navegador sino el suyo propio.
Cita de: seryu en 23 de Abril de 2009, 02:08:45 AM
también le dará un empujón a opengl
Lo dudo, porque bajo windows usa Direct3D9 y porque el lenguaje de shaders que emplea es un dialecto de HLSL / Cg (lenguaje shader de nvidia casi idéntico a HLSL).
Por cierto, que requiere tarjetas con shader model 2.0
En principio está curioso, aunque me he limitado a instalarlo y probar las demos. Estoy mirando por encima la documentación.
A mi me parece una idea muy buena. javascript está poco a poco llevándose el gato al agua, cada vez se usa más en desarrollo web, y no solo para hacer efectos insípidos, ya se hacen verdaderas aplicaciones. Teniendo en cuenta que se está tratando de llevar todo al navegador es un paso más llevar un api 3D en condiciones (y no las pruebecillas por software que corren por ahí)
Por otro lado claro que da vida a opengl. Cierto es que ha perdido mucho fuelle en desarrollo de juegos, pero ahora opengl lo tenemos por todos lados, iphone, PDAs, móviles (dispositivos embebidos en general, casi todo lo basado en ARM vaya) y si esto va bien lo tendremos en web.
Los samples más o menos complejos me van a pedales, aunque igual es por la tarjeta. Por cierto ¿se supone está terminado el Chrome? Porque a mi me sigue petando como una mala cosa, precisamente con páginas que usan JavaScript...
sync
Cita de: martinbr en 23 de Abril de 2009, 03:06:30 PM
CitarLas implementaciones de JavaScript son una "puta mierda"! (lo siento) si ya de por si, te vuelves loco porque cada navegador hace su implementación y tiene sus bugs... ahora encima un API 3D consumiendo el 100% de la CPU.
No estaria mal echarle un ojo a las cosas antes de opinar (algo muy español por otro lado). El cliente de google de O3D trae su propio interprete de js (el V8 de Chrome), asi que no usara el del navegador sino el suyo propio.
total que es un motor 3d con scripts... vamos que me hago un plugin con mi motor y uso lua y listos. Es un FLASH para web (ActionScript es igual que javascript)
Total... que si no es asi como yo creia no tiene ni tendrá ningun sentido como standard 3d para web
pero claro al ser de google tendra repercusion mundial, a ver que hacen... y en que queda todo :)
Prompt tio, la estas metiendo hasta el fondo.
1) Toda la carga de 3D más heavy está implementada en el plugin, con lo que el script lo unico que hace es decir qué pintar y donde, eso no consume nada de nada.
2) Las implementaciones de javascript cada vez estan más optimizadas, y no tienen por qué envidiar a otros scripts como LUA. De hecho si hay juegos definidos desde LUA (haciendo llamadas a un motor 3D) no veo por qué no iba a poder hacerse lo mismo con O3D.
3) Procesos en javascript lo tiene hasta gmail y no por eso va mal. Tener un proceso que llame 30 veces por segundo a un metodo render de un objeto de un plugin no es algo que requiera el 100% de una CPU.
4) Se pueden hacer juegos con scripts, siempre y cuando las partes más pesadas esten contenidas en codigo nativo, y si has programado juegos sabras que realmente para el 90% de juegos no hace falta operaciones complejas, basta con instanciar meshes en distintas posiciones del entorno.
5) Las implementaciones de Javascript las podrá hacer cada navegador con mayor o menor fortuna, pero eso no ha evitado que cada vez se use más javascript en la web, lo mismo pasa con el CSS. Además si programas para tarjetas gráficas acabas teniendo el mismo problema en función del modelo de tarjeta, y oye, cansa pero no es para tirarlo todo a la basura.
6) Nadie te prohibe que portes tu motor a la web con scripts, pero mientras esperamos creo que google te cogerá ventaja.
7) Javascript no es Action Script, aunque los dos se basen en el mismo ECMA te digo yo que action script es el peor lenguaje jamas inventado.
Sea como sea no había una alternativa seria al 3D en la web y ahora ya la hay, alegremonos pues.
1) Como haya alguien que haga un "process" en script verás tu que divertido. Me aseguras que es imposible hacer eso?
2) "Las implementaciones" aqui no valen, será la que tenga el O3D. En este caso creo que es la misma que Crome.
3) Es una burrada y punto. Lo tengo más que probado, testeado y medido hace siglos por ciertos problemas al desarrollar Fantastic League. Hay que utilizar una lógica basada en eventos como hago yo en el NSS.
4) Estoy de acuerdo, pero nada de hacer cosas en process, n veces por segundo (n == FPS).
5) Siempre IE es el que da más por culo, el que va a su bola para desgracia de cualquier desarrollador.
6) No voy a portarlo ¬¬ o al menos aún. Hay que apuntar que como haya "process" y se propague como un standard el o3D los usuarios nos querremos morir con las burradas que harán algunos desarrolladores. Como tu! :D que quieres meter process en script.
7) Ya lo se y estoy contigo.
Alternativa 3D? si es un plugin tipo Flash, existe el Unity3D (odio al waperas) por ejmplo que tiene mejor calidad.
Sobre: "Prompt tio, la estas metiendo hasta el fondo." deja las drogas! xD y relajate
Cita de: senior wapo en 23 de Abril de 2009, 10:51:24 PM
Cita de: seryu en 23 de Abril de 2009, 02:08:45 AM
también le dará un empujón a opengl
Lo dudo, porque bajo windows usa Direct3D9 y porque el lenguaje de shaders que emplea es un dialecto de HLSL / Cg (lenguaje shader de nvidia casi idéntico a HLSL).
Por cierto, que requiere tarjetas con shader model 2.0
En principio está curioso, aunque me he limitado a instalarlo y probar las demos. Estoy mirando por encima la documentación.
Que sepa en linux y mac utiliza opengl (evidentemente) y en windows se puede utilizar ambos renderers, de todas formas habría que investigar en las opciones para estar seguros.
En cuanto a los shaders, es normal que el hlsl se parezca al cg, porque los de microsoft básicamente se copiaron del de nvidia, que fueron los primeros en dar el paso :P
El cg de nvidia es indistintamente para opengl/direct3d, de hecho los shaders hechos en o3d tendran que tirar en ogl en mac y cia...
O3D es otra opcion mas para quien quiera poner algo 3D en la web. Como ya existian cosas como VRML o mas de hoy en dia X3D.
No es "LA" opcion, se plantea aproximadamente como "UNA" opcion que podria solucionar una serie de problemas y habilitar una serie de cosas.
Si vosotros, que sois desarrolladores de videojuegos y teneis conocimientos de OpenGL, no podeis sacar provecho de esto, probablemente no tendra exito y no ira a ninguna parte.
Personalmente me gustaria tener los exitos y los conocimientos para explorarlo. Aunque estoy en contra, por principios, de cualquier tecnologia de plugins para la web.
yo mas que por principios lo que veo es que con la tendencia de los exploradores web de comerse la memoria, bloquearse y petar, intentar metes aplicaciones o juegos web complejos es peligroso.
Cita de: seryu en 27 de Abril de 2009, 05:48:06 PM
yo mas que por principios lo que veo es que con la tendencia de los exploradores web de comerse la memoria, bloquearse y petar, intentar metes aplicaciones o juegos web complejos es peligroso.
intenta no verlo como una "mania" de los navegadores, sino un exito tan grande de estos que esta atrayendo funcionalidades como un agujero negro...
la ventaja de un juego web es que para el usuario hace que el PC sea mas como una consola, de poner la url y a correr. Ademas suelen ser gratis, porque su negocio se basa en publicidad o micropagos. Aparte que mucha gente se aburre en el trabajo... parece ser.
Cita de: seryu en 27 de Abril de 2009, 01:35:28 PM
Cita de: senior wapo en 23 de Abril de 2009, 10:51:24 PM
Cita de: seryu en 23 de Abril de 2009, 02:08:45 AM
también le dará un empujón a opengl
Lo dudo, porque bajo windows usa Direct3D9 y porque el lenguaje de shaders que emplea es un dialecto de HLSL / Cg (lenguaje shader de nvidia casi idéntico a HLSL).
Por cierto, que requiere tarjetas con shader model 2.0
En principio está curioso, aunque me he limitado a instalarlo y probar las demos. Estoy mirando por encima la documentación.
Que sepa en linux y mac utiliza opengl (evidentemente) y en windows se puede utilizar ambos renderers, de todas formas habría que investigar en las opciones para estar seguros.
En cuanto a los shaders, es normal que el hlsl se parezca al cg, porque los de microsoft básicamente se copiaron del de nvidia, que fueron los primeros en dar el paso :P
El cg de nvidia es indistintamente para opengl/direct3d, de hecho los shaders hechos en o3d tendran que tirar en ogl en mac y cia...
En windows O3D usa Direct3D9.
Los shaders que el desarrollador va a programar son en un lenguaje que es básicamente el de Direct3D luego no tendrán necesidad de aprender nada sobre OpenGL. Un tutorial de javascript y otro de HLSL ya les permitirá hacer cosillas 3D en la web con O3D.
Las nuevas plataformas que quieran tener un API de aceleración 3D no van a verse más motivadas a elegir OpenGL a causa de O3D ya que no están relacionados en absoluto. Se puede implementar O3D sobre otros API. Las que ya usan OpenGL, pues eso, ya lo usaban de antes.
Por tanto, no veo yo que O3D de ningún empujón a OpenGL entre los desarrolladores de soft o hard.
Sobre lo de engordar el navegador, no me pronuncio. Cada dia que pasa se parecen más a un sistema operativo, ya veremos como acaba.
Os pego un mensaje de la lista de correo de web 3d
>>>>>>>>>>>>>>><
I think you guys missed the point about O3D. O3D takes COLLADA as input. What's the difference between a Phong-shaded sphere in COLLADA, VRML, and X3D? I guess the real question is, if I write a Sphere class in JavaScript, can I reuse it? I don't really care how much code is underneath, as long as I have a nice high level API. I imagine that someone could tell me the assembly language way to draw a sphere, and we would all be amazed at how long it is.
http://www.khronos.org/news/permalink/google_o3d_javascript_api_offers_a_sample_collada_converter/
X3D/VRML is competing against COLLADA, not O3D. O3D is low level plumbing.
Just like GWT takes Java and produces JavaScript, O3D takes COLLADA and generates JavaScript. JavaScript (remember Ajax folks) appears to be the low level language of the future, not XML or HTML. JavaScript is rapidly replacing C, C++, and Java as the most portable procedural language, and it's getting more secure and fast to boot. (see Caja, V8) Now that JavaScript has 3D in all major HTML browsers, this sets the stage for declarative tools to be built on top of it.
Be smart, generate O3D from X3D/VRML.
I said this a long time ago, perhaps some will recall. You could use aspect oriented programming in Xj3D to generate O3D.. Just log all the JOGL calls as O3D and you are done! Your application will be converted to O3D! And you can share your aspects with others in the Web3D consortium so that everyone can jump on the O3D bandwagon.
If you don't think it can be done, look at SMARTedit http://tlau.org/research/smartedit/ or SMARTshell http://tlau.org/research/papers/aaai2004-workshop-PW.pdf
Obviously we haven't replaced humans yet. For more inspiration, see http://www.orwant.com/eggg.html
If this stuff is old hat, let me know what the new hat is. What is the 3D version of EGGG? What is the 3D version of SMARTedit? What is the 3D version of SMARTshell? Will this consortium create it?
Sigh, I should probably sit down with an animator, mechanical engineer or electrical engineer and learn their tools. When will their tools be available on a web browser that runs on a Macintosh? Will these tools be written in X3D/VRML or O3D? Does anyone want to write 3DS Max, Maya, AutoCAD, Pro/E or Flash's editor and make it available on the web? Where is the X3D/VRML editor written in X3D/VRML? Where is the behavioral 3D editing program designed to be run in a web browser? Is there a performance issue that V8 can solve? I am a java programmer. When will NetBeans, Eclipse, IntelliJ, JBuilder, and JDeveloper run in a web browser?
Open source and fast JavaScript is here. Will your company be ready for it?
If you still think XML is the answer, read this: http://www.charlespetzold.com/etc/CSAML.html
John
On Apr 23, 2009, at 9:54 AM, Joe D Williams wrote:
_This is what it takes to do a single, Phong-shaded sphere in O3D_
Good Point, Tony.
That stuff (well maybe not the 'exact' keystrokes) has been around long enough in sufficient renditions to be considered open with no real prospect of copy protection. Besides that, of course it is more than a web author wants to deal with. It looks more complicated than SVG, even!
Thanks and Best Regards,
Joe
>>>>>>>>>>>>>>><
Que bueno es el artículo de Petzold :p