• Nenhum resultado encontrado

CONSTRUC¸ ˜AO DA APLICAC¸ ˜AO DESKTOP

Foi desenvolvida a aplicac¸˜ao para Desktop como visto na Figura 16, consiste de um editor para programac¸˜ao de Shaders GLSL, que possui destaque da sintaxe da linguagem. Foi desenvolvido utilizando a linguagem de programac¸˜ao Java, e os componentes Swing1para mol- dar sua interface.

No editor foi poss´ıvel adicionar exemplos pr´e determinados de Shaders em seu menu, al´em de possuir uma ´area destinada ao envio de texturas e outra destinada a codificac¸˜ao de uniforms (parˆametros) para o c´odigo GLSL, assim possibilitando uma maior capacidade de testes do c´odigo espec´ıfico.

O editor conta com duas ´areas destinadas ao c´odigo GLSL, uma para o Vertex Shader e outra para o Fragment Shader. Al´em disso, possu integrac¸˜ao com a vers˜ao m´ovel, realizada por meio do ADB em sua programac¸˜ao. Assim, ´e poss´ıvel enviar os c´odigos GLSL para o dispositivo m´ovel e conseguir sua visualizac¸˜ao no mesmo instante. Dessa forma, o editor possui uma ´area destinada a depurac¸˜ao da aplicac¸˜ao m´ovel, onde relata poss´ıveis erros e compilac¸˜oes do c´odigo GLSL programado.

Figura 16: Editor desenvolvido para programac¸˜ao de Shaders.

6 TESTES

S˜ao demonstrados, neste Cap´ıtulo, testes de funcionamento da ferramenta desenvol- vida.

No primeiro teste visto nas Figuras 17 e 18 ´e de mostrado a compilac¸˜ao de um c´odigo GLSL correto. Passando na aplicac¸˜ao Desktop um c´odigo GLSL simples, contendo um Vertex Shader e um Fragment Shader, quando compilados resultam na colorac¸˜ao do cubo na aplicac¸˜ao Android (Figura 18). ´E notado que ap´os a compilac¸˜ao do c´odigo GLSL, a interface Desktop registra as informac¸˜oes da compilac¸˜ao no campo referente aos logs.

No segundo teste observado nas Figuras 19 e 20 ´e visualizado a compilac¸˜ao de um c´odigo GLSL incorreto. Passando na aplicac¸˜ao Desktop um c´odigo GLSL simples, contendo um Vertex Shader e um Fragment Shader com erros em sua sintaxe, quando compilados a aplicac¸˜ao Android detecta o erro no c´odigo e alerta o desenvolvedor, indicando um cubo azul, com a mensagem de Shader incorreto (Figura 20). ´E visto que ap´os a tentativa de compilac¸˜ao do c´odigo GLSL, a interface Desktop mostra as informac¸˜oes a respeito da falha na sintaxe encontrada na compilac¸˜ao.

O terceiro teste visto nas Figuras 21 e 22 demonstra a compilac¸˜ao de um c´odigo GLSL com passagem de uniforms. Passando na aplicac¸˜ao Desktop um c´odigo GLSL simples, contendo um Vertex Shader, um Fragment Shader e um uniform, quando compilados a aplicac¸˜ao Android compila c´odigo utilizando-se do parˆametro passado pelo uniform. Assim que ´e efetivado a compilac¸˜ao ´e demonstrado na aplicac¸˜ao Android o Shader resultante (Figura 22). ´E notado que ap´os a compilac¸˜ao do c´odigo GLSL, a interface Desktop mostra as informac¸˜oes a respeito da compilac¸˜ao.

No quarto teste observado nas Figuras 23 e 24 ´e demonstrado a compilac¸˜ao de um c´odigo GLSL com passagem de uma textura. Passando na aplicac¸˜ao Desktop um c´odigo GLSL simples, contendo um Vertex Shader, um Fragment Shader e uma textura, quando compilados a aplicac¸˜ao Android compila c´odigo e utiliza-se da textura enviada. Assim que ´e efetivado a compilac¸˜ao ´e demonstrado na aplicac¸˜ao Android o Shader resultante (Figura 24). ´E notado que

ap´os a compilac¸˜ao do c´odigo GLSL, a interface Desktop mostra as informac¸˜oes a respeito da compilac¸˜ao e da inclus˜ao da textura adicionada.

Figura 17: Exemplo de c´odigo GLSL correto na aplicac¸˜ao Desktop.

Figura 18: Exemplo da Shader compilado com sucesso na aplicac¸˜ao Android.

Figura 19: Exemplo de c´odigo GLSL incorreto na aplicac¸˜ao Desktop.

