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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

três vértices <strong>de</strong> cada face. Esses valores <strong>de</strong>vem ser <strong>de</strong>finidos pela aplicação e acrescentados ao<br />

buffer <strong>de</strong> vértices da geometria original.<br />

• Buffer <strong>de</strong> índices da geometria original, idêntico ao buffer <strong>de</strong> índices aos vértices utilizado<br />

na ren<strong>de</strong>rização do mo<strong>de</strong>lo para visualização. Esses dados po<strong>de</strong>m ser fornecidos através do<br />

comando SetIn<strong>de</strong>xBuffer() que recebe o ponteiro do buffer <strong>de</strong> índices. Cada seqüência<br />

<strong>de</strong> três índices do buffer <strong>de</strong>ve correspon<strong>de</strong>r a um triângulo. Internamente, a arquitetura utiliza<br />

esses dados para <strong>de</strong>terminar a vizinhança <strong>de</strong> 1-anel <strong>de</strong> cada vértice, e armazenar esses dados<br />

em texturas que serão utilizadas no estágio 2.<br />

• Relação dos atributos que <strong>de</strong>vem ser processados pela GPU e armazenados para cada pixel<br />

do mo<strong>de</strong>lo ren<strong>de</strong>rizado. Essa relação po<strong>de</strong> ser qualquer combinação dos atributos citados na<br />

seção 5.3, e po<strong>de</strong> ser fornecida à arquitetura através do comando SetAttributes().<br />

• Mapeamento da semântica dos atributos <strong>de</strong> entrada, entre a API gráfica e a arquitetura <strong>de</strong> in-<br />

teração. Nas APIs gráficas, os atributos <strong>de</strong> cada vértice da geometria original possuem uma<br />

semântica pré-<strong>de</strong>finida, necessária para a correta interpretação <strong>de</strong> cada atributo na entrada do<br />

processador <strong>de</strong> vértices ou no fluxo <strong>de</strong> função fixa <strong>de</strong> visualização. Por exemplo, um vértice<br />

po<strong>de</strong> ser composto <strong>de</strong> valores cuja semântica, do ponto <strong>de</strong> vista da API gráfica, é uma posição<br />

<strong>3D</strong>, coor<strong>de</strong>nadas <strong>de</strong> textura 2D, um valor <strong>de</strong> cor difusa ou tamanho do ponto. Do ponto <strong>de</strong><br />

vista da arquitetura proposta, tais atributos po<strong>de</strong>m ter outra semântica. Por exemplo, valores<br />

numéricos <strong>de</strong>signados aos vértices com semântica <strong>de</strong> tamanho do ponto (do ponto <strong>de</strong> vista da<br />

API), po<strong>de</strong>m ser interpretados pela arquitetura <strong>de</strong> interação como um i<strong>de</strong>ntificador <strong>de</strong> vértice,<br />

ou como um valor genérico com semântica <strong>de</strong>finida pela aplicação.<br />

Esse mapeamento po<strong>de</strong> ser fornecido à arquitetura através do comando BindSemantics()<br />

que recebe duas listas cujos valores são mapeados biunivocamente. A primeira lista contém<br />

as semânticas dos atributos dos vértices segundo a API gráfica. A segunda lista contém as<br />

semânticas dos atributos dos vértices segundo a arquitetura <strong>de</strong> interação.<br />

• Coor<strong>de</strong>nadas da região <strong>de</strong> interesse. A extensão espacial da codificação dos atributos das ge-<br />

ometrias processadas é configurada <strong>de</strong> acordo com a <strong>de</strong>finição <strong>de</strong> uma região retangular <strong>de</strong><br />

interesse, especificada em coor<strong>de</strong>nadas da janela. Para tarefas simples <strong>de</strong> interação como se-<br />

leção e posicionamento restrito à superfície mais próxima, essa região po<strong>de</strong> envolver apenas o<br />

pixel apontado pelo cursor 2D controlado pelo dispositivo apontador. Nessas tarefas, as primiti-<br />

vas sob interação são apenas as primitivas apontadas pelo cursor 2D. Primitivas situadas fora da<br />

região <strong>de</strong> interesse são <strong>de</strong>scartadas e o processamento <strong>de</strong> fragmentos é reduzido a fragmentos<br />

<strong>de</strong>ntro <strong>de</strong>ssa região. Em tarefas <strong>de</strong> posicionamento com restrição a vértices, arestas, ou caracte-

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

Saved successfully!

Ooh no, something went wrong!