Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: mi-go en 29 de Octubre de 2008, 01:58:42 PM

Título: Mac, Linux, Windows...
Publicado por: mi-go en 29 de Octubre de 2008, 01:58:42 PM
Buenas, esto es una pregunta general.

No estoy seguro, pero tengo entendido que los juegos que salen para Mac utilizan OpenGL.
Sabiendo esto... y viendo que Linux va tomando un poco de terreno (aunque muy poco a poco), se me plantea una duda:

Si estás haciendo un serius game donde los gráficos son algo muy importante supongo que se tratará de un juego para PS3, XBOX y Windows (con DirectX).
Pero si estás haciendo un juego casual, educacional, o cualquier otro tipo (que ahora mismo son la mayoría ¿no?) para PC lo deberías hacer usando un motor de los que te abstraen de DirectX y OpenGL y que con sólo cambiar una línea tienes el juego en OpenGL o DirectX. ¿no?

Así cubrirías a todos los usuarios de PC, ya que la potencia de OpenGL te da de sobra para el tipo de juego que es.

Esto es sólo una idea / pregunta, espero vuestras respuestas!!
Título: Re: Mac, Linux, Windows...
Publicado por: Javi SJ Cervera en 29 de Octubre de 2008, 02:54:50 PM
La potencia de OpenGL te da también de sobra para un juego "serious" como dices tu. El problema no es la potencia, sino el soporte. Algunos drivers de gráficas rinden mucho mejor con DX que con OGL.

Y sí, hoy día muchos motores (como IrrLicht) soportan tanto DX como OGL, y puedes intercambiar entre ellos.
Título: Re: Mac, Linux, Windows...
Publicado por: Prompt en 30 de Octubre de 2008, 12:23:06 PM
Usa OGL y haz un juegos multi-plataforma / multi-device. Es el estandard libre.

Sobre el tema del rendimiento de drivers y esas cosas... es una repuesta muy larga, en Windows XP o anteriores Microsoft no queria dar soporte a bajo nivel para los drivers de OGL así que nVidia y ATI hacen un driver cliente que extiende la funcionalidad de OGL 1.1. Esto hace que OGL en windows, en determinados casos aislados PUEDA no ir a la misma velocidad que otro driver ICD como el de DX.

Pero esto es un suponer muy grande, asi que el driver cliente es más "lento" que el ICD. Otra cosa es que por dentro uno sea más optimo que otro. Ya ahí nos podriamos poner a discutir mil cosas.

PD: PS3, OSX (los Macs), y maquinas embebidas todas usan OpenGL. DX, D3D "solo" se usa en Microsoft  XBOX y Windows.
Título: Re: Mac, Linux, Windows...
Publicado por: mi-go en 30 de Octubre de 2008, 01:04:20 PM
PS3 estará preparada para OpenGL, pero supongo que grandes juegos con importántes apartados gráficos usarán sus propias librerías más avanzadas. ¿no?

Es que según tengo entendido DirectX tiene cosas más avanzadas que OpenGL. (ya estoy saltando de tema...)
Título: Re: Mac, Linux, Windows...
Publicado por: Buffon en 30 de Octubre de 2008, 01:07:49 PM
Cita de: mi-go en 29 de Octubre de 2008, 01:58:42 PM
No estoy seguro, pero tengo entendido que los juegos que salen para Mac utilizan OpenGL.
Sabiendo esto... y viendo que Linux va tomando un poco de terreno (aunque muy poco a poco), se me plantea una duda:

Me ha marcado estra frase tuya:

me ha marcado pues es una frase de hace 2 generaciones, actualmente linux está al nivel de Windows en cuanto a empresas, si hablamos de usuario final conozco más gente que usa linux a diario o mac os x que windows, tanto para jugar (wine, parallels) como para realizar aplicaciones. También confieso que conozco más gente friki y developers que gente "normal".

