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.
178 Sha<strong>de</strong>rs <strong>de</strong> estimativa <strong>de</strong> elementos <strong>de</strong> geometria diferencial <strong>de</strong> segunda e terceira or<strong>de</strong>m<br />
// altura do mapa <strong>de</strong> textura.<br />
/////////////////////////////////////////////////////////////////////<br />
float2 Idx1DTo2D( float iIdx, float2 vCons ) {<br />
}<br />
return float2( iIdx, iIdx ) * vCons;<br />
/////////////////////////////////////////////////////////////////////<br />
// Constantes <strong>de</strong>finidas pela aplicação e utilizadas como segundo<br />
// parâmetro <strong>de</strong> Idx1DTo2D( ).<br />
/////////////////////////////////////////////////////////////////////<br />
float2 g_vAdjCons; // Utilizado em mapas <strong>de</strong> adjacências <strong>de</strong> vértices<br />
float2 g_vVtCons; // Utilizado em mapas <strong>de</strong> atributos <strong>de</strong> vértices<br />
/////////////////////////////////////////////////////////////////////<br />
// Semânticas <strong>de</strong> entrada do sha<strong>de</strong>r <strong>de</strong> vértices.<br />
/////////////////////////////////////////////////////////////////////<br />
struct VS_IN {<br />
};<br />
float4 vPos : POSITION; // Posição transformada (XYZ+RHW).<br />
float2 vTex : TEXCOORD0; // Coor<strong>de</strong>nadas <strong>de</strong> textura (UV).<br />
/////////////////////////////////////////////////////////////////////<br />
// Semânticas <strong>de</strong> saída do sha<strong>de</strong>r <strong>de</strong> fragmentos para Tensor2().<br />
/////////////////////////////////////////////////////////////////////<br />
struct PS_OUT1 {<br />
};<br />
// vColor[0]: 2a. forma fundamental. RGB=efg<br />
// vColor[1]: 1a. dir. principal (RGB) e curv. principal k1 (A)<br />
// vColor[2]: 2a. dir. principal (RGB) e curv. principal k2 (A)<br />
float4 vColor[3] : COLOR;<br />
/////////////////////////////////////////////////////////////////////<br />
// Semânticas <strong>de</strong> saída do sha<strong>de</strong>r <strong>de</strong> fragmentos para Tensor3().<br />
/////////////////////////////////////////////////////////////////////<br />
struct PS_OUT2 {<br />
};<br />
// Tensor <strong>de</strong> <strong>de</strong>rivada <strong>de</strong> curvatura (4 valores)<br />
float4 vColor : COLOR;