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


Imagen vectorial

Hoy en día los gráficos por ordenador en 2D y, especialmente en 3D, se diseñan con programas que utilizan gráficos en forma vectorial; esto quiere decir que es una imagen digital formada por objetos geométricos independientes (segmentos, polígonos, arcos, etc.), cada uno de ellos definido por distintos atributos matemáticos de forma, posición, color, etc. Por ejemplo un círculo de color rojo quedaría definido por la posición de su centro, su radio, el grosor de línea y su color.

Este formato de imagen es completamente distinto al formato de las imágenes de mapa de bits, también llamados imágenes matriciales, que están formados por píxeles. El interés principal de los gráficos vectoriales es poder ampliar el tamaño de una imagen a voluntad sin sufrir la pérdida de calidad que sufren los mapas de bits. De la misma forma permiten mover, estirar y retorcer imágenes de manera relativamente sencilla, lo que permite un gran abanico de posibilidades a la hora de animarlas.
Todos los ordenadores actuales traducen los gráficos vectoriales a mapas de bits para poder representarlos en pantalla al estar ésta constituida físicamente por píxeles.

Las figuras geométricas básicas más utilizadas son las líneas y polilíneas, polígonos, círculos y elipses,etc.

Frecuentemente a las imágenes de mapa de bits se las considera formatos algo primitivos, desde un punto de vista conceptual, ya que su forma de almacenar la información en píxeles no permite la misma flexibilidad que se obtiene con una imagen vectorial. Sin embargo los mapas de bits presentan ventajas en otras áreas como la fotografía digital y el video.

Las principales aplicaciones entre las que se encuentra el uso de gráficos vectoriales son los videojuegos, animación por ordenador, lenguajes de descripción de documentos (PostScript, PDF), tipografías, etc.


Este es un ejemplo en el que se pueden comparar los gráficos vectoriales (columna de la izquierda) con los gráficos en mapa de bits (columna de la derecha) al ampliar las respectivas imágenes. Como se puede comprobar, a medida que aumenta el zoom los gráficos de la izquierda mantienen su calidad, mientras que los de la derecha van revelando paulatinamente los píxeles que conforman la imagen. 


Programas de edición vectorial:
Privativos: Illustrator, Corel Draw!, Freehand, Visio, etc.
Libres: OpenOffice.org Draw, LibreOffice Draw, Inkscape, Sodipodi, Skencil, etc.



Como no todo podía ser perfecto, éste tipo de gráficos también tiene algunas desventajas, que son las siguientes:

  • Los gráficos vectoriales en general no son aptos para codificar fotografías o vídeos tomados en el «mundo real», aunque algunos formatos admiten una composición mixta (vector + mapa de bits). Prácticamente todas las cámaras digitales almacenan las imágenes en mapa de bits.
  • Los datos que describen el gráfico vectorial deben ser procesados, es decir, el computador debe ser suficientemente potente para realizar los cálculos necesarios para formar la imagen final. Si el volumen de datos es elevado se puede volver lenta la representación de la imagen en pantalla, incluso trabajando con imágenes pequeñas.
  • Por más que se construya una imagen con gráficos vectoriales su visualización tanto en pantalla, como en la mayoría de sistemas de impresión, en última instancia tiene que ser traducida a píxeles.
Por Javier Vara

Las principales teorías económicas explicadas con vacas

Socialismo:
Tú tienes 2 vacas
El estado te obliga a darle 1 a tu vecino. 

Comunismo: 
Tú tienes 2 vacas.
El estado te las quita y te DA algo de leche.

Fascismo: 
Tú tienes 2 vacas. 
El estado te las quita y te VENDE algo de leche. 

Nazismo:
Tú tienes 2 vacas.
El estado te las quita y te dispara en la cabeza.

Burocratismo:
Tú tienes 2 vacas.
El estado te pierde una, ordeña la otra y luego tira la leche al suelo.

Capitalismo tradicional:
Tú tienes 2 vacas.
Vendes una y te compras un toro.
Haces más vacas.
Vendes las vacas y ganas dinero.
Luego te jubilas rico.

Capitalismo moderno:
Tú tienes 2 vacas.
Vendes 3 de tus vacas a tu empresa que cotiza en bolsa mediante letras de crédito abiertas por tu cuñado en el banco.
Luego ejecutas un intercambio de participación de deuda con una oferta general asociada con lo que ya tienes las 4 vacas de vuelta, con exención de impuestos por 5 vacas.
La leche que hacen tus 6 vacas es transferida mediante intermediario a una empresa con sede en las Islas Cayman que vuelve a vender los derechos de las 7 vacas a tu compañía.
El informe anual afirma que tú tienes 8 vacas con opción a una más.
Coges tus 9 vacas y las cortas en trocitos.
Luego vendes a la gente tus 10 vacas troceadas.
Curiosamente durante todo el proceso nadie parece darse cuenta que, en realidad, tú sólo tienes 2 vacas.

Economía japonesa:
Tú tienes 2 vacas.
Las rediseñas a escala 1:10 y que te produzcan el doble de leche.
Pero no te haces rico.
Luego ruedas todo el proceso en dibujos animados.
Los llamas ‘Vakimon’ e incomprensiblemente, te haces millonario.

Economía alemana:
Tú tienes 2 vacas.
Mediante un proceso de reingeniería consigues que vivan 100 años,
coman una vez al mes y se ordeñen solas.
Nadie cree que tenga ningún mérito.

Economía rusa:
Tú tienes 2 vacas.
Cuentas y tienes 5 vacas.
Vuelves a contar y te salen 257 vacas.
Vuelves a contar y te salen 3 vacas.
Dejas de contar vacas y abres otra botella de vodka.

