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.

5.4 Fluxo <strong>de</strong> processamento 111<br />

<strong>de</strong>formação utilizados para modificar os atributos <strong>de</strong> vértices e fragmentos na GPU (e.g., texturas <strong>de</strong><br />

<strong>de</strong>slocamento para utilizar em mapeamento <strong>de</strong> <strong>de</strong>slocamento, parâmetros <strong>de</strong> funções <strong>de</strong> <strong>de</strong>formação e<br />

matrizes <strong>de</strong> transformação). O segundo estágio estima as proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial com<br />

base nos atributos e geometria modificados. Em um terceiro estágio, é possível alterar novamente<br />

os atributos dos vértices, que agora também contém as proprieda<strong>de</strong>s <strong>de</strong> geometria diferencial. Tal<br />

estágio po<strong>de</strong> ser utilizado por aplicações que necessitem dos atributos <strong>de</strong> geometria diferencial para<br />

realizar algum processamento na GPU. Em seguida, os atributos dos vértices são interpolados para<br />

cada fragmento <strong>de</strong> cada primitiva. No quarto estágio é possível modificar tais atributos interpolados.<br />

O quinto estágio codifica esses atributos <strong>de</strong> fragmentos nos pixels dos buffers <strong>de</strong> visualização não<br />

visíveis.<br />

Além <strong>de</strong>ssas etapas executadas na GPU, um sexto e último estágio é executado na CPU: o procedi-<br />

mento <strong>de</strong> <strong>de</strong>codificação <strong>de</strong> atributos <strong>de</strong> fragmentos. Neste estágio, a arquitetura fornece à aplicação o<br />

acesso aos atributos processados no hardware gráfico. A partir <strong>de</strong>ssas informações, a tarefa <strong>de</strong> utilizar<br />

esses atributos para realizar a tarefa <strong>de</strong> interação e realimentação é <strong>de</strong> responsabilida<strong>de</strong> da aplicação.<br />

Como indicado pelos estágios <strong>de</strong> <strong>de</strong>cisão, as etapas <strong>de</strong> modificação <strong>de</strong> atributos <strong>de</strong> vértices, cál-<br />

culo <strong>de</strong> atributos geométricos e modificação <strong>de</strong> atributos <strong>de</strong> fragmentos são opcionais. Elas são habi-<br />

litadas pela aplicação apenas nos casos em que a <strong>de</strong>formação da geometria na GPU com relação aos<br />

vértices ou fragmentos é necessária. Se a geometria não é <strong>de</strong>formada na GPU, os últimos atributos<br />

geométricos calculados ficam armazenados em uma memória <strong>de</strong> textura para utilização apenas no<br />

estágio <strong>de</strong> codificação <strong>de</strong> atributos <strong>de</strong> fragmentos.<br />

A seguir, na seção 5.4.1, <strong>de</strong>talhamos cada um dos seis estágios <strong>de</strong> processamento da arquitetura.<br />

Na seção 5.4.2 apresentamos o formato da seqüência <strong>de</strong> dados <strong>de</strong> entrada para execução da arquitetura<br />

e, na seção 5.4.3, o formato <strong>de</strong> saída dos dados computados.<br />

5.4.1 Estágios <strong>de</strong> processamento<br />

Os estágios <strong>de</strong> processamento são integrados ao laço <strong>de</strong> visualização da aplicação. Essa integração<br />

é mostrada na figura 5.10. Imediatamente antes <strong>de</strong> chamar a GPU para a ren<strong>de</strong>rização da geometria<br />

no laço <strong>de</strong> ren<strong>de</strong>rização, a aplicação invoca um comando Ren<strong>de</strong>r() da arquitetura <strong>de</strong> interação que,<br />

internamente, dispara os três passos <strong>de</strong> ren<strong>de</strong>rização relacionados aos estágios 1, 2, 3, 4 e 5. Após a<br />

ren<strong>de</strong>rização da geometria para fins <strong>de</strong> visualização, a aplicação requisita o conteúdo dos buffers <strong>de</strong><br />

ren<strong>de</strong>rização não visíveis (estágio 6) através da chamada do comando Deco<strong>de</strong>(). Cada um <strong>de</strong>sses<br />

seis estágios é <strong>de</strong>talhado a seguir. Por convenção, os procedimentos na figura 5.10 são exibidos como<br />

retângulos <strong>de</strong> bordas arredondadas, enquanto os repositórios <strong>de</strong> dados são exibidos como retângulos:<br />

1. Modificação <strong>de</strong> atributos <strong>de</strong> vértices. Esse estágio é executado caso o mo<strong>de</strong>lo original

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

Saved successfully!

Ooh no, something went wrong!