En una palabra: el mip mapping se utiliza para que las textura no pixelen (se vean cuadraditos) y se suavicen.
Environment mapping
El environment mapping consiste en una imagen que es proyectada, que se refleja, en ciertos objetos.
El ejemplo más común es el de los juegos de coches. En los cristales siempre vemos árboles pasando, o montañas... o sea, una imagen cualquiera con montañas u árboles dibujados que se refleja en el cristal (o en la carrocería o en donde sea) para simular que refleja el entorno.
Fogging
El efecto de fogging también se puede llamar efecto de niebla y es uno de los efectos atmosféricos más comunes. Hace que los objetos cercanos se vean claramente, mientras que los mas lejanos se ven atenuados.
Este efecto no es sólo un efecto atmosférico, si no que los desarrolladores lo usan para reducir la cantidad de detalle de una determinada escena, reduciendo el proceso de carga y acelerando el renderizado.
Pongamos un ejemplo, imaginaros que estamos jugando al GTA 3 Vice City, y estamos en una calle muuuy larga, si nuestro microprocesador y nuestra gráfica han de renderizar absolutamente todos los edificios, coches y peatones con la misma calidad delante nuestro que al final de esta podemos deducir que la tasa de frames será penosa a no ser que tengamos un equipo de última generación.
Por lo tanto, lo que hacen los programadores es poner un poco de niebla en el horizonte con el fin que el motor gráfico se estalvie de renderizar lo que hay detrás de la niebla.
De este modo, no parece que sea un "truco" para renderizar menos objetos, sino que parece un efecto atmosférico.
En esta imagen podemos apreciar una muy buena comparativa, en la imagen de la izquierda nuestro microprocesador y nuestra tarjeta gráfica tienen que renderizar los nueve palos que se ven y todo el suelo hasta el horizonte, en canvio en la imagen de la derecha se a aplicada el efecto de niebla y el micro y la gráfica se estalvian prácticamente de renderizar los ocho palos del fondo y parte del suelo.
Como ven puede ser un efecto muy práctico a la hora de subir los frames por segundo; ya que si se renderiza la mitad de los objetos los frames por segundo serán de casi del doble no?
Resolución
La resolución es el número de puntos que es capaz de presentar por pantalla una tarjeta de vídeo, tanto en horizontal como en vertical.
Así, una resolución de "800x600" significa que la imagen está formada por 600 rectas horizontales de 800 puntos cada una.
Para que nos hagamos una idea, un televisor (de cualquier tamaño) tiene una resolución equivalente de 800x625 puntos.
Por este motivo es lógico que es mejor jugar con un monitor que soporta resoluciones de hasta 1600x1200 que con una televisión cualquiera, ya que la calidad de la imágen también variará.
Textura
Una textura es un conjunto de píxeles que se aplica a un polígono.
De la misma manera podemos decir que se denomina así no sólo a la apariencia externa de la estructura de los materiales, sino al tratamiento que puede darse a una superficie a través de los materiales. Puede ser táctil, cuando presenta diferencias que responden al tacto, y a la visión, rugosa, áspera, suave, etc.
Iluminación o lighting
Lighting significa iluminación, es decir, acción y efecto de iluminar.
Como podéis deducir se necesitan luces para iluminar los objetos 3D para que parezcan lo más reales posibles en la renderización final.
Podemos distinguir 4 tipos de luces en el diseño 3d:
•Omni Lights: Es como un foco de iluminación en todas direcciones, como una bombeta en medio de una habitación que ilumina a todas las paredes.
•Spot Lights: Es un tipo de luz que ilumina parte de un objeto, si tenemos una pared y aplicamos el foco veremos que no se ilumina toda, si no la parte en que apunta el foco.
•Ambient Lights: Que presenta al objeto 3D en cualquier lugar del espació.
•Specular Highlights: Son los reflejos de la luz en los objetos, (suelen consumir bastantes recursos).
TÉCNICAS GAFICAS
Compresion de texturas
La compresión de texturas se trata de comprimir las texturas, para que ocupen menos espacio o para hacerlas más grandes ocupando el mismo espacio. Dreamcast empezó usando un sistema de compresión de texturas por software que las comprimía en una razón de 3:1. Aquí tenemos una textura de 64x64 pixels
La compresión de texturas podríamos usarla en este caso para introducir una de mayor tamaño y calidad ocupando el mismo e incluso menos espacio, es decir, optimizar un poco. Como ésta:
...cuyo tamaño es de 256x256 pixels, y que sin embargo ocuparía lo que la anterior. Uno de los estándares de compresión de hoy en día (el de S3, soportado por las Direct X, GC y XBox) usan una compresión potente, pero con pérdida de calidad (como el jpg), que sin embargo es casi siempre imperceptible.
Z-Buffering
Sin complicarnos mucho podemos decir que el Z-Buffering mantiene registros de la coordenada Z de un objeto 3D.
El Z-buffer se usa para registrar la proximidad de un objeto al observador, y es también crucial para el eliminado de superfícies ocultas.
Hacer esto por hardware, libera a las aplicaciones de software de tener que calcular el complejo algoritmo "hidden surface removal" (eliminación de superficies ocultas).
Mapping
Mapping significa mapeado de texturas, también lo pueden conocer con el nombre de texturizar.
El mapping es el proceso de desarrollar y asignar atributos al material de un objeto para mostrar una apariencia real.
Antes de que las texturas sean aplicadas, todos los objetos 3D suelen tener una apariencia de plástico gris. El mapeado, le da al objeto un color, definición o textura específica.
Lo mas importante del mapeado de texturas son la corrección de perspectiva y el filtro bilinear.
Engine (Motor gráfico)
El motor gráfico es la parte de un programa que controla, gestiona y actualiza los gráficos 3D en tiempo real.
Unos de los Engines mas utilizados son los archiconocidos motores de Quake 3 y Unreal tournament, dando joyas como Medal of Honor o Clive Barker´s Undying
Alpha blending
El Alpha Blending es una técnica que permite crear objetos transparentes.
Normalmente, un pixel que aparece en pantalla tiene valores de rojo, verde y azul. Si el escenario 3D permite usar un valor alfa para cada pixel, tenemos un canal alfa.
Un objeto puede tener diferentes niveles de transparencia: por ejemplo, una ventana de cristal limpia tendría un nivel muy alto de transparencia (un valor alfa muy bajo), mientras que un cubo de gelatina podría tener un valor alfa medio.
Buffer
El buffer es el espacio de memoria que se utiliza como regulador y sistema de almacenamiento intermedio entre dispositivos de un sistema informático.
Doble buffer o buffer doble
El doble buffer es lo mismo que el triple buffer pero con una pequeña diferencia, en el buffer triple podíamos encontrar tres buffers para almacenar información, en el buffer doble solo podemos encontrar dos.
Triple buffering o buffer triple
El buffer triple se utiliza para que los gráficos aparezcan suavemente en la pantalla y no veamos saltos en la imagen, se suele emplear un buffer doble o triple, en el que, mientras vemos una imagen en pantalla, el procesador "pinta" en el otro buffer.
Cuando acaba de pintar, la tarjeta gráfica nos mostrará el nuevo buffer y empezará a pintar en el antiguo.
Y así sucesivamente con el objetivo que no veamos los molestos parones.
TÉRMINOS RELACIONADAS CON TARGETAS GRÁFICAS
Tiempo de acceso
El tiempo de acceso en la memoria de la tarjeta gráfica es exactamente igual que en la memoria RAM principal (en la RAM del PC normal es el tiempo que tarda una escritura o lectura); salvo que aquí los tiempos son menores.
Se mide en nanosegundos (ns= Una milmillonésima de segundo) y viene reflejado en el chip de memoria al final de la denominación, normalmente separado con un guión.
En función del tiempo de acceso el chip podrá funcionar a una frecuencia u otra que vendrá dada por 1000/t(ns). Actualmente los tiempos están entre 2,8 y 5 ns.
RAMDAC
Son las siglas de Random Access Memory Digital to Analog Converter (Convertidor Digital a Analógico de Memoria de Acceso Aleatorio). Este chip sirve para realizar la conversión de los datos digitales del color de cada punto a componentes analógicos de rojo, verde y azul (RGB: red, green, blue) para ser enviados al monitor. Para saber lo rápido que es, debemos mirar el ancho de banda del RAMDAC, que se mide en megahercios (igual que la velocidad del procesador) y que viene dado aproximadamente por esta fórmula:
Ancho de banda = Pixels en x * Pixels en y * Frecuencia de refresco * 1´5. Por lo tanto, un RAMDAC lento hará que la pantalla no se refresque suficientemente rápido, produciendo parpadeo y cansando nuestra vista. Hoy en día, podemos encontrar RAMDAC de hasta 300 MHz.
Ancho de banda de las tarjetas gráficas
El ancho de banda (bandwidth en inglés) es la capacidad de transporte de datos. Normalmente se mide en megabytes por segundo (MB/s) o en gigabytes por segundo (GB/s).
Explicado de otra manera podríamos decir que el ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado, normalmente medido en segundos. Cuanto mayor sea el ancho de banda, más datos podrán circular por ella al segundo.
Tasa de relleno o FillRate
La tasa de relleno (FillRate) es el número de texel (Pixel + textura asociada) que es capaz de generar el motor gráfico.
Explicado de otra forma podemos decir que es la medida de la cantidad de pixels que puede dibujar una tarjeta 3D en un segundo.
Básicamente podemos decir que determina la velocidad que los pipelines pueden procesar una textura simple o más compleja.
La velocidad de refresco (Hz)
La velocidad de refresco es el número de veces que se dibuja la pantalla por segundo (como los fotogramas del cine); evidentemente, cuanto mayor sea menos se nos cansará la vista y trabajaremos más cómodos y con menos problemas visuales.
Se mide en hertzios (Hz, 1/segundo), así que 70 Hz significa que la pantalla se dibuja cada 1/70 de segundo, o 70 veces por segundo.
Para trabajar cómodamente necesitaremos esos 70 Hz. Para trabajar ergonómicamente, con el mínimo de fatiga visual, 80 Hz o más.
El mínimo absoluto son 60 Hz; por debajo de esta cifra los ojos sufren muchísimo, y unos minutos bastan para empezar a sentir escozor o incluso un pequeño dolor de cabeza.
TÉRMINOS RELACIONADOS CON EL PROCESADOR DE LA TARJETA DE VIDEO
Número de transistores
El número de transistores indica la cantidad de transistores que el fabricante ha sido capaz de meter en el chip, esta íntimamente relacionado con la escala de integración y no sirve absolutamente para nada.
El record lo tiene el Radeon 9700 con unos 110 millones de transistores.
Frecuencia de funcionamiento
La frecuencia de funcionamiento se mide en Mhz, al igual que en las CPU y, lógicamente, cuanto mas mejor, pero claro, siempre con el mismo chip, ya que entre chips distintos no indica mayor rendimiento.
Este valor hay que tomarlo con cuidado, ya que para que sirva como referente dos tarjetas solo se pueden diferenciar en la velocidad de funcionamiento de la GPU, si se diferencian en cualquier otra cosa, especialmente la memoria, no sirve de nada.
Actualmente la Frecuencia de funcionamente en las tarjetas gráficas va desde los 200 a los 325 Mhz.
Número de Bits
El número de bits indica la cantidad de bits con los que el procesador es capaz de trabajar simultáneamente en una instrucción.
En realidad es algo más complejo, pero no tiene mayor importancia a la hora de la compra.
Actualmente la mayoria de tarjetas gráficas son de 256 bits, a excepción de la Parhelia de Matrox que es de 512, claro que no siempre el numero de bits es real, sino que, a veces, lo que un procesador hace es trabajar con 4x128 bits; por ejemplo.
Hoy en día, hay dos tipos de Chipset gráficos en uso y estos son el chipset de 128-bits y el chipset de 64-bits.
Bits del bus
Los bits del bus de una tarjeta gráfica hacen referencia al numero de bits que se transmiten por el bus hacia o desde la memoria.
Es mucho mas importante que el anterior, ya que a mayor numero de bits, mayor información transmitida en el mismo tiempo. Normalmente es de 128 bits, salvo en la Parhelia y Radeon 9700 que es de 256 bits.
Velocidad del bus de memoria
La velocidad del bus de memoria nos indica a que velocidad se transmite la información por el bus y viene dada en Mhz.
Este factor esta mucho mas identificado con la memoria que con el procesador, ya que será la primera la que determine la velocidad efectiva del mismo.
Hay que tener en cuenta que según el tipo de memoria que lleve la velocidad pude ser distinta, me explico: normalmente la velocidad del bus de memoria, o de la memoria, se indica para memoria SDR, sin embargo si la memoria es DDR, lo mas común hoy en día, la velocidad efectiva será de el doble, ya que la memoria DDR transmite dos datos por Mhz (o ciclo de reloj para ser exactos).
Texel
El texel es un pixel de una textura mapeada que ha sido aplicado a un polígono.
Podemos decir que un texel es el equivalente a un pixel pero en 3D. Se suele utilizar para crear objetos volumétricos como nubes o simulaciones aerodinámicas.
RAMDAC
elRAMDAC se mide MHz y de él depende la calidad de la imagen transmitida al monitor, y si contamos con un monitor de una cierta calidad, debe exigirse al menos un RAMDAC de 175MHz.
Otro problema diferente es el tipo del RAMDAC. Hoy en día éste suele estar integrado en el propio procesador gráfico con el fin de abaratar costes de fabricación, especialmente en tarjetas de gama baja y media, pero esto hace que la calidad gráfica y las frecuencias de refresco desciendan considerablemente con respecto a un RAMDAC en chip independiente, que es lo habitual en tarjetas gráficas de gama alta, donde se llegan a alcanzar velocidades de hasta 250MHz.
A mayor velocidad en MHz el RAMDAC no sólo proporciona una mejor calidad gráfica, sino también una mayor frecuencia de refresco a resoluciones de pantalla altas, lo que redunda en una mejor visión y un menor cansancio visual al estar varias horas delante del monitor.
Vertex shader
Un Vertex Shader es una función de proceso gráfico, es decir, añade efectos especiales a los objetos de una escena 3D.
Un Vertex Shader programable permite a los desarrolladores ajustar efectos mediante la carga de instrucciones software en la memoria dedicada a él.
Efectúan operaciones matemáticas sobre los datos de un vértice de un objeto. Cada vértice se define mediante un número de variables, como mínimo X, Y y Z, coordenadas que definen su posición, pero pueden contener información del color, canal alpha y/o características de la textura e iluminación.
Bien, una manera más sencilla de verlo es refiriéndonos a polígonos.
Lo que vemos en nuestro monitor en una escena 3D está compuesto de polígonos. Cada triángulo, como sabéis, está compuesto de 3 vértices. Pues lo que hace el motor Vertex Shader es controlar la posición y el contenido de dichos vértices (textura, iluminación,...).
Usado con acierto, ayuda a suavizar movimientos, que no den la sensación de avanzar a trompicones. Efectos que ganan en calidad con un Vertex Shader por hardware: Motion Blur (efecto de movimiento rápido), Efecto Lente (ojo de pez (fig.1), etc..) y Deformaciones Procedurales (bandera ondeante, objetos arrugados,...), niebla, refracción de luz como a través de un vaso, etc...
Píxel shaders
Los Píxel shaders son entidades extremadamente complejas, pero lo que hacen básicamente es sencillo de entender. Hasta ahora hemos hablado de polígonos, triángulos y vértices de dichos triángulos.
Bien, pues cuando todas las operaciones han sido hechas sobre dichos polígonos y están listos para mostrarse en pantalla, estos están formados por un conjunto de píxels individuales. Con el Píxel Shader, los desarrolladores pueden controlar totalmente cómo quiere que se vea cada pixel por pantalla.
Si miran algun analisis antiguo de la GeForce2 GTS veran que también se aparecia la funcionalidad de Píxel Shaders, pues bien, ese chip podía realizar 7 operaciones en una pasada sobre un píxel, mientras que el GeForce3 puede efectuar 36 y además programables, no fijas de una lista de efectos existentes.
Algunas de sus aplicaciones pueden ser: Propiedades de Materiales especiales (seda, piel, cuero), cabellos en tiempo real, sombras suaves, reflexiones y refracciones perfectas, bump mapping por píxel con corrección Z, superficies extremadamente detalladas....
Pipelines de la tarjeta gráfica
Básicamente los pipelines serían las unidades de cálculo especializadas.
Por ejemplo, un procesador suele incorporar 1 o varias Integer Pipelines (para el cálculo con valores enteros), y 1 o varias Float Point Pipelines (dedicadas al cálculo de números en coma flotante).
En el caso de las tarjetas gráficas, por ejemplo se podría encontrar la Ati 9700 Pro con 8 pipelines, y la 9500 con 4 Pipelines, que ayudarían en el cálculo de ciertos polígonos, sus coordenadas y su posición, podrían tener funciones de ayuda a la texturización, etc.
Principalmente, se podrían clasificar los pipelines gráficos en dos clases:
- Pipeline 3D (o de Geometría)
- Pipeline 2D (o de Imagen)
Muy básicamente, las funciones que realizarían a la hora de crear una imagen serían las siguientes:
En primer lugar, entra en juego el Pipeline 3D, creando el modelo, uniendo los vértices 3d de las figuras, y creando las caras que conforman los polígonos. Después realiza el tema del sombreado, iluminación y reflexión.
T&L (Transform and lighting)
El término T&L significa Transform and lighting, es decir, transformación e iluminación.
En sus principios fue anunciado como la gran revolución gráfica, aunque esta función no ha tenido mucho impacto en los juegos.
Esta función consiste en que la tarjeta aceleradora o gráfica haga las operaciones de transformación e iluminación para que el micro tenga más libertad y se puedan crear mjeores gráficos o una inteligencia artificial más compleja (IA).
Pero como requiere que el videojuego este específicamente programado para esta función pues todavía no hay muchos juegos que logren aprovechar esta ventaja.
El T&L fue introducida en el original de GeForce y la GeForce 2.
Saludos