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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
190 Interface <strong>de</strong> programação<br />
Na etapa <strong>de</strong> codificação, a arquitetura procura realizar o processamento <strong>de</strong> todos os atributos<br />
em um único passo <strong>de</strong> ren<strong>de</strong>rização. Para isso é utilizada a funcionalida<strong>de</strong> <strong>de</strong> escrita simultânea<br />
em múltiplos alvos <strong>de</strong> ren<strong>de</strong>rização (multiple ren<strong>de</strong>r targets). Entretanto, se o número <strong>de</strong>sses<br />
alvos em um único passo não for suficiente para armazenar todos os atributos processados, a<br />
arquitetura automaticamente executará passos <strong>de</strong> ren<strong>de</strong>rização adicionais.<br />
Parâmetros:<br />
– pAttributes: ponteiro para um arranjo <strong>de</strong> tipos <strong>de</strong> atributos que <strong>de</strong>vem ser proces-<br />
sados pela arquitetura. Cada tipo <strong>de</strong> atributo é <strong>de</strong>finido por um valor <strong>de</strong> enumeração<br />
ATTTYPE, que po<strong>de</strong> ser: ATTTYPE_DEPTH para o valor <strong>de</strong> profundida<strong>de</strong> em coor<strong>de</strong>-<br />
nadas normalizadas do dispositivo; ATTTYPE_TEXCOORD para coor<strong>de</strong>nadas <strong>de</strong> textura;<br />
ATTTYPE_TBN para uma base tangente composta <strong>de</strong> vetor normal, vetor tangente e ve-<br />
tor bitangente; ATTTYPE_USERDEFI para um valor <strong>de</strong>finido pela aplicação para ge-<br />
ometria in<strong>de</strong>xada; ATTYPE_USERDEFNI para um valor <strong>de</strong>finido pela aplicação para<br />
geometria não in<strong>de</strong>xada; ATTYPE_NORMAL para o vetor normal; ATTTYPE_CURV para<br />
as curvaturas principais e direções principais; ATTTYPE_TENSOR2 para os coeficientes<br />
do tensor <strong>de</strong> curvatura; ATTTYPE_TENSOR3 para os coeficientes do tensor <strong>de</strong> <strong>de</strong>rivada<br />
<strong>de</strong> curvatura. O arranjo é finalizado com o valor ATTTYPE_END. Se nenhum dos atri-<br />
butos ATTTYPE_TBN, ATTYPE_NORMAL, ATTTYPE_CURV, ATTTYPE_TENSOR2 e<br />
ATTTYPE_TENSOR3 forem especificados, o estágio 2 <strong>de</strong> processamento da arquitetura<br />
será <strong>de</strong>sabilitado automaticamente (ver figuras 5.9 e 5.10).<br />
• Sintaxe: CIntManager::BindSemantics( SEMANTICBINDING pBindings ).<br />
Descrição: informa a ligação semântica entre cada atributo do buffer <strong>de</strong> vértices do mo<strong>de</strong>lo ori-<br />
ginal (segundo a lista <strong>de</strong> semânticas <strong>de</strong>finidas pela API gráfica) e cada atributo a ser processado<br />
pela arquitetura <strong>de</strong> interação.<br />
Parâmetros: pBindings: arranjo <strong>de</strong> estruturas do tipo SEMANTICBINDING. Cada estru-<br />
tura contém duas variáveis-membro: iVSSemantic e iIntSemantic, que correspon<strong>de</strong>m<br />
a valores das enumerações VSSEMANTIC e INTSEMANTIC, respectivamente. Cada ligação<br />
semântica é um par <strong>de</strong> valores <strong>de</strong>ssas enumerações, e i<strong>de</strong>ntifica qual atributo do buffer <strong>de</strong><br />
vértices do mo<strong>de</strong>lo original correspon<strong>de</strong> a qual atributo a ser processado pela arquitetura <strong>de</strong><br />
interação. O valor da enumeração VSSEMANTIC <strong>de</strong>fine a semântica do atributo <strong>de</strong> entrada<br />
do ponto <strong>de</strong> vista da API gráfica, po<strong>de</strong>ndo ser VSSEMANTIC_NORMAL para o vetor nor-<br />
mal, VSSEMANTIC_COLOR0 e VSSEMANTIC_COLOR1 para os valores <strong>de</strong> cor primária e<br />
secundária, e VSSEMANTIC_TEXCOORD0 até VSSEMANTIC_TEXCOORD7 para um con-<br />
junto <strong>de</strong> até oito valores <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> textura. O valor da enumeração INTSEMANTIC