Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

La batalla entre OpenGL y Direct3D

editada por Candyman el Domingo, 24 Julio de 2011, 06:30h   Printer-friendly   Email story
desde el dept. it's-where-the-money-is

En el sitio para programadores de Stack Exchange preguntan por qué los programadores de videojuegos prefieren Windows. Y un usuario contesta con la historia de OpenGL contra Direct3D. «Una historia de oportunidades perdidas, estupidez atroz, ceguera deliberada y simple estupidez.»

Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Juegos en móviles

    (Puntos:1, Inspirado)
    por pobrecito hablador el Domingo, 24 Julio de 2011, 09:49h (#1285798)

    ¿Seguro que prefieren Windows? ¿O prefieren simplemente aquello que tiene mayor cuota de mercado? Porque en móviles dudo mucho que programen en Direct3D. Tanto Android como iOS usan OpenGL para 3D, ¿no?

    [ Responder ]
    • No es FUD, es real

      (Puntos:5, Interesante)
      por Ed Hunter (702) el Lunes, 25 Julio de 2011, 08:59h (#1285852)

      La implementación de OpenGL incluida de serie en Windows Vista (y en 7) es la 1.5 (cuando vamos por la 4.1) y lo que hace es traducir las llamadas de OpenGL a DirectX.

      Para tener OpenGL moderno (y "real", sin usar DirectX por debajo) lo tiene que implementar el fabricante de la gráfica por su cuenta, pero entonces las aplicaciones OpenGL dejan de ser compatibles con Windows Aero, por lo que no pueden funcionar en modo ventana dentro del "escritorio 3D" prácticamente obligando a ser usado exclusivamente en modo pantalla completa. Si sólo usas OpenGL para juegos, esta limitación tendrá poca importancia, pero si lo quieres usar en aplicaciones entonces ya si que importa.

      Aparte de que si usas Windows Vista sabes que tendrás DirectX 10 como mínimo (aunque puede que no todo acelerado) mientras que en OpenGL dependerá de si se trata de una GPU Intel, AMD o nVidia para tener unas u otras versiones de OpenGL.

      De todas formas, no es justa la comparación OpenGL vs. DirectX, ya que DirectX incluye otras funciones aparte de las de gráficos 3D, ya que incluye funciones para dispositivos de control (teclado, ratón, pad, joystick, volante, etc.), control del sonido (mezclador, soporte de sonido 3D, etc.), para el desarrollo de juegos on-line, etc. por lo que para hacer juegos OpenGL es necesario o implementar más funciones o usar librerías extra (por ejemplo libSDL, OpenAL, etc.).

    • Re:Juegos en móviles de Observer (Puntos:2) Martes, 26 Julio de 2011, 04:09h
    • 1 respuesta por debajo de tu umbral de lectura actual.
  • La historia

    (Puntos:2)
    por Filiprino (39581) el Domingo, 24 Julio de 2011, 13:54h (#1285812)
    ( Última bitácora: Martes, 07 Diciembre de 2010, 20:04h )
    La historia de OpenGL es una historia triste. Pasó de ser la API más usada para videojuegos en PC a tener una cuota marginal.

    Si aún sobrevive es por los fabricantes de hardware (que por ejemplo todas sus demos técnicas están hechas en OpenGL, al menos en el caso de NVIDIA) y ahora probablemente disfrute de nueva vida gracias a OpenCL, impulsado por AMD en su objetivo de tener una plataforma de computación para competir con el CUDA propietario de NVIDIA. Además AMD también creará extensiones a OpenGL para las nuevas generaciones de GPU que están por venir [rage3d.com], de igual modo que también hará algo similar para DirectX.
    [ Responder ]
    • Re:La historia de pobrecito hablador (Puntos:1) Domingo, 24 Julio de 2011, 15:57h
      • Re:La historia de pobrecito hablador (Puntos:1) Domingo, 24 Julio de 2011, 16:50h
    • Re:La historia de pleyades (Puntos:2) Domingo, 24 Julio de 2011, 18:53h
      • Re:La historia de Filiprino (Puntos:2) Domingo, 24 Julio de 2011, 19:27h
        • Re:La historia de pleyades (Puntos:2) Lunes, 25 Julio de 2011, 09:20h
          • Re:La historia de Filiprino (Puntos:2) Lunes, 25 Julio de 2011, 13:50h
            • Re:La historia de Filiprino (Puntos:2) Lunes, 25 Julio de 2011, 14:50h
    • Re:La historia de sinman (Puntos:2) Martes, 26 Julio de 2011, 12:33h
    • 1 respuesta por debajo de tu umbral de lectura actual.
  • Quien ha ganado la batalla es OpenGL

    (Puntos:3, Interesante)
    por pobrecito hablador el Domingo, 24 Julio de 2011, 15:45h (#1285817)

    Al margen del FUD habitual entre los fanboys de Microsoft, en mi humilde opinión es OpenGL quien está ganando la batalla.

    En primer lugar por la portabilidad: MacOS X, Android, iPhone, iPad, PS3, ... Cuando una empresa decide hoy en día desarrollar un juego sobre D3D 11, está asumiendo que dicho juego sólo va a funcionar sobre Windows Vista y Windows 7, ni siquiera sobre XP. Eso es restringir mucho el público objetivo. Se ven obligadas entonces a usar APIs de recubrimiento que abstraen el API nativo de la máquina, con el esfuerzo añadido que supone y las desventajas de rendimiento y capacidad que supone siempre toda abstracción.

    En segundo lugar, por la posibilidad de acceder a las últimas capacidades del hardware. El mecanismo de extensiones de OpenGL permite acceder a las últimas capacidades del hardware antes de que se estandarice el API. La mayor parte de las tecnologías, como el "tessellation" o los "shaders" programables, estuvieron disponibles en OpenGL como extensiones propietarias mucho antes de que estuvieran disponibles en Direct3D. Es cierto que luego, hasta que la extensión se estandariza, pasa mucho tiempo, y en eso Microsoft está siendo más rápida, pero podemos tener la seguridad de que si mañana NVIDIA o AMD sacan una tarjeta con una nueva capacidad revolucionaria, dicha capacidad podrá usarse antes mediante OpenGL que mediante Direct3D.

    En tercer lugar por el control de la tecnología. Los fabricantes no controlan Direct3D, porque es un API que gobierna exclusivamente Microsoft. Es Microsoft quien decide qué se incluye en el estándar y cuándo. Y si mañana Microsoft decide que DirectX 12 sólo se ofrecerá para Windows 8, o que no estará más que disponible para sus nuevas consolas, los fabricantes no tienen forma de alterar esa decisión. Ahí está la polémica decisión de Microsoft de no ofrecer DX11 para Windows XP, y creo que la XBox 360 no soporta más que DX9.

    El control de la tecnología es un factor vital. Entre las empresas que soportan OpenGL [khronos.org] hay rivales directas de Microsoft que jamás aceptarán que el control de una tecnología quede exclusivamente en Microsoft.

    En cuarto lugar, volumen de mercado. De los diez juegos más vendidos en los últimos años, no creo que haya uno sólo para PC. Aquí tenéis los datos de 2010 [zonared.com], o como dato sintomático, el porcentaje de ventas de "Crysis 2" [zonared.com] para cada plataforma.

    Con los datos anteriores, y con la explosión que está teniendo no sólo el Mac, sino los juegos para Android, creo que hablar de alguna batalla ganada para D3D hoy es francamente ridículo.

    Y si alguien de verdad piensa desarrollar juegos sólo para Windows 7 y los próximos sistemas operativos de Microsoft, le recomiendo que se centre en la plataforma XNA [wikipedia.org], que quien sabe si mañana será el único API soportado por Microsoft.

    [ Responder ]
  • por Aeko el indomable (33576) el Domingo, 24 Julio de 2011, 23:30h (#1285835)
    Mas aun cuando el 90% (+/-) de los PC son windwows. Por eso, lo optimo es pillar lo que mejor funciona con tu SO y eso es D3D. (prescindiendo de comentar el debug de uno u otro, la abstraccion de hardware, el rollo de las extensiones de OGL, ...)
    --
    protected static volatile transient boolean coolean = true;
    [ Responder ]
  • 3 respuestas por debajo de tu umbral de lectura actual.