03.04.2013 Views

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

Uma Arquitetura de Suporte a Interações 3D ... - DCA - Unicamp

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.

36 Revisão bibliográfica<br />

Fig. 2.5: Diagrama do ambiente geral <strong>de</strong> execução <strong>de</strong> um modificador <strong>de</strong> fragmentos.<br />

2.4.2 Processador <strong>de</strong> fragmentos<br />

O processador <strong>de</strong> fragmentos é responsável pela execução do sha<strong>de</strong>r <strong>de</strong> fragmentos sobre cada<br />

fragmento produzido durante a etapa <strong>de</strong> rasterização. Embora o processador <strong>de</strong> fragmentos seja<br />

algumas vezes chamado simplesmente <strong>de</strong> processador <strong>de</strong> pixels, um fragmento não é necessariamente<br />

um pixel, mas um ponto em coor<strong>de</strong>nadas da tela produzido pelo rasterizador a partir da amostragem<br />

das primitivas. Desse modo, o uso <strong>de</strong> multi-amostragem po<strong>de</strong> produzir vários fragmentos para cada<br />

pixel, e a cor final do pixel po<strong>de</strong>r ser a combinação das cores <strong>de</strong>sses fragmentos.<br />

Cada fragmento contém atributos associados aos vértices da saída do processador <strong>de</strong> vértices, tais<br />

como valores <strong>de</strong> cores, coor<strong>de</strong>nadas <strong>de</strong> textura e atributos <strong>de</strong>finidos pela aplicação. Esses atributos<br />

são interpolados a partir dos vértices segundo o mo<strong>de</strong>lo <strong>de</strong> interpolação escolhido. O processador <strong>de</strong><br />

fragmentos é responsável pela <strong>de</strong>terminação da cor final do fragmento e, opcionalmente, seu valor <strong>de</strong><br />

profundida<strong>de</strong>. As tarefas do fluxo <strong>de</strong> ren<strong>de</strong>rização subseqüentes ao processadores <strong>de</strong> fragmentos são<br />

as mesmas do fluxo <strong>de</strong> função fixa.<br />

Quando um processador <strong>de</strong> fragmentos é utilizado, as etapas <strong>de</strong> amostragem e combinação <strong>de</strong> tex-<br />

turas do fluxo <strong>de</strong> função fixa são <strong>de</strong>sabilitadas. As <strong>de</strong>mais funcionalida<strong>de</strong>s permanecem habilitadas,<br />

tais como uso do mo<strong>de</strong>lo <strong>de</strong> interpolação (flat ou smooth), teste <strong>de</strong> opacida<strong>de</strong>, teste <strong>de</strong> profundida<strong>de</strong>,<br />

teste <strong>de</strong> estêncil, combinação <strong>de</strong> valores <strong>de</strong> fragmentos no frame buffer, dithering e cálculo <strong>de</strong> neblina.<br />

O ambiente <strong>de</strong> execução <strong>de</strong> um sha<strong>de</strong>r <strong>de</strong> fragmentos é aquele mostrado na figura 2.5. Assim<br />

como no ambiente utilizado pelos sha<strong>de</strong>rs <strong>de</strong> vértices, sha<strong>de</strong>rs <strong>de</strong> fragmentos trabalham com um<br />

conjunto <strong>de</strong> registradores <strong>de</strong> entrada, saída, registradores temporários e constantes. O ambiente <strong>de</strong><br />

execução em GPUs atuais também fornece um registrador <strong>de</strong> contagem <strong>de</strong> laços, um registrador <strong>de</strong>

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

Saved successfully!

Ooh no, something went wrong!