Figura 20: Exemplo da Shader compilado com sucesso.

Figura 21: Teste demonstrando a compilac¸˜ao de um c´odigo GLSL com passagem de uniforms na aplicac¸˜ao Desktop.

Figura 22: Visualizac¸˜ao do teste com a compilac¸˜ao de um c´odigo GLSL com passagem de uniforms na aplicac¸˜ao Android.

Figura 23: Teste demonstrando a compilac¸˜ao de um c´odigo GLSL com passagem de uma textura na aplicac¸˜ao Desktop.

Figura 24: Visualizac¸˜ao do teste com a compilac¸˜ao de um c´odigo GLSL com passagem de uma textura na aplicac¸˜ao Android.

7 RESULTADOS

S˜ao relacionados neste Cap´ıtulo os resultados alcanc¸ados com a pesquisa e

implementac¸˜ao da ferramenta proposta. Com base nos passos expostos na Sec¸˜ao 4, s˜ao sumari- zados em itens os principais resultados:

• Levantamento e estudo das tecnologias empregadas na ferramenta, al´em das carˆencias das ferramentas existentes, sendo poss´ıvel perceber a real importˆancia de uma ferramenta nesse contexto.

• Construc¸˜ao da aplicac¸˜ao Android capaz de executar Shaders GLSL e capturar erros exis- tentes.

• Construc¸˜ao do editor GLSL para plataforma PC, podendo codificar Shaders, enviar tex- turas e ainda com a capacidade de depurac¸˜ao dos erros do dispositivo m´ovel.

• Integrac¸˜ao das ferramentas desenvolvidas com funcionamento de forma r´apida.

• Criac¸˜ao de testes como exemplos, sendo fornecidos pela ferramenta, que validam a ferra- menta no ˆambito proposto, aplicando passagem de parˆametros, texturas e codificac¸˜oes. • Usabilidade da ferramenta conta com uma maior agilidade de codificac¸˜ao e teste de Sha-

ders direto no dispositivo m´ovel.

• A ferramenta produzida consegue atender de uma forma eficiente as necessidades menci- onados na Sec¸˜ao 1.3 dessa pesquisa.

8 CONSIDERAC¸ ˜OES FINAIS E TRABALHOS FUTUROS

Este Trabalho de Conclus˜ao de Curso apresenta uma abordagem, referente a um pro- blema encontrado no ambiente de programac¸˜ao de Shaders, este sendo encontrado em jogos, um ramo com bastante relevˆancia na sociedade tanto financeiramente como quantitativamente. Sendo uma ´area de not´avel importˆancia, foi de grande interesse a tentativa de solucionar o problema levantado atrav´es da aplicac¸˜ao desenvolvida.

Com base nas pesquisas realizadas, foi not´orio a falta de ferramentas que auxiliem o processo apresentado por esse trabalho. Assim, destacando-se a necessidade da construc¸˜ao de uma ferramenta que permitisse auxiliar essa ´area de desenvolvimento.

Dessa maneira, com a utilizac¸˜ao do referencial te´orico levantado tornou-se poss´ıvel obter ˆexito na construc¸˜ao da ferramenta que atendesse as reais necessidades impostas. As- sim, auxiliando o desenvolvimento de uma ´area com dificuldades e escassez de ferramentas do mesmo gˆenero.

Como considerac¸˜ao final, pode se destacar que foi de grande importˆancia conseguir desenvolver uma ferramenta para auxiliar no problema descrito. A aplicac¸˜ao ser´a disponibi- lizada via download, pela central de aplicativos da Google, dessa forma tentando alcanc¸ar o maior n´umero de desenvolvedores nesse ramo.

Para trabalhos futuros pode ser sugerido o aprimoramento da ferramenta, adicionando novos recursos, como: criac¸˜ao de um manual, e principalmente o desenvolvimento e comparac¸˜ao de testes de usabilidade da mesma, para avaliar seu desempenho perante a outras aplicac¸˜oes existentes, comunicac¸˜oes das ferramentas desenvolvidas via bluetooth, al´em do desenvolvi- mento para outros sistemas operacionais.

REFER ˆENCIAS

BARACHO, A.; GRIPP, F.; LIMA, M.Os Exergames e a educac¸˜ao F´ısica Escolar na Cultura Digital. [S.l.]: Revista Brasileira Ciˆencias do Esporte, SciELO Brasil, 2012. 111–126 p. BRANCO, M.; MALFATTI, S.; LAMAR, M. V. Jogos Eletrˆonicos na Pr´atica: Livro de Tutoriais. [S.l.]: XI Simp´osio Brasileiro de Games e Entretenimento Digital, Editora Feevale, 2013.