Este verano pasado me lie conmigo mismo a hacer un videojuego, tanto en Windows como en Mac Os X, sin utilizar librerías externas, entiende lo que esto supone, desde lo negativo como lo positivo y tendrás la respuesta ;)

OPENGL vs DIRECTX

Esto más que una discusión de cuál es mejor o peor, habría que pasarle millones y millones de profilers y poder comprobar quien tarda más en un area determinada, dibujando un sólo triangulo, dibujando el mismo triangulo muchas veces, utilizando display lists, etc... dibujando 50 millones de triangulos, y así sacar conclusiones, sino la subjetividad gana y en mi caso código privativo es código que no se ha de usar !
Título: Re: Mac, Linux, Windows...
Publicado por: Buffon en 30 de Octubre de 2008, 01:08:58 PM
Cita de: mi-go en 30 de Octubre de 2008, 01:04:20 PM
PS3 estará preparada para OpenGL, pero supongo que grandes juegos con importántes apartados gráficos usarán sus propias librerías más avanzadas. ¿no?

Es que según tengo entendido DirectX tiene cosas más avanzadas que OpenGL. (ya estoy saltando de tema...)

una cosa es Direct3D y otra DirectX, son cosas a parte.

En cuanto a diferencias entre Direct3D y OpenGL las hay ,tanto buenas por un lado como por el otro, pero mientras residas en el hardware de la tarjeta importa más esta que la librería que utilices.
Título: Re: Mac, Linux, Windows...
Publicado por: mi-go en 30 de Octubre de 2008, 02:02:17 PM

Lo de Linux... he dicho que sí avanza... aunque despacio. ¿cuantas personas que no sean developers ni apasionados de la informática usan linux?
Yo no conozco a ninguna.
Pero ya nos vamos del tema otra vez...

Perdón por decir DirectX, quería decir Direct3D, sí.
Y lo de la comparación de velocidades pintando triángulos no me refiero yo.
Yo me refiero a los efectos más modernos de luces, shaders y cosas de esas que todavía no entiendo bien, pero que tengo entendido que Direct3D tiene más cosas nuevas de ese estilo.
Título: Re: Mac, Linux, Windows...
Publicado por: Prompt en 30 de Octubre de 2008, 02:15:27 PM
2 cosas:
- Windows es el S.O. más utilizado del mundo en usuarios.
- Vas a usar esas cosas de ultimisima generacion que hay en Direct3D10 ?

Llevo 3 años desarrollando mi motor y aplicaciones para el y si me hicieran esa pregunta diria NO. No obstante todo eso de ultima generacion tardará tiempo en tener drivers decentes.

Si te pones rebuscado la teselación existe en OpenGL desde sus inicios y ahora lo van a meter para DirectX 11. Todas estas cosas son muy relativas! centrate en ver a donde vas a sacar tu juego y lo que te interesa. Que te gusta DX pues usalo con sus consecuencias buenas y malas.
Título: Re: Mac, Linux, Windows...
Publicado por: mi-go en 30 de Octubre de 2008, 03:20:40 PM
jeje, no es que me guste más DirectX, todo lo contrario, me gusta más OpenGL por el hecho de ser multiplataforma.

Mi pregunta era general y para saber un poco más del tema.
Estuve hablando una vez con alguien que defendía mucho Direct3D por encima de OpenGL, porque buscaba más calidad gráfica en efectos nuevos.
Pero yo de todo esto no domino tanto...
Título: Re: Mac, Linux, Windows...
Publicado por: tamat en 30 de Octubre de 2008, 03:26:29 PM
Direct3D avanza a un ritmo constante, OpenGL avanza cuando se alinean los planetas.

Aunque claro, desarrollar para una plataforma no es muy inteligente, por eso yo trabajo en openGL, aunque luego vea las cosas que tiene Direct3D y se me caigan las lagrimas.
Título: Re: Mac, Linux, Windows...
Publicado por: Buffon en 30 de Octubre de 2008, 04:16:52 PM
Cita de: mi-go en 30 de Octubre de 2008, 02:02:17 PM

