Bienvenidos

Bienvenidos a nuestro blog relacionado con el mundillo de la pantalla. Publicamos acerca de la actualidad del mundo de la informática (nuevos programas, nuevos sistemas operativos...), tutoriales acerca de cómo usar aplicaciones, móviles y programas, trucos y aplicaciones que pensamos que no deben faltar en tu ordenador y dispositivo móvil y nuestros consejos y estrategias para lograr un buen blog.
Seguimos desarrollando la página y añadiendo nuevos temas a nuestras publicaciones. Esperamos que os guste.

DirectX VS OpenGL

Cuando escuchamos algo sobre estas dos tecnologías ¿realmente sabemos lo que son, a parte de su necesidad para ejecutar los juegos?. ¿qué son DirectX y OpenGL exactamente? Básicamente, evitando una explicación compleja, son unas librerías (APIs) que nos permiten comunicarnos con el hardware de manera directa, optimizando así los recursos, y mejorando considerablemente el rendimiento. Además nos proveen de una serie de funciones específicas para el diseño en 3D, por lo son ampliamente utilizadas en el mundo de los videojuegos, CAD, realidad virtual, etc.




Lo primero, hemos de tener claro qué es una escena 3D. En realidad, ¡no existe!. Simplemente tenemos una serie de matrices y estructuras matemáticas que definen un hipotético mundo tridimensional, del cual vemos en nuestra pantalla una proyección bidimensional obtenida a partir de ciertos cálculos matemáticos sobre estas matrices. Es decir, tenemos una matriz donde se definen puntos en el espacio, la multiplicamos por una matriz que determina como se proyectan estos puntos sobre la pantalla y obtenemos una imagen 2D del 'mundo 3D', como si hiciésemos una foto. Teniendo claro este concepto podemos empezar a entender mejor cómo funcionan éstas librerías.

A modo de curiosidad, ahí van algunas de las funciones que son capaces de implementar éstas tecnologías:
  • Primitivas geométricas
  • Codificación del Color en modos RGBA
  • Visualización y Modelado
  • Mapeado de texturas
  • La iluminación de materiales
  • El sombreado
  • Efectos atmosféricos
  • Operaciones con Pixels
  • Transformaciones: rotación, escalado, perspectivas en 3D

Existen varias diferencias entre ellos pero básicamente realizan la misma tarea. Es cuestión del programador utilizar la tecnología con la que se sienta más cómodo.

Existen muchos aspectos tecnológicos en referencia a las diferencias de dichas librerías. La más importante es que DirectX es una herramienta de Windows y OpenGL puede ser utilizado en una gran variedad de plataformas. Existe una mini guerra entre estas dos librerías, habiendo defensores una u otra, como así también gente que se siente a gusto con ambas. Lo fundamental de las dos es su cometido. Las dos facilitan la programación y reducen sus tiempos.

Ambas se encargan de transcribir nuestras solicitudes en un lenguaje natural (similar al lenguaje humano) a código máquina (unos y ceros) para que el hardware pueda interpretarlo. Además evitan que tengamos que tener una especificación mas ampliada de cómo procesa la información en el hardware.

Ambas librerías reducen la complejidad y buscan la estandarización. Si no deseáramos usarla, deberíamos programar código para cada placa específica que existe en el mercado. Y como bien sabemos, existen muchas. De esta manera las empresas productoras de hardware realizan sus productos compatibles con estas tecnologías.

Cabe mencionar que DirectX es el nombre de un conjunto de herramientas como Direct3D, DirectSound, DirectInput. Como observan en sus nombres, esta bien indicado para que sirve cada una de estas librerías (manejo del 3d, del sonido, etc.).

Si tienen la oportunidad de ver las características de una placa de video, por ejemplo, observarán que las mismas indican la compatibilidad ya sea de una librería o de la otra, indicando además la versión actual de las mismas, ya que ambas sufren modificaciones y mejoras constantemente.

Por Javier Vara


No hay comentarios:

Publicar un comentario