Economía china:
Tú tienes 2 vacas.
Tienes a 300 tíos ordeñándolas.
Explicas al mundo tu increíble ratio de productividad lechera.
Disparas a un periodista que se dispone a contar la verdad.

Capitalismo americano:
Tienes 2 vacas.
Vendes una y fuerzas a la otra a producir la leche de cuatro vacas.
Te quedas sorprendido cuando ella muere.

Economía iraquí:
Tú no tienes vacas.
Nadie cree que no tengas vacas, te bombardean y te invaden el país.
Tú sigues sin tener vacas.

Economía india:
Tú tienes 2 vacas.
Las pones en un altar para adorarlas.
Después sigues comiendo arroz al curry.

Economía suiza:
Hay 5000000000 vacas.
Es obvio que tienen dueño pero nadie parece saber quién es.

Economía francesa:
Tú tienes 2 vacas.
Entonces te declaras en huelga, organizas una revuelta
violenta y cortas todas las carreteras del país, porque tú lo que
quieres son 3 vacas.

Economía neozelandesa:
Tú tienes 2 vacas.
La de la izquierda te parece cada día más atractiva

Capitalismo italiano:
Tienes 2 vacas.
Una de ellas es tu madre, la otra tu suegra,
¡¡maledetto!!!

Capitalismo británico:
Tienes 2 vacas.
Las dos están locas.

Economía española:
Tú tienes 2 vacas, pero no tienes ni idea de donde están.
Pero como ya es viernes, te bajas a desayunar al bar que tienen el Marca.
Si acaso, ya te pondrás a buscarlas el miércoles después del puente de San Aniceto.

Introducción al 3D

Un gráfico 3D difiere de uno bidimensional principalmente por la forma en que ha sido generado. Este tipo de gráficos se originan mediante un proceso de cálculos matemáticos sobre entidades geométricas tridimensionales producidas en un ordenador, y cuyo propósito es conseguir una proyección visual en dos dimensiones para ser mostrada en una pantalla o impresa en papel.


En general, se podría establecer una analogía entre los gráficos tridimensionales y la escultura o la fotografía, del mismo modo que existe entre el arte de los gráficos 2D y la pintura. En los programas de gráficos por computadora esta distinción es a veces difusa: algunas aplicaciones 2D utilizan técnicas 3D para alcanzar ciertos efectos como iluminación, mientras que algunas aplicaciones 3D primarias hacen uso de técnicas 2D.


Ejemplo de Imágen realizada en 3D


Fases para la creación de elementos o gráficos tridimensionales:

Modelado
La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena. Existen diversos tipos de geometría, como el modelado poligonal o la subdivisión de superficies. Además, aunque menos usado, existe otro tipo llamado "modelado basado en imágenes", el cual consiste en convertir una fotografía a 3D mediante el uso de diversas técnicas, de las cuales, la más conocida, es la fotogrametría. 


Iluminación
Creación de luces de diversos tipos puntuales, direccionales en área o volumen, con distinto color o propiedades. Esto es la clave de una animación. 
Gran parte de la iluminación en 3D requiere del entendimiento físico de la luz en la realidad, este entendimiento puede ir desde lo más básico, como por ejemplo el concepto de iluminación global, hasta comportamientos complejos y extraños de la luz como la dispersión en superficies y subsuperficies. 


Iluminación global 
Un objeto en la vida real, a no ser que se encuentre dentro de un recipiente totalmente negro es iluminado por luz directa e indirecta o solo por luz indirecta. Esto se debe a que los fotones emitidos por la fuente de luz rebotan en todas las superficies con las que se encuentran por lo que un objeto en un lugar físico es irradiado por fotones directos de la fuente de luz y por fotones que han rebotado en las superficies circundantes (iluminación indirecta). Cada superficie circundante al objeto producirá una intensidad de iluminación diferente desde distintas direcciones y con distintas tonalidades de color sobre el objeto dependiendo del color de cada superficie. A su vez, la luz también rebotará en el objeto de atención. 


Animación 
Los objetos se pueden animar en cuanto a: 

  • Transformaciones básicas en los tres ejes (XYZ), rotación, escala y traslación. 
  • Forma: 
    • Mediante esqueletos: a los objetos se les puede asignar un esqueleto, una estructura central con la capacidad de afectar la forma y movimientos de ese objeto. Esto ayuda al proceso de animación, en el cual el movimiento del esqueleto automáticamente afectará las porciones correspondientes del modelo. Véase también animación por cinemática directa y animación por cinemática inversa. 
    • Mediante deformadores: ya sean cajas de deformación (lattices) o cualquier deformador que produzca, por ejemplo, una deformación sinusoidal. 
    • Dinámicas: para simulaciones de ropa, pelo, dinámicas rígidas de objeto.

La animación es muy importante dentro de los gráficos porque en estas animaciones se intenta plasmar el mero realismo, por lo cual se trabajan muchas horas. 


Renderizado 
Se llama renderización al proceso final de generar la imagen 2D o animación a partir de la escena creada. Esto puede ser comparado a tomar una foto o en el caso de la animación, a filmar una escena de la vida real. Generalmente se buscan imágenes de calidad fotorrealista, y para este fin se han desarrollado muchos métodos especiales. 
El proceso de rénder necesita una gran capacidad de cálculo, pues requiere simular gran cantidad de procesos físicos complejos. La capacidad de cálculo se ha incrementado rápidamente a través de los años, permitiendo un grado superior de realismo en los rénders.


Por Javier Vara