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.

C.1 Conjunto <strong>de</strong> funções <strong>de</strong> interação 191<br />

<strong>de</strong>fine a semântica do atributo do ponto <strong>de</strong> vista da arquitetura <strong>de</strong> interação, po<strong>de</strong>ndo ser<br />

INTSEMANTIC_TEXCOORD para indicar as coor<strong>de</strong>nadas <strong>de</strong> textura utilizadas no cálculo das<br />

bases tangentes, INTSEMANTIC_VERTEXID para indicar o atributo que contém o i<strong>de</strong>ntifi-<br />

cador <strong>de</strong> cada vértice (atributo necessário para estimar os elementos <strong>de</strong> geometria diferencial e<br />

atualizar a geometria do mo<strong>de</strong>lo), INTSEMANTIC_USERDEFI para indicar um valor <strong>de</strong>finido<br />

pela aplicação para geometria in<strong>de</strong>xada, e INTSEMANTIC_USERDEFNI para indicar um valor<br />

<strong>de</strong>finido pela aplicação para geometria não in<strong>de</strong>xada. O arranjo é finalizado com uma estrutura<br />

SEMANTICBINDING especial chamada <strong>de</strong> SEMANTIC_END.<br />

Funções <strong>de</strong> configuração dos mo<strong>de</strong>los<br />

• Sintaxe: CIntObj::SetVertexBuffer( float *pVtPos, float<br />

pVtTexCoord, float *pVtNormal, int iSize ).<br />

Descrição: informa os atributos dos vértices da geometria original, em particular a posição <strong>3D</strong>,<br />

as coor<strong>de</strong>nadas <strong>de</strong> textura e o vetor normal.<br />

Parâmetros:<br />

– pVtPos: ponteiro a um arranjo <strong>de</strong> coor<strong>de</strong>nadas <strong>3D</strong> contendo a posição <strong>de</strong> cada vértice,<br />

em coor<strong>de</strong>nadas relativas ao sistema <strong>de</strong> coor<strong>de</strong>nadas local. Cada seqüência <strong>de</strong> três valores<br />

correspon<strong>de</strong> às coor<strong>de</strong>nadas <strong>de</strong> um vértice.<br />

– pVtTexCoord: ponteiro a um arranjo <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> textura. Cada seqüência <strong>de</strong><br />

dois valores correspon<strong>de</strong> a um par <strong>de</strong> coor<strong>de</strong>nadas UV <strong>de</strong> um vértice. Este parâmetro é<br />

opcional (i.e., po<strong>de</strong> ser NULL), exceto quando a estimativa <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong> geometria<br />

diferencial envolva o cálculo <strong>de</strong> bases tangentes.<br />

– pVtNormal: ponteiro a um arranjo <strong>de</strong> vetores normais. Cada seqüência <strong>de</strong> três valores<br />

correspon<strong>de</strong> a às coor<strong>de</strong>nadas do vetor normal <strong>de</strong> um vértice. Este parâmetro é opcional.<br />

– iSize: número <strong>de</strong> vértices da geometria.<br />

• Sintaxe: CIntObj::SetIn<strong>de</strong>xBuffer( int *pFaceIdx, int iSize ).<br />

Descrição: informa o buffer <strong>de</strong> índices aos vértices do buffer <strong>de</strong> vértices. Os índices serão<br />

utilizados para calcular a vizinhança <strong>de</strong> 1-anel <strong>de</strong> cada vértice.<br />

Parâmetros:<br />

– pFaceIdx: ponteiro ao buffer <strong>de</strong> índices. Cada elemento do buffer <strong>de</strong> índices é um<br />

índice numérico a um vértice contido no buffer <strong>de</strong> vértices informado com CIntObj::

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

Saved successfully!

Ooh no, something went wrong!