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.

156 Conclusões e trabalhos futuros<br />

sibilida<strong>de</strong> do uso da arquitetura para suportar diferentes tarefas <strong>de</strong> interação e diferentes mo<strong>de</strong>los<br />

geométricos <strong>de</strong>formados na GPU.<br />

Embora as GPUs atuais tenham um po<strong>de</strong>r <strong>de</strong> processamento muitas vezes superior ao das CPUs,<br />

em outros aspectos a arquitetura <strong>de</strong> hardware gráfico, quando comparada com a arquitetura das CPUs,<br />

impõe restrições quanto a quantida<strong>de</strong> <strong>de</strong> memória disponibilizada, e quanto ao número e tipo <strong>de</strong> ins-<br />

truções utilizadas. Essas restrições se refletem em limitações no uso da arquitetura proposta. O<br />

foco <strong>de</strong> nossos trabalhos futuros está na análise <strong>de</strong> tais problemas e na proposta <strong>de</strong> alternativas para<br />

minimizá-los. Dentre as limitações mais importantes encontradas na utilização da arquitetura pro-<br />

posta em comparação com o paradigma tradicional <strong>de</strong> interação, <strong>de</strong>stacamos os seguintes pontos:<br />

• Limitação da memória <strong>de</strong> ví<strong>de</strong>o. Para a execução do estágio <strong>de</strong> estimativa <strong>de</strong> proprieda<strong>de</strong>s <strong>de</strong><br />

geometria diferencial, é necessária a existência <strong>de</strong> texturas que atuem como áreas <strong>de</strong> memória<br />

<strong>de</strong> propósito geral e que contenham, neste caso, os atributos <strong>de</strong> geometria e conectivida<strong>de</strong><br />

necessários para a estimativa. Para mo<strong>de</strong>los complexos, tais texturas po<strong>de</strong>m consumir um<br />

percentual significativo <strong>de</strong> memória <strong>de</strong> ví<strong>de</strong>o.<br />

Na implementação da arquitetura segundo a biblioteca apresentada no apêndice C, a <strong>de</strong>finição<br />

<strong>de</strong> cada instância da classe CIntObj gera internamente um conjunto <strong>de</strong> 6 a 12 texturas em<br />

formato <strong>de</strong> ponto flutuante <strong>de</strong> 32 bits (esse número vai <strong>de</strong>pen<strong>de</strong>r da quantida<strong>de</strong> <strong>de</strong> tipos <strong>de</strong> atri-<br />

butos requisitados pela aplicação). Cada texel <strong>de</strong> cada textura contém o atributo <strong>de</strong> um vértice<br />

da geometria, <strong>de</strong> modo que o tamanho <strong>de</strong> cada textura é proporcional ao número <strong>de</strong> vértices<br />

da malha. Essas texturas são utilizadas na GPU como áreas <strong>de</strong> memória para processamento<br />

<strong>de</strong> propósito geral, e po<strong>de</strong>m ser acessadas e modificadas nos estágios <strong>de</strong> modificação <strong>de</strong> atri-<br />

butos <strong>de</strong> vértices e cálculo <strong>de</strong> proprieda<strong>de</strong>s geométricos. Em particular, essas texturas incluem<br />

os atributos <strong>de</strong> posição dos vértices, coor<strong>de</strong>nadas <strong>de</strong> textura, vetor normal, vetores tangentes<br />

e bitangentes, coeficientes do tensor <strong>de</strong> curvatura, coeficientes do tensor <strong>de</strong> <strong>de</strong>rivada <strong>de</strong> cur-<br />

vatura, direções principais e curvaturas principais. Além das texturas <strong>de</strong> atributos <strong>de</strong> vértices,<br />

3 texturas adicionais são ainda utilizadas para armazenar as informações <strong>de</strong> conectivida<strong>de</strong> do<br />

mo<strong>de</strong>lo. Tais texturas são utilizadas no estágio <strong>de</strong> cálculo <strong>de</strong> atributos.<br />

Além das texturas utilizadas internamente pela arquitetura, a GPU ainda <strong>de</strong>ve compartilhar ou-<br />

tros recursos gráficos utilizados na aplicação, tais como sha<strong>de</strong>rs e buffers <strong>de</strong> vértices. Mesmo<br />

quando a estimativa <strong>de</strong> atributos <strong>de</strong> geometria diferencial não for utilizada, o estágio <strong>de</strong> modifi-<br />

cação <strong>de</strong> atributos <strong>de</strong> vértices precisa armazenar os resultados em texturas que serão utilizadas<br />

pelas outras etapas. Dessa forma, como a memória <strong>de</strong> ví<strong>de</strong>o disponível é geralmente menor<br />

do que a memória disponível no sistema, o número máximo <strong>de</strong> objetos simultaneamente sob<br />

interação será menor do que aquele que seria possível no paradigma convencional baseado na<br />

existência dos mo<strong>de</strong>los na memória do sistema.

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

Saved successfully!

Ooh no, something went wrong!