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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.2 Escopo 99<br />

arquitetura que se adapta facilmente a diferentes tipos <strong>de</strong> funções <strong>de</strong> <strong>de</strong>formação, primitivas<br />

e cálculos <strong>de</strong> atributos, permite sua rápida reutilização em novas aplicações e em sistemas <strong>de</strong><br />

interação já existentes.<br />

A reusabilida<strong>de</strong> também <strong>de</strong>ve ser ampliada pela tentativa <strong>de</strong> minimizar a <strong>de</strong>pendência da ar-<br />

quitetura <strong>de</strong> interação com relação ao sistema <strong>de</strong> janelas. Para realizar isso, o tratamento <strong>de</strong><br />

eventos <strong>de</strong> entrada disparados pelo sistema <strong>de</strong> janelas ou sistema gerenciador <strong>de</strong> interface grá-<br />

fica não é processado diretamente pela arquitetura proposta. Ao contrário, tais eventos são<br />

tratados pela própria aplicação que, por sua vez, po<strong>de</strong> utilizá-los para mudar as configurações<br />

da arquitetura <strong>de</strong> interação. Por exemplo, através do tratamento dos eventos <strong>de</strong> movimentação<br />

do cursor do dispositivo apontador, consi<strong>de</strong>ramos que seja possível <strong>de</strong>finir uma região <strong>de</strong> in-<br />

teresse (em coor<strong>de</strong>nadas da janela) sobre a qual se <strong>de</strong>seja que os atributos geométricos sejam<br />

calculados na GPU. Cabe à aplicação a tarefa <strong>de</strong> utilizar esses atributos para implementar a<br />

tarefa <strong>de</strong> interação. Dessa forma, a arquitetura <strong>de</strong>pen<strong>de</strong> apenas da arquitetura programável das<br />

GPUs e, portanto, das APIs utilizadas para comunicação com esse tipo <strong>de</strong> hardware gráfico.<br />

5.2 Escopo<br />

De acordo com a classificação <strong>de</strong> Myers [1995], são quatro as camadas principais <strong>de</strong> abstração<br />

sobre as componentes que formam uma interface gráfica: sistema <strong>de</strong> janelas, toolkits, ferramentas<br />

<strong>de</strong> alto nível e aplicação. A camada <strong>de</strong> toolkits é composta <strong>de</strong> sistemas que encapsulam widgets<br />

tais como menus, botões e barras <strong>de</strong> rolagem. Atualmente, é comum a existência <strong>de</strong> widgets es-<br />

pecíficos <strong>de</strong> área <strong>de</strong> <strong>de</strong>senho, utilizados pela aplicação para exibir or gráficos processados pela bi-<br />

blioteca GL. Por exemplo, o toolkit Xt/Motif fornece os widgets GLwDrawingArea (baseado no<br />

Xt) e GLwMDrawingArea (baseado no Motif) específicos para exibir gráficos ren<strong>de</strong>rizados com o<br />

OpenGL [Flanagan, 1994]. Do mesmo modo, o toolkit Qt fornece o widget QGLWidget [Dalheimer,<br />

2002], enquanto o GTK+ fornece os widgets GtkGLArea para a versão em C e GtkGLArea- para<br />

a versão em C++ do GTK [Logan, 2001]. Os gráficos são exibidos nesses widgets <strong>de</strong> acordo com as<br />

configurações da janela e matrizes <strong>de</strong> transformação geométrica especificadas no OpenGL.<br />

Ao contrário do que ocorre com widgets como botões, menus, barras <strong>de</strong> rolagem e caixas <strong>de</strong><br />

texto, o tratamento <strong>de</strong> eventos sobre o widget <strong>de</strong> área <strong>de</strong> <strong>de</strong>senho vinculada à API gráfica não possui<br />

necessariamente uma semântica pré-<strong>de</strong>finida pelo toolkit. Por exemplo, no widget correspon<strong>de</strong>nte à<br />

barra <strong>de</strong> rolagem, o toolkit po<strong>de</strong> estabelecer que o comportamento padrão <strong>de</strong> rolar uma barra hori-<br />

zontal é obtido através <strong>de</strong> uma seqüência <strong>de</strong> eventos produzidos a partir <strong>de</strong> ações <strong>de</strong> um mouse, tal<br />

como: (1) pressionar o botão esquerdo do mouse sobre a barra <strong>de</strong> rolagem; (2) <strong>de</strong>slocar o mouse à<br />

esquerda ou à direita; (3) liberar o botão pressionado. Semelhante comportamento pré-<strong>de</strong>terminado

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

Saved successfully!

Ooh no, something went wrong!