BURNETTE, E.Hello, Android : introducing Google’s Mobile Development Plataform. 3. ed. [S.l.]: Pragmatic Programmers, 2010.

CARVALHO, D. E.Desenvolvimentos do jogo Robogol para navegadores web utilizando o motor de jogos Unity 3D. [S.l.]: ICMC USR, 2012.

ENGEL, W. et al.Programming Vertex, Geometry, and Pixel Shaders. [S.l.]: Cengage Del- mar Learning, 2008.

EVANS, S. H. The do good profit motive. jan 2013. Dispon´ıvel em: http://www.evl.uic.edu/aej/525/lecture02.html. Acesso em: 24/03/2014.

GIROLLETE, R. B.-H. A.ANDROID: Vis˜ao Geral. 1. ed. Cascavel PR, 2012. HERGAARDEN, M.Graphics shaders. 1. ed. VU Amsterdam, jan 2011.

INDRUSIAK, L. S.Linguagem Java. [S.l.]: Grupo JavaRS JUG Rio Grande do Sul, 1996. JPCT. JPCT 3D engine. jun 2015. Dispon´ıvel em: http://www.jpct.net/. Acesso em: 04/06/2015.

KESSENICH, J.; BALDWIN, D.; ROST, R.The OpenGLR Shading Language. 3. ed. [S.l.]: Addison-Wesley Professional, 2009.

LABORATORY, E. V. GLSL language study. 2010. Dispon´ıvel em: http://www.evl.uic.edu/aej/525/lecture02.html. Acesso em: 25/04/2014.

LECHETA, R. R.Google Android-Aprenda A Criar Aplicac¸˜oes: Para Dispositivos M´oveis Com O Android SDK. 2. ed. [S.l.]: Novatec Editora, 2010.

LOPES, R. O.; SORIANO, T. G.; OLIVEIRA, Y. G.Evoluc¸˜ao e Inovac¸˜ao no Mercado de Jogos Eletrˆonicos. 1. ed. Rio de Janeiro, fev 2008.

MORIBE, V. A.Jogo para Android com Unity3D. [S.l.]: Reverte-Revista de Estudos e Re- flex˜oes Tecnol´ogicas da Faculdade de Indaiatuba, 2012.

MOURA, J.Jogos eletrˆonicos e professores: primeiras aproximac¸˜oes. [S.l.]: Semin´ario Jo- gos eletrˆonicos, educac¸˜ao e comunicac¸˜ao: construindo novas trilhas, IV, 2008.

MUNSHI, A.; GINSBURG, D.; SHREINER, D.OpenGL ES 2.0 programming guide. [S.l.]: Pearson Education, 2008.

NIKOBONYADRAD, S.Augmented Reality for Product Packaging. [S.l.]: Bachelor thesis, 2012.

NVIDIA.Vertex Texture Fetch. 2004. Dispon´ıvel em: http://www.nvidia.com/object/using- vertex-textures.html. Acesso em: 19/04/2014.

ORACLE. Java Tutorials. jun 2015. Dispon´ıvel em:

http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html. Acesso em: 04/06/2015. PASSOS, E. B. et al.Tutorial: Desenvolvimento de Jogos com Unity3D. Rio de Janeiro: VIII Brazilian Symposium on Games and Digital Entertainment, 2009.

ROSADO, J. dos R. Hist´oria do jogo e o game na aprendizagem. Bahia: Universidade do estado da Bahia - UNEB, 2006.

SHADERTOY. The application to test Shaders. 2009. Dispon´ıvel em: https://play.google.com/store/apps/details?id=com.simongreen.shadertoy. Acesso em: 19/04/2014.

SOUZA, L. F. R. T. Paralelizac¸˜ao em CUDA/GLSL do algoritmo SIFT para reconheci- mento de ´ıris. Rio de Janeiro: IBICT, 2012.

STRENGERT, M.; KLEIN, T.; ERTL, T. A Hardware-Aware Debugger for the OpenGL Shading Language. [S.l.]: Graphics Hardware, 2007. 81–88 p.

VIANA, J. R. M.Programac¸˜ao em GPU: Passado, presente e futuro. Rio de Janeiro: Uni- versidade Federal do Rio de Janeiro, 2013.

VIANNA, F. V.; GOMES, T. E. ShaderLabs: Desenvolvimento ´agil de uma IDE para OpenGL Shaders. Rio de Janeiro: Universidade Federal do Rio de Janeiro, 2012.

Documentos relacionados