Lo de Linux... he dicho que sí avanza... aunque despacio. ¿cuantas personas que no sean developers ni apasionados de la informática usan linux?
Yo no conozco a ninguna.
Pero ya nos vamos del tema otra vez...


http://www.guadalinex.org/                     <---- ayuntamiento de andalucia
http://www.linex.org/joomlaex/               <---- ayuntamiento de málaga

podría seguir :P

por otro lado, lo que tu buscas va enfocado a los gamers, gamers que muchos estudiarán informática y los que no, verán información y probarán distros linux.

y estoy totalmente de acuerdo con tamat pero digo lo de siempre, CÓDIGO PRIVATIVO, NO OPERATIVO!
Título: Re: Mac, Linux, Windows...
Publicado por: mi-go en 30 de Octubre de 2008, 04:30:50 PM

Ya se que en todos los centros Tic de los colegios de andalucía llevan Gudalinex y que se usará en más sitios.
Yo me refiero a la gente en sus casas.

No conozco a nadie que no se informático que tenga en su casa Linux.
No creas que no me gusta Linux, sólo hablo de la realidad actual.

Título: Re: Mac, Linux, Windows...
Publicado por: fjfnaranjo en 30 de Octubre de 2008, 08:08:30 PM
Bueno, no la lieis más, que me convertís esto en un win vs lin vs mac o un dx vs ogl (perdón por las abreviaturas  >:D)

En juegos, si es multiplataforma, OpenGL, period.

Si eso, y sobre todo porque parece que estás empezando, usa algún engine gráfico para que no tengas que reinventar la rueda. Hay muchos que además son multiplataforma: ogre...

PD: Un "serious game" es otra cosa...
Título: Re: Mac, Linux, Windows...
Publicado por: [EX3] en 30 de Octubre de 2008, 09:11:50 PM
Otras opciones multiplataformas libres a tener en cuenta en proyectos casuales son SDL y Allegro que suelen ser soluciones en plan DirectX ya que abarcan muchos campos a parte de graficos y de manera mucho mas comoda que si tuvieras que hacerlo a pelo en OpenGL/OpenAL/etc... o DirectX. Al igual, como dice fjnaranjo, si buscas encontraras multitud de proyectos de librerias y motores para juegos multiplataforma y libres que resultan muy interesantes y productivos a la hora de realizar un desarrollo. Pasate por este enlace y echa un ojo al catalogo, encontraras incluso un par de proyectos propios de Strateros ;)

http://wiki.gamedev.net/index.php/Game_Engines

Salu2...
Título: Re: Mac, Linux, Windows...
Publicado por: Vicente en 30 de Octubre de 2008, 11:37:14 PM
Cita de: Prompt en 30 de Octubre de 2008, 12:23:06 PM
PD: PS3, OSX (los Macs), y maquinas embebidas todas usan OpenGL. DX, D3D "solo" se usa en Microsoft  XBOX y Windows.

PS3 soporta OGL pero para programar se usa una API propietaria de Sony porque OGL se arrastra en la PS3.

Un saludo!

Vicente
Título: Re: Mac, Linux, Windows...
Publicado por: Elvis Enmanuel en 06 de Noviembre de 2008, 02:15:56 AM
Yo todos los efectos "de última generación" los programo con openGL (hace ya tiempo que pase de actualizar mi motor cuando a MicroSoft le daba la gana de sacar una nueva versión).
Recordemos que el soporte para geometry shader en openGL salió muchos meses antes que para directX (y sin cambio radical de API).
No sep, en estas cada uno debería seguir el "dictado de su espíritu". Yo lo que tengo claro es que no pienso perder mi tiempo por el gusto de nadie.

