Bit blit

Bit blit

Bit blit

En computación gráfica, BIT BLIT (bitblt, blitting, etc) es una primitiva gráfica consistente en que dos mapas de bit son combinados en uno. Se trata de una de las primitivas gráficas más básicas y por tanto más utilizadas en gráficos 2D. La mayoría de las tarjetas de vídeo la implementan en hardware (es una de la muchas operaciones de las que se encarga la GPU).

Orígenes

El nombre deriva de la instrucción BitBLT (bit block transfer, transferencia de bloque de bits) del ordenador Xerox Alto. Esta operación fue creada por Diana Merry en Xerox PARC para el sistema Smalltalk-72. Para el sistema Smalltalk-74, Dan Ingalls implementó una versión rediseñada en microcódigo.

El desarrollo de métodos rápidos para varias operaciones bit blit fue la clave en la evolución de visualizaciones en ordenadores desde el uso de gráficos de caracteres, hasta el uso de gráficos de mapas de bit para todo. Las máquinas que necesitaban especial rendimiento de gráficos 2D (como las consolas de videojuegos) venían con un chip especializado llamado Blitter.

Bit Blit, técnicas y usos

Un uso clásico para blitting es renderizar sprites con transparencias sobre un fondo. Por razones de velocidad es normalmente inviable moverse a través de cada pixel y encontrar si esto necesita ser visualizado. Por ejemplo, si tenemos la siguiente imagen de fondo:

Blit back.png

y deseamos mostrar varios sprites sobre esta imagen de fondo representando, por ejemplo, objetos de un juego para producir esto:

Blit final.png
Sprites (Left) and Masks (Right)

Lo primero que necesitamos son los mapas de bit para los sprites y las correspondientes máscaras. Los colores tienen mucha importancia ya que el fondo del sprite y el primer plano de la máscara son negros, almacenados como ceros binarios. Los fondos de las máscaras son blancos, almacenados como unos binarios.

El primer blit usa el RasterOp de AND con el fondo y la máscara de los sprites. Debido a que cualquier valor AND con 0 igual a 0, y cualquier valor AND con 1 sin cambios, podemos crear áreas negras donde los sprites actuales aparecerán, y dejarán el resto del fondo sólo.

Blit and.png

El segundo blit usa el RasterOp de OR con el fondo modificado y el sprite actual. Debido a algún valor OR con 0 sin cambios, el fondo no será afectado y las áreas negras son ocupadas con la actual imagen del sprite.

Blitting vs. sprites

La técnica de bliting es similar al dibujo de sprites mediante hardware, en ambos sistemas se reproduce un patrón, típicamente un área cuadrada, en diferentes localizaciones de la pantalla. Los sprites tienen la ventaja de ser alojados en una memoria separada, y por tanto no molesta a la memoria de la visualización principal. Esto les permite ser movidos sobre la visualización, cubriendo el "fondo", sin afectarlo.

La técnica de blitting mueve los mismos tipos de patrones sobre la pantalla, pero escribiendo tanto en la misma memoria como en el resto de la visualización. Esto significa que el patrón se sitúa todo el tiempo "bajo" la pantalla de la visualización (mientras éste es sobreescrito). Éste es alzado hacia el software para encauzarlo mediante blitting de dos maneras, una vez para eliminar "la suciedad", y luego otra vez para emplazar el bit en su nueva localización. Sin embargo, hay varios caminos para optimizar esto. Si grandes áreas de la pantalla son tomadas por los patrones, puede ser más eficiente "blitear" el fondo de la pantalla en lugar de estar borrando cada patrón individualmente. La variación supone dividir la pantalla en segmentos y borrar únicamente los segmentos donde los patrones han sido dibujados. Esta técnica es conocida como ensuciado de rectángulos.

Como uno podría imaginar, todo esto hace que la técnica de blitting sea significativamente más lenta que la manipulación de sprites. Sin embargo el blitting tiene una gran ventaja, no está limitado físicamente al número de patrones que se puedan "blitear", o al tamaño de los patrones. Se puede usar blitting para mostrar cualquier cosa en la pantalla, incluyendo simulación de sprites (a través de un patrón de doble escritura), o un evento de texto.

Obtenido de "Bit blit"

Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Bit blit — ( bitblt , blitting etc.) is a computer graphics operation in which several bitmap patterns are combined into one using a raster operator .OriginsThe name derives from the BitBLT machine instruction for the Xerox Alto computer, standing for Bit… …   Wikipedia

  • Bit blit — Als Bit blit (für Bit Block Image Transfer; auch als BitBlt oder ähnlich bezeichnet für bit block transfer) bezeichnet man eine Computeroperation, die für das schnelle Kopieren und Verschieben von Speicherinhalten (Blitting) zuständig ist. Bit… …   Deutsch Wikipedia

  • Blit — can mean:* BLock Image Transfer from Bit blit ( Bit Block Transfer , BitBLT , blitting etc.) is a computer graphics operation in which two bitmap patterns are combined. Sometimes, this is done in hardware by means of a Blitter chip. * The Blit… …   Wikipedia

  • Blit — steht für:: die Computeroperation Bit blit BLIT ist die Abkürzung für: den Brandenburger Linux Infotag, ein in Potsdam stattfindender Linuxtag …   Deutsch Wikipedia

  • Blit (computer terminal) — In computing, the Blit was a programmable bitmap graphics terminal designed by Rob Pike and Bart Locanthi Jr. of Bell Labs in 1982. When initially switched on, the Blit looked like an ordinary textual terminal, although taller than usual: Similar …   Wikipedia

  • Bit Block Transfer — Als Bit blit (für Bit Block Image Transfer; auch als BitBlt oder ähnlich bezeichnet für bit block transfer) bezeichnet man eine Computeroperation, die für das schnelle Kopieren und Verschieben von Speicherinhalten (Blitting) zuständig ist. Bit… …   Deutsch Wikipedia

  • Bit — This article is about the unit of information. For other uses, see Bit (disambiguation). Fundamental units of information bit (binary) nat (base e) ban (decimal) qubit (quantum) This box …   Wikipedia

  • BitBLT — Als Bit blit (für Bit Block Image Transfer; auch als BitBlt oder ähnlich bezeichnet für bit block transfer) bezeichnet man eine Computeroperation, die für das schnelle Kopieren und Verschieben von Speicherinhalten (Blitting) zuständig ist. Bit… …   Deutsch Wikipedia

  • BitBlt — Als Bit blit (für Bit Block Image Transfer; auch als BitBlt oder ähnlich bezeichnet für bit block transfer) bezeichnet man eine Computeroperation, die für das schnelle Kopieren und Verschieben von Speicherinhalten (Blitting) zuständig ist. Bit… …   Deutsch Wikipedia

  • Bitblit — Als Bit blit (für Bit Block Image Transfer; auch als BitBlt oder ähnlich bezeichnet für bit block transfer) bezeichnet man eine Computeroperation, die für das schnelle Kopieren und Verschieben von Speicherinhalten (Blitting) zuständig ist. Bit… …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”