14.04.2013 Views

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

Untitled - Departamento de Ciencias e Ingeniería de la Computación

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Las etapas no solo toman información <strong>de</strong> <strong>la</strong>s etapas anteriores, sino que tienen acceso a <strong>la</strong> memoria <strong>de</strong> <strong>la</strong> GPU para<br />

buscar y/o modificar datos tales como texturas, el Z-buffer, etc. A<strong>de</strong>más, ciertas etapas pue<strong>de</strong>n tomar datos <strong>de</strong> más<br />

<strong>de</strong> una ejecución <strong>de</strong> <strong>la</strong>s etapas anteriores, por ejemplo, <strong>la</strong> etapa <strong>de</strong> ensamb<strong>la</strong>do <strong>de</strong> primitivas y rasterización en cada<br />

ejecución utiliza información <strong>de</strong> tres o más vértices.<br />

De hecho, y para hacer todo un poco más confuso, cada etapa pue<strong>de</strong> tener más <strong>de</strong> una ejecución corriendo en un<br />

mismo instante. Por ejemplo, <strong>la</strong>s GPU tienen varias unida<strong>de</strong>s <strong>de</strong> procesamiento que calcu<strong>la</strong>n <strong>la</strong> etapa <strong>de</strong><br />

transformación <strong>de</strong> vértices, cada una <strong>de</strong> estas unida<strong>de</strong>s procesando un vértice distinto en el mismo instante. Lo<br />

mismo es cierto para otras etapas <strong>de</strong>l pipeline gráfico.<br />

Se pue<strong>de</strong> apreciar que algunas etapas usan información anteriormente calcu<strong>la</strong>da. Por ejemplo, <strong>la</strong> información <strong>de</strong> un<br />

fragmento servirá para actualizar a su pixel asociado solo si no existe otro fragmento con menos profundidad en el Z-<br />

Buffer (el test <strong>de</strong> profundidad).<br />

Aunque en primera instancia resulte confuso el funcionamiento <strong>de</strong>l pipeline gráfico, en el transcurso <strong>de</strong> <strong>la</strong>s<br />

siguientes secciones y capítulos empezaremos a <strong>de</strong>sarrol<strong>la</strong>r en mayor <strong>de</strong>talle algunas <strong>de</strong> sus partes.<br />

1.2 Un poco <strong>de</strong> historia<br />

Repasando <strong>la</strong> historia <strong>de</strong> <strong>la</strong>s GPU <strong>de</strong>scubriremos no solo como fueron apareciendo nuevas tecnologías, sino también<br />

porque <strong>la</strong> evolución tecnológica nos llevo a los sha<strong>de</strong>rs o, puesto <strong>de</strong>s<strong>de</strong> otro punto <strong>de</strong> vista, al pipeline gráfico<br />

programable.<br />

La historia <strong>de</strong> <strong>la</strong>s distintas generaciones <strong>de</strong> GPUs está simplificada, enfocándonos primordialmente en su evolución<br />

funcional.<br />

1.2.1 Voodoo<br />

La Voodoo <strong>de</strong> 3DFX, aparecida en el año 1996, se <strong>la</strong> suele reconocer como <strong>la</strong> primera aceleradora gráfica para el<br />

mercado <strong>de</strong> <strong>la</strong>s PC.<br />

Se limita a procesar so<strong>la</strong>mente triángulos 2D. Esto significa que <strong>la</strong> primera etapa, transformación <strong>de</strong> vértices, se<br />

realiza completamente sobre <strong>la</strong> CPU.<br />

La Voodoo posee:<br />

Un rasterizador que toma como entrada los triángulos 2D pasados por el CPU.<br />

Una unidad <strong>de</strong> texturizado y coloreado que utiliza Gouraud shading como sombreado.<br />

Página 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!