ains
Título: Re: Mac, Linux, Windows...
Publicado por: Javi SJ Cervera en 06 de Noviembre de 2008, 12:39:34 PM
A ver, el tema es que cuando se implementan nuevas tecnologías en las tarjetas gráficas, Microsoft implementa en Direct3D una API unificada para todas las tarjetas gráficas. En cambio, las revisiones de OpenGL se deciden por el comité Khronos, y suelen ser bastante lentos en tomar decisiones, así que lo que hace cada fabricante de tarjetas es implementar unas extensiones de OpenGL con estas nuevas características. Las extensiones EXT y ARB son las estándar aceptadas por el comité, y son las mismas para todas las tarjetas, pero luego puedes tener que usar otras específicas de cada tarjeta.

En cualquier caso, yo nunca he necesitado salirme de la especificación OpenGL estándar y las extensiones EXT y ARB.
Título: Re: Mac, Linux, Windows...
Publicado por: swapd0 en 11 de Diciembre de 2008, 10:58:18 PM
Yo creo que a largo plazo es mejor aprender lo mas universal o portable, en este caso OpenGL. Ya que imaginate que aprendes Direct3D y un día te sale un trabajo donde necesitan hacer sosas en 3D en un cacharro que lleve linux, o en un Mac...

Otra "ventaja" es que en OpenGL te tienes que currar mas las cosas, en las Direct3D tienes cosas ya hechas, pero para aprender lo mejor es programar.

Título: Re: Mac, Linux, Windows...
Publicado por: Buffon en 12 de Diciembre de 2008, 08:14:17 AM
Cita de: swapd0 en 11 de Diciembre de 2008, 10:58:18 PM
Yo creo que a largo plazo es mejor aprender lo mas universal o portable, en este caso OpenGL. Ya que imaginate que aprendes Direct3D y un día te sale un trabajo donde necesitan hacer sosas en 3D en un cacharro que lleve linux, o en un Mac...

Otra "ventaja" es que en OpenGL te tienes que currar mas las cosas, en las Direct3D tienes cosas ya hechas, pero para aprender lo mejor es programar.



Si es por cuestión de trabajo, desgraciadamente creo que se lleva más DirectX :S
Título: Re: Mac, Linux, Windows...
Publicado por: fjfnaranjo en 12 de Diciembre de 2008, 07:48:24 PM
Sep, en la práctica, SOLO se hacen juegos para PC y XBOX. La gente esa de PS3 y los flipaos de la DS, la WII y el iPhone son solo una moda pasajera...
Título: Re: Mac, Linux, Windows...
Publicado por: Vicente en 12 de Diciembre de 2008, 08:11:49 PM
Cita de: fjfnaranjo en 12 de Diciembre de 2008, 07:48:24 PM
Sep, en la práctica, SOLO se hacen juegos para PC y XBOX. La gente esa de PS3 y los flipaos de la DS, la WII y el iPhone son solo una moda pasajera...

Que para la PS3 no se usa OGL, se usa un API de Sony ;) En las demás ni idea... Un saludo!

Vicente
Título: Re: Mac, Linux, Windows...
Publicado por: fjfnaranjo en 12 de Diciembre de 2008, 08:28:08 PM
En general para las otras también hay APIs propietarios. Pero vamos, que reducir todo el mercado laboral a DirectX, sobre todo como están las cosas últimamente, me ha parecido excesivo.
Título: Re: Mac, Linux, Windows...
Publicado por: Buffon en 12 de Diciembre de 2008, 11:01:13 PM
Cita de: fjfnaranjo en 12 de Diciembre de 2008, 08:28:08 PM
En general para las otras también hay APIs propietarios. Pero vamos, que reducir todo el mercado laboral a DirectX, sobre todo como están las cosas últimamente, me ha parecido excesivo.

por que no te lees de nuevo mi mensaje y me dices donde encuentras algo parecido a todo se reduce a direct x ?
Título: Re: Mac, Linux, Windows...
Publicado por: fjfnaranjo en 12 de Diciembre de 2008, 11:23:53 PM
Alaaa, las uñas, que rascas!

Declaro oficialmente anulado mi post, ea.  :P