8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
1/198
UNIVERSIDADE FEDERAL DE SO CARLOS
CENTRO DE CINCIAS EXATAS E DE TECNOLOGIA
PROGRAMA DE PS-GRADUAO EM CINCIA DA COMPUTAO
Projeto de um frameworkpara auxilio no desenvolvimento
de aplicaes com grficos 3D e animao.
Rodrigo de Godoy Domingues
So Carlos
Julho / 2003
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
2/198
Ficha catalogrfica elaborada pelo DePT daBiblioteca Comunitria da UFSCar
Domingues, Rodrigo de GodoyD628pf Projeto de um frameworkpara auxilio no desenvolvimento de
aplicaes com grficos 3D e animao. / Rodrigo de GodoyDomingues So Carlos : UFSCar, 2003.
200 p.
Dissertao (Mestrado) -- Universidade Federal de So Carlos,2003.
1. Computao grfica. 2. Jogos por computador. 3. Animao porcomputador. 4. Renderizao em tempo real.I. Ttulo.
CDD: 006.6 (20)
2
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
3/198
A maioria das disciplinas no se destina a liberar
e sim a limitar. No pergunte por qu. Seja
cauteloso com o como. O por qu conduz
inexoravelmente ao paradoxo. O como o
aprisiona num universo de causa e efeito. Ambos
negam o infinito.
Frank Herbert.
A memria nunca apreende a realidade. A
memria a reconstri. Toda reconstruo
modifica o original, tornando-se uma estrutura
externa de referncia que inevitavelmente
apresenta falhas.
Frank Herbert
3
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
4/198
Aos meus pais, por toda ateno e incentivo prestados;
A lvaro Fonseca e Silva Jr., por me mostrar que a vida pode ser mais agradvel
quando vista atravs de um espelho distorcido em uma sala dos espelhos.
A todos os criadores de sonhos, pois eles nos fornecem algo pelo que lutar.
4
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
5/198
Agradecimentos
A Roberto Batista, Marina Batista, Paulo Dias e Olavo Dantonio, pela amizade
existente entre ns e por fazerem minha estada em So Carlos ser mais agradvel.
Ao meu professor e orientador, Andr Luiz Battaiola, atualmente professor no
departamento de Design da Universidade Federal do Paran, pela confiana
depositada, pela orientao e alm de tudo por sua amizade e compreenso.
Aos professores do Departamento de Informtica da Universidade Federal de
Uberlndia, pelo incentivo busca de desafios, pelo conhecimento transmitido e
principalmente pela amizade.
A Mamede Lima Marques, por me incentivar na rea de pesquisa, por me fazer
gostar de aprender, por me auxiliar em integrar conhecimentos, pelo auxlio na
deciso em cursar o mestrado e por sua amizade.
A meu amigo Marcus Henrique Lopes Falco, por me ensinar que na vida
precisamos no apenas ser especialistas, mas tambm lutar pela aquisio de
conhecimento em outras reas.
Aos professores do Departamento de Computao da Universidade Federal de
So Carlos, em especial ao professor Jos Hiroki Saito, por todo auxlio prestadodireta ou indiretamente.
A Rodrigo Assaf e Daniel Gomes de Almeida, pelo auxlio prestado no projeto,
por se interessarem pelo aprendizado e acima de tudo pela amizade e
companheirismo.
A Adriano Cunha, Daniel Caetano, Ricardo Jurckzyk e a todos os outros amigos
ligados ao microcomputador MSX,.pelas horas de diverso, pela troca de idias e
por ajudarem a manter vivo um sonho. Universidade Federal de So Carlos e CAPes, pelo auxlio financeiro durante
todo o perodo de curso.
A todos vocs o meu
Muito Obrigado
5
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
6/198
Resumo
O avano das tcnicas algortmicas de produo de grficos e de hardware
dedicados a renderizao e processamento geomtrico proporcionou odesenvolvimento de tcnicas avanadas em animao e a exibio de grficos cadavez mais realistas, impulsionando o mercado tanto de visualizao cientfica quantoo de entretenimento. Porm, apesar dessas tcnicas e algoritmos estarem muitobem definidos, a comunidade de computao grfica e animao, muitas vezes,ignora os processos de planejamento e projeto, objetivando acelerar odesenvolvimento de um projeto especfico, obrigando aos desenvolvedores realizaro mesmo trabalho de codificao de classes, ou rotinas, repetidas vezes em projetosdiferentes, contrariando os princpios de engenharia de software. Nesse contextofaz-se necessrio o projeto de um framework, objetivado tanto criao deaplicaes grficas quanto criao de aplicaes de animao. Apesar de
existirem diversos frameworks para grficos dinmicos, a grande maioria ou voltada produo de grficos bidimensionais ou foram propostos para sistemascomputacionais de estaes grficas caras e voltadas unicamente produo detrabalhos acadmicos ou cinematogrficos. Nesse contexto este trabalho apresentaum estudo sobre as tcnicas de computao grfica, aplicadas a renderizao emtempo real e animaes atravs do levantamento de caractersticas e requisitosobjetivando aplicaes de simulaes visuais, jogos por computador e aplicaesmultimdia; analisa diversos motores de jogos para justificar alguns desses requisitose, dentro desse contexto, apresenta um conjunto de classes de maneira a comporum framework cuja finalidade facilitar o desenvolvimento de aplicativosconfigurveis, independentes de plataforma e que necessitem de renderizao 3Dou animao.
6
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
7/198
Abstract
The graphics algorithm techniques and geometrical rendering dedicated hardware
advance leaded the development of advanced animation techniques and photorealistic graphics, impelling both the scientific visualization and the entertainmentmarkets. However, even this techniques and algorithms being well defined, theanimation and computer graphics community ignores, the most of time, the planningand design processes, aiming the earlier release of a project, forcing the developersto do the same classes or routine coding repeated times in different projects, ignoringthe software engineering principles. In this context the design of a framework, aimedeither to graphical or animation applications, is made necessary. Despite the manydynamic graphics frameworks existence, many of them is aimed to bi-dimensionalgraphics production or were proposed to expensive graphical workstations andaimed only to scientific or cinematographic production. In this context, this work
presents a study about computer graphics and animation techniques gatheredthrough the characteristics and features aiming visual simulations, computer gamesand multimedia applications; analyses several game engines to justify these featuresand, in this context, presents a set of classes to compose a frameworkto ease theplatform independent configurable applications that needs 3D rendering or animation.
7
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
8/198
ndice
AGRADECIMENTOS.............................................................................................................5
RESUMO................................................................................................................................. 6
ABSTRACT.............................................................................................................................. 7
NDICE..................................................................................................................................... 8
NDICE DE FIGURAS..........................................................................................................13
NDICE DE TABELAS......................................................................................................... 15
CAPTULO 1. - INTRODUO......................................................................................... 16
1.1. MOTIVAOE RELEVNCIA............................................................................................... 171.2. OBJETIVOS...................................................................................................................... 211.3. ORGANIZAODO TRABALHO............................................................................................ 23
CAPTULO 2. - JOGOS ELETRNICOS.......................................................................... 25
2.1. CLASSIFICAO QUANTOAO TIPO...................................................................................... 261.1. ESTRATGIA.....................................................................................................................261.2. SIMULAO..................................................................................................................... 261.3. AO............................................................................................................................. 27
1.4. HISTRIAS INTERATIVAS (RPG)......................................................................................... 271.5. ADVENTURES................................................................................................................... 281.6. INFANTIS......................................................................................................................... 282.2. CLASSIFICAO VISUAL.................................................................................................... 281.7. 1 PESSOA....................................................................................................................... 291.8. 3 PESSOA (GOD VIEWOU GODSEYES)............................................................................. 292.3. CLASSIFICAOPORAMBIENTAO.................................................................................... 311.9. AMBIENTES INTERNOS....................................................................................................... 311.10. AMBIENTES EXTERNOS.................................................................................................... 321.11. ESPAO SIDERAL............................................................................................................ 321.12. AMBIENTES MISTOS........................................................................................................332.4. A ESTRUTURADEUM JOGO................................................................................................ 34
CAPTULO 3. - JOGOS COMO APLICAES MULTIMDIA..................................... 35
3.1. VDEO............................................................................................................................. 363.2. UDIO............................................................................................................................ 403.3. DISPOSITIVOSDE ENTRADA................................................................................................ 421.13. TECLADO.......................................................................................................................431.14. JOYSTICK.......................................................................................................................431.15. GAME PAD....................................................................................................................431.16. MANCHE....................................................................................................................... 431.17. SISTEMAAUTOMOBILSTICO.............................................................................................. 441.18. TRACKBALL.................................................................................................................. 44
8
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
9/198
1.19. MOUSE......................................................................................................................... 441.20. RECONHECIMENTODE VOZ...............................................................................................45
CAPTULO 4. - GRFICOS................................................................................................. 46
4.1. RENDERIZADOR................................................................................................................ 471.21. ESTGIODE APLICAO.................................................................................................. 501.22. ESTGIODE GEOMETRIA..................................................................................................511.23. ESTGIODE RASTERIZAO............................................................................................. 541.24. PERFORMANCEEM SISTEMASDE RENDERIZAO.................................................................56
CAPTULO 5. - PROCESSAMENTO GEOMTRICO.................................................... 58
5.1. OBJETOS GRFICOS.......................................................................................................... 591.25. ESTRUTURA VETORIAL.................................................................................................... 591.26. CONJUNTODE FACES...................................................................................................... 601.27. ORDENAODE VRTICES............................................................................................... 61
1.28. ESTRUTURA PARAMTRICA...............................................................................................625.2. PROCESSAMENTODE VISIBILIDADE...................................................................................... 631.29. PARTICIONAMENTODO ESPAO......................................................................................... 641.30. OCTREES....................................................................................................................... 641.31. PARTIO BINRIADO ESPAO (BSP)..............................................................................661.32. CONJUNTODE VISIBILIDADE POTENCIAL (PVS)..................................................................681.33. REDUODE COMPLEXIDADE GEOMTRICAE VISUAL......................................................... 701.34. NVELDE DETALHE (LOD)............................................................................................ 701.35. MIPMAPPING.................................................................................................................73
CAPTULO 6. - ANIMAES.............................................................................................. 75
6.1. TRADICIONAL................................................................................................................... 786.2. PROCEDIMENTAL............................................................................................................... 796.3. ESTRUTURAL.................................................................................................................... 801.36. ANIMAODEOBJETOSARTICULADOS................................................................................ 801.37. ANIMAODEOBJETOS MALEVEIS:................................................................................. 836.4. ESTOCSTICA................................................................................................................... 846.5. COMPORTAMENTAL............................................................................................................ 856.6. CONTROLEDE BAIXO NVEL.............................................................................................. 851.38. SISTEMASDE SCRIPT.......................................................................................................851.39. QUADROS CHAVE........................................................................................................... 861.40. PARAMTRICAS...............................................................................................................87
CAPTULO 7. - BIBLIOTECAS GRFICAS..................................................................... 88
7.1. DIRECTX........................................................................................................................ 887.2. OPENGL........................................................................................................................ 907.3. OUTRAS.......................................................................................................................... 92
CAPTULO 8. - MOTORES DE JOGOS............................................................................. 93
8.1. MOTORES 2D.................................................................................................................. 948.2. MOTORES 3D.................................................................................................................. 951.41. ANLISEDOS MOTORES...................................................................................................951.42. GOLGOTHA.................................................................................................................... 96
1.43. CRYSTAL SPACE............................................................................................................. 98
9
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
10/198
1.44. GNESIS 3D.................................................................................................................. 991.45. FLY 3D...................................................................................................................... 1001.46. FORGE V8.................................................................................................................. 101
CAPTULO 9. - DADOS INERENTES A MOTORES DE JOGOS................................106
9.1. OBJETOS GRFICOS....................................................................................................... 1061.47. SPRITES.......................................................................................................................1071.48. OBJETOS 3D................................................................................................................1071.49. OBJETOSNOARTICULADOS........................................................................................... 1081.50. OBJETOS ARTICULADOSOU DEFORMVEIS........................................................................1091.51. BILLBOARDS/IMPOSTORS............................................................................................... 1101.52. TERRENOS....................................................................................................................1111.53. TEXTURAS................................................................................................................... 1141.54. ESTTICAS...................................................................................................................1151.55. ANIMADAS...................................................................................................................116
1.56. DINMICAS..................................................................................................................1179.2. OBJETOS EMPRICOS........................................................................................................1171.57. SISTEMADE PARTCULAS............................................................................................... 1181.58. CONTROLADORES (OSSOS).............................................................................................. 1191.59. ILUMINAO................................................................................................................ 1201.60. EMPRICA.................................................................................................................... 1211.61. MAPASDE ILUMINAO.................................................................................................1221.62. ESTTICA.................................................................................................................... 1231.63. DINMICA................................................................................................................... 1231.64. GRAFODE CENA.......................................................................................................... 1241.65. CMERAS.................................................................................................................... 126
1.66. JANELASDE VISUALIZAO (VIEWPORTS)....................................................................... 1271.67. RENDERIZADORES......................................................................................................... 127
CAPTULO 10. - PRINCPIOS DE ENGENHARIA DE SOFTWARE..........................129
10.1. PRINCPIOSBSICOSDA ENGENHARIADE SOFTWARE..........................................................1291.68. INSTANCIAO..............................................................................................................1291.69. ENCAPSULAMENTO........................................................................................................1301.70. REFERNCIASAOBJETOS................................................................................................13110.2. PRINCPIOSDE ORIENTAOA OBJETOS........................................................................... 1311.71. MODULARIDADE...........................................................................................................1331.72. REUSABILIDADE............................................................................................................13410.3. REUSABILIDADEDE PROJETOS: PADRESDE PROJETOS.......................................................1361.73. EXEMPLO: ITERATORS....................................................................................................13810.4. UNIFIED MODELLING LANGUAGE (UML)....................................................................... 14010.5. RELACIONAMENTODECLASSES....................................................................................... 1401.74. CLASSIFICAOE HERANA...........................................................................................1401.75. HERANA.................................................................................................................... 1411.76. CLASSIFICAO............................................................................................................ 1421.77. EXEMPLO: PONTOSEVETORESSOTUPLAS....................................................................... 1431.78. AGREGAO................................................................................................................ 1441.79. ASSOCIAO................................................................................................................145
CAPTULO 11. - FRAMEWORKS GRFICOS.............................................................. 147
10
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
11/198
11.1. O MODELO MVC....................................................................................................... 1471.80. O COMPONENTEMODELO................................................................................................1481.81. O COMPONENTEVISO...................................................................................................1491.82. O COMPONENTECONTROLADOR.......................................................................................150
11.2. APLICAODOMODELO MVC.......................................................................................152CAPTULO 12. - PROJETO: FRAMEWORK PARA GRFICOS 3D INTERATIVOS.................................................................................................................................................154
12.1. METODOLOGIA.............................................................................................................15412.2. FRAMEWORK................................................................................................................1561.83. ESTRUTURA ABSTRATA.................................................................................................. 15712.3. CARACTERSTICAS.........................................................................................................1581.84. MDULODE MODELO...................................................................................................1581.85. REPOSITRIO................................................................................................................1591.86. REPRESENTAODE CENA............................................................................................. 160
1.87. GERENCIADORDECENA................................................................................................. 1611.88. MDULODE VISO...................................................................................................... 1621.89. VOLUMEDE VISO.......................................................................................................1631.90. PROJEO....................................................................................................................1641.91. CMERA..................................................................................................................... 1651.92. VIEWPORT...................................................................................................................1661.93. RENDERIZADOR............................................................................................................ 1671.94. MDULO CONTROLADOR............................................................................................... 1681.95. SINAL......................................................................................................................... 1691.96. TEMPORIZADOR............................................................................................................ 1701.97. DISPOSITIVODEENTRADA.............................................................................................. 170
1.98. GERENCIADORDE ENTRADA...........................................................................................1711.99. LEI FSICA...................................................................................................................1721.100. PROPRIEDADE FSICA...................................................................................................1721.101. GERENCIADORDE SIMULAO FSICA............................................................................1731.102. OSSOS...................................................................................................................... 1751.103. REPRESENTAODE ANIMAO....................................................................................1761.104. GERENCIADORDE ANIMAO.......................................................................................177
CAPTULO 13. - ESTUDOS DE CASO.............................................................................179
13.1. ANIMAO TRADICIONAL...............................................................................................17913.2. ANIMAO CONTROLADAPORSIMULAO.......................................................................181
CAPTULO 14. - RESULTADOS........................................................................................183
14.1. EFICINCIA.................................................................................................................. 18314.2. GENERALIDADEE DOCUMENTAO................................................................................. 18414.3. FACILIDADEDE USO..................................................................................................... 185
CAPTULO 15. - CONCLUSES.......................................................................................187
15.1. CONTRIBUIES............................................................................................................18715.2. PRINCIPAIS DIFICULDADES..............................................................................................18815.3. PROPOSTASPARATRABALHOSFUTUROS.............................................................................18815.4. CONSIDERAES FINAIS.................................................................................................189
11
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
12/198
APNDICE A. DIAGRAMAS DE CLASSE DO FRAMEWORK..............................191
MDULODE MODELO...........................................................................................................191MDULODE VISO.............................................................................................................. 192MDULO CONTROLADOR....................................................................................................... 194
BIBLIOGRAFIA..................................................................................................................195
12
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
13/198
ndice de Figuras
FIGURA 1: IMAGEM DO JOGO QUAKE II.....................................................................29
FIGURA 2: IMAGEM DO JOGO TOMB RAIDER...........................................................30
FIGURA 3: IMAGEM DO JOGO EMPEROR, BATTLE FOR DUNE............................31
FIGURA 4: IMAGEM DO JOGO F1 WORLD GRAND PRIX........................................32
FIGURA 5: IMAGEM DO JOGO PRIVATEER II.............................................................33
FIGURA 6: A CONSTRUO BSICA DO PIPELINE DE RENDERIZAO...........49
FIGURA 7: O ESTGIO DE GEOMETRIA DIVIDIDO EM UM PIPELINE DEESTGIOS FUNCIONAIS....................................................................................................51
FIGURA 8: COMO A ILUMINAO AFETA A PERCEPO DA IMAGEM.............52
FIGURA 9: DIFERENAS NA PROJEO PARALELA E EM PERSPECTIVA........53
FIGURA 10: REPRESENTAO POR CONJUNTO DE FACES...................................61
FIGURA 11: REPRESENTAO GRFICA E ESTRUTURAL DE UMA OCTREE...65
FIGURA 12: ILUSTRAO DE UMA RVORE BSP BIDIMENSIONAL....................68
FIGURA 13: RESOLUO DE VISIBILIDADE DO INTERIOR DE UM PRDIOPOR []. ESQUERDA O MODELO TOTAL, DIREITA A PORO VISTA PELOOBSERVADOR....................................................................................................................... 69
FIGURA 14: TRS NVEIS DE DETALHE DE UM WARBIRD ROMULANO............71
FIGURA 15: PIRMIDE DE MIPMAP...............................................................................73
FIGURA 16: CORREO DE TEXTURA POR MIPMAPPING, O OBJETO DAESQUERDA NO POSSUI MAPEAMENTO DE TEXTURA POR MIPMAP...............74
FIGURA 17: MQUINAS DE ESTADOS DE ANIMAO............................................78
FIGURA 18: GRAUS DE LIBERDADE.............................................................................. 82
FIGURA 19: ESTRUTURA HIERRQUICA, TERMINAES E N RAIZ...............82
FIGURA 20: ESQUELETO DE UM TENTCULO E OS PARMETROS (OSSOS) DE
TRANSFORMAO DE VRTICES................................................................................. 84
13
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
14/198
FIGURA 21: A FIGURA DA ESQUERDA APRESENTA PARAMETRIZAO DEINTERPOLAO POR ROTAO ENQUANTO QUE A DA DIREITA INTERPOLALINEARMENTE OS PONTOS INICIAIS E FINAIS........................................................87
FIGURA 22: CAMADAS E COMPONENTES DO MOTOR FORGE V8.....................103FIGURA 23: ESTRUTURA DE UM SPRITE....................................................................107
FIGURA 24: BILLBOARDS COMO RVORES EM UMA CENA................................111
FIGURA 25: TERRENO GERADO A PARTIR DE MAPA DE ALTURA E TCNICADE VOXEL............................................................................................................................ 112
FIGURA 26: EXEMPLO DE UM LIGHTMAPPING...................................................... 122
FIGURA 27: REPRESENTAO DE UM GRAFO DE CENA......................................125
FIGURA 28: EXEMPLO DE DIAGRAMA DE HERANA............................................144
FIGURA 29: RELACIONAMENTO DE AGREGAO: UM POLGONO FORMADO POR TRS OU MAIS PONTOS...................................................................145
FIGURA 30: RELACIONAMENTO DE ASSOCIAO: SEGMENTO DE RETA REPRESENTADO POR DOIS PONTOS.......................................................................... 146
FIGURA 31: ESTRUTURA GERAL DO FRAMEWORK...............................................157
FIGURA 32: EXEMPLO DO GRAFO DE CENA DO OBJETO A ANIMAR...............180
FIGURA 33: DIAGRAMA DE CLASSES DO MDULO DE MODELO......................191
FIGURA 34: DIAGRAMA DE CLASSES DO MDULO DE VISO...........................193
FIGURA 35: DIAGRAMA DE CLASSES DO MDULO CONTROLADOR..............194
14
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
15/198
ndice de Tabelas
TABELA 1: REPRESENTAO DOS TIPOS DE MALHAS POR VRTICESORDENADOS......................................................................................................................... 62
TABELA 2: ANLISE DE EFICIENCIA DE UMA APLICAO UTILIZANDO AARQUITETURA PROPOSTA............................................................................................ 184
15
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
16/198
Captulo 1. - Introduo
O avano nos dispositivos grficos para estaes de trabalho e computadores
pessoais proporcionou o surgimento de um novo estilo de aplicaes
computacionais, que se fundamenta na rpida exibio de grficos de alta qualidade
acoplados a dispositivos de entrada expressivos para obter animao e
renderizao em tempo real e metforas de interao por manipulao direta
permitindo a criao de aplicaes com caractersticas ldicas, denominadas de
jogos eletrnicos ou jogos por computador, cujo incio, em 1962 com o jogo
Spacewar [1], iniciou uma nova era no ramo da computao e do entretenimento.
Porm, apesar do grande sucesso comercial, o objetivo desses sistemas era voltado
somente ao entretenimento, o que gerou um certo preconceito por parte das
empresas de computao e instituies de pesquisa, as quais no se interessaram
de imediato pela rea, fundamentando-se em pesquisas especficas em computao
grfica ou animao, sem interao com desenvolvedores de tais sistemas que
desenvolviam, paralelamente, suas prprias tcnicas.
Atualmente os softwares de entretenimento apresentam nveis excelentes de
qualidade grfica, efeitos avanados em animao e, conseqentemente, uma alta
complexidade no seu desenvolvimento devido necessidade de integrao e
interoperabilidade de novas tecnologias atuando em conjunto com os problemas
clssicos, intrnsecos a essas aplicaes.
Esta dissertao analisa as metodologias de programao para computao
grfica e tcnicas de animao, referenciando-se a conceitos e funcionalidades j
definidos em muitos projetos de jogos para a criao de um framework, objetivando
auxiliar em projetos de criao bibliotecas de desenvolvimento de jogos, conhecidas
16
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
17/198
como motor grfico no jargo dos programadores de jogos, bem como o de
aplicaes multimdia em geral.
1.1. Motivao e Relevncia
A informtica passou por diversas revolues desde seu surgimento. A evoluo
dos computadores para mini e, em seguida, para microcomputadores,
proporcionando a criao dos computadores pessoais, o desenvolvimento dos
ambientes grficos e sistemas operacionais grficos, facilitando a utilizao para os
usurios leigos e, atualmente, com a disponibilidade e a reduo do custo das
unidades de processamento grficas (GPU), a informtica passa por mais uma
revoluo, a do entretenimento.
Dados da Interactive Digital Software Association (IDSA), associao
responsvel pela realizao da Electronic Entertainment Expo (E3), apontam que em
1996 o mercado de jogos eletrnicos movimentou cerca de US$ 3.7 bilhes e em
1999 atingiu o montante US$ 6.1 bilhes s nos Estados Unidos, o que indica um
mercado altamente lucrativo e promissor. Pesquisa da IDSA tambm mostra que, em
1996, jogos em PC's eram mais usados do que processadores de texto [2].
Em 2002, dados da Datamonitor[3], empresa de consultoria americana, indicam
que as vendas no mercado americano e europeu de software de jogos para
microcomputadores e consoles atingiu a cifra de US$ 10,9 bilhes. A previso para
2005 de um mercado internacional avaliado em US$ 20 bilhes, dados da PC
Data. Todos estes dados justificam os investimentos milionrios feitos por empresas
como a Sony e a Microsoft nos consoles de jogos PlayStation 2 e XBox,
respectivamente, bem como o investimento feito pela industria de software no
desenvolvimento de jogos.
17
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
18/198
Atualmente jogos para celulares o novo foco de investimento da indstria de
jogos. O relatrio Wireless Gamingda Datamonitor, [3], indica que 4 entre 5 usurios
de dispositivos mveis em 2005 utilizaro jogos, o que representa um universo de
200 milhes de consumidores na Europa Ocidental e Estados Unidos. Em 2003, os
jogos em celulares devero movimentar cerca de US$ 1,6 bilhes de dlares nos
EUA e Europa. Este nmero dever saltar para US$ 6,0 bilhes em 2005.
Embora o mercado seja altamente lucrativo, poucas instituies cientficas
oferecem a devida ateno rea. Este desinteresse se deve em parte ao
preconceito, desinformao, e multidisciplinariedade da rea, pois o
desenvolvimento de jogos por computador exige conhecimento em diversas reas
da Computao, tais como:
a) Computao Grfica (CG): Necessria ao desenvolvimento da parte de
apresentao visual e de animao dos jogos por computador e, atualmente, a
rea fundamental no desenvolvimento devido ao apelo visual exigido pelo
mercado;
b) Inteligncia Artificial (IA): Necessria ao desenvolvimento das aes dos
personagens controlados pelo computador e pelo controle lgico da aplicao, a
qual responsvel por dar vida ao jogo propondo os objetivos e oferecendo
obstculos ao usurio;c) Engenharia de Software: Responsvel pela criao de metodologias para
o processo de anlise e desenvolvimento de aplicaes em geral;
d) Arquitetura de Computadores: Responsvel pelo projeto da arquitetura de
Consoles;
18
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
19/198
e) Eletrnica: Responsvel pela produo dos hardwares e dos projetos de
Consoles;
f) Redes e Sistemas Distribudos: Responsvel pelo desenvolvimento de
protocolos especficos para uso em jogos multi-usurios e
g) Interface Homem-Mquina (IHC): Responsvel pelo estudo de novos
dispositivos, interfaces e funes de entrada e sada que facilitem a interao
dos jogadores.
A produo de jogos por computador tambm envolve conceitos de outras reas
de conhecimento, tais como msica, artes, letras, etc., o que caracteriza a presente
multidisciplinariedade na produo de jogos por computador.
Lamothe [4] cita que a comunidade acadmica pensa em jogos por computador
como brincadeira de criana e no como um desafio em projeto, programao e
pesquisa. Segundo ele uma classificao errada, pois ele caracteriza a produo
desse tipo de aplicao como um conduto para uma nova dimenso, sintetizada pela
imaginao e realizada pelo desejo do criador. Em outras palavras, um trabalho de
arte.
Apesar de alguns preconceitos ainda encontrados no mundo acadmico, o valor
mercadolgico, tecnolgico e educacional do produto tem justificado esforos para a
criao de disciplinas e at de cursos inteiros dedicados anlise edesenvolvimento de jogos. Revistas tcnicas e conferncias cientficas sobre o
assunto tambm esto surgindo.
Algumas universidades estrangeiras j apresentam como linha de pesquisa a
rea de jogos eletrnicos: University of North Texas (EUA)1, Institut dinformatique de
1 http://larc.csci.unt.edu
19
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
20/198
Qubec (Canad)2, Centre National dAnimation et de Design (Canad)3, Middlesex
University School of Computing Science (Reino Unido)4, Universisty of Teesside
(Reino Unido)5
, University of Michigan (Reino Unido)6
, NgeeAnn Polytechnic
(Singapura)7 e Hong Kong Polytechnic University (Hong Kong). Outras duas
universidades americanas j oferecem cursos completos de graduao: Full Sail
Real World Education8 e DigiPen Institute of Technology9. Todos esses esforos
objetivam fortalecer a indstria de jogos e estreitar os laos com o mundo
acadmico.
No Brasil, trs instituies criaram grupos de pesquisa na rea. So elas:
Universidade Federal de Pernambuco (UFPE), Pontifica Universidades Catlicas do
Rio de Janeiro (PUC-RJ) e Universidade Federal de So Carlos. Duas disciplinas de
graduao foram criadas no CIn/UFPE para atender e incentivar os alunos
interessados na rea e duas universidades criaram cursos de Ps-graduao Latu
Sensu envolvendo jogos por computador, a saber: Centro Universitrio Positivo
(Unicemp), campus Curitiba-PR e PUC-RJ.
Na rea comercial, o Brasil atualmente se destaca internacionalmente com vrias
empresas, das quais trs empresas merecem destaque especial: 1) Continuum
Entertainment 10, de Curitiba, PR, com o jogo de estratgia em tempo real Outlive,
por ser a primeira empresa a comercializar um jogo no exterior, 2) SouthLogic
Entertainment11, de Porto Alegre, RS, por ser a primeira empresa nacional a firmar
2 http://www.iiq.qc.ca3 http://www.nad.qc.ca4 http://www.cs.mdx.ac.uk/msc-cg5 http://www-scm.tees.ac.uk/courses/degree/compgames.html6 http://bigfoot.eecs.umich.edu/~soar/Classes/4947 http://www.np.edu.sg8 www.fullsail.com9 www.digipen.edu10
www.continuum.com.br11 www.southlogic.com.br
20
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
21/198
acordo com a Infogrames, um Publisher bastante conhecido no mundo por publicar
ttulos como a srieAlone in the Dark, dentre outros e 3) Jynx Playware12, de Recife,
PE, por implementar o primeiro jogo massive multiplayer no Brasil. Porm, no
cenrio nacional, diversos projetos esto sendo, ou j foram, criados. Tal o caso da
Banana Games 13 de So Paulo, SP, Joy Studios14, em Recife, PE, 4Xde Maring,
PR, alm de outras.
1.2. Objetivos
Este trabalho de dissertao prope uma arquitetura e documentao de um
framework objetivado para a produo de aplicaes que utilizem grficos 3D,
animao interativa e simulao fsica utilizando, como base de referncia, motores
de jogos e trabalhos cientficos na rea de maneira a levantar as caractersticas
fundamentais desse tipo de aplicao.
De acordo com Gobbetti e Turner [5], possvel explorar a similaridade das
estruturas das aplicaes que utilizam esses recursos de maneira a criar
frameworks que definem e implementam o projeto orientado a objetos de todo um
sistema inteiro de tal forma que seus componentes relevantes sejam modelados por
classes abstratas que definem o protocolo geral e gerenciam o comportamento
dinmico padro que seja usualmente apropriado para a maioria dos casos. Apenas
as caractersticas especficas das aplicaes devem ser implementadas pelo
projetista atravs de mtodos de herana e redefinies de classes de maneira a
customizar a aplicao. A caracterstica chave de frameworks que o reuso do
projeto abstrato oferecido por eles mais importante que o reuso de cdigo.
12 www.jynx.com.br13
www.bananagames.com.br14 www.pernambuco.com/tecnologia/empresas.html
21
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
22/198
O estudo baseado em jogos por computador tem o objetivo de extrair todas as
caractersticas e funcionalidades desse tipo de aplicao devido caracterstica
multimdia inerente a esse tipo de aplicao, como demonstrado no (3) e o interesse
porframeworks que implementam caractersticas de renderizao em tempo real, ou
seja, grficos 3D, deve-se a essa ser uma rea relativamente inexplorada [5].
Existem diversas bibliotecas para produo de jogos disponveis publicamente ou
comercialmente, porm elas apresentam desvantagens quanto generalidade para
produo de aplicaes, pois muitas foram projetadas para fins especficos, isto ,
para um produto especfico, o que inibe desenvolvedores de jogos a us-las devido
generalizao de seu produto [43].
Alm do problema da falta de generalidade, as bibliotecas publicamente
disponveis, analisadas para a produo do presente trabalho, apresentam pouca ou
nenhuma documentao, inviabilizando o seu uso, pois o desenvolvedor deve
realizar um trabalho de engenharia reversa de maneira a entender como ela
funciona para poder realizar a sua tarefa, algo inaceitvel devido s complicaes e
atrasos no desenvolvimento.
22
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
23/198
1.3. Organizao do Trabalho
Este trabalho est organizado em quatorze captulos, excluindo o apndice e as
referncias bibliogrficas.
Cada captulo descrito a seguir:
O captulo 1 apresenta uma introduo, a motivao, relevncia e os objetivos da
dissertao;
O captulo 2 apresenta uma descrio sobre jogos eletrnicos, as classificaes
quanto a tipo, visualizao e ambientao e uma descrio sobre os elementos que
compe os jogos por computador;
O captulo 3 discute jogos como aplicaes multimdia, apresentando uma
justificativa dessa assertiva por descrever os componentes de jogos eletrnicos;
O captulo 4 apresenta uma descrio sobre grficos em aplicaes multimdia,
com o texto focado em grficos 3D. Apresenta tambm a estrutura do processo de
gerao de grficos 3D, conhecido como renderizao;
O captulo 5 apresenta tcnicas sobre processamento geomtrico e visual de
maneira a otimizar a performance de um sistema de renderizao e de
gerenciamento de dados em aplicaes;
O captulo 6 apresenta um estudo sobre os diversos tipos de animao que
surgiram ao longo da histria, bem como uma breve apresentao da histria da
animao em si;
O captulo 7 apresenta um estudo sobre bibliotecas grficas, descrevendo duas
das bibliotecas grficas mais utilizadas atualmente: DirectXe OpenGL;
23
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
24/198
O Captulo 8 apresenta uma descrio do que um motor de jogo, suas
possveis construes e uma anlise de 4 motores de jogos e 1 trabalho de pesquisa
realizado na Universidade Federal de Pernambuco;
O Captulo 9 apresenta a descrio de alguns dados inerentes a jogos por
computador, os quais so analisados de maneira a compor o projeto do framework
proposto nessa dissertao;
O captulo 10 apresenta as tcnicas de engenharia de software utilizadas no
projeto, bem como a metodologia de projeto com a Unified Modelling language;
O captulo 11 discute o conceito de frameworks no contexto da computao
grfica, apresentando alguns frameworks desenvolvidos;
O captulo 12 descreve o framework projetado no programa de mestrado
apresentando sua organizao e suas classescom base na anlise dos requisitos
apresentados nessa dissertao, utilizando as tcnicas de engenharia de software
apresentadas no (Captulo 10) e alguns conceitos apresentados no (Captulo 11);
O captulo 13 apresenta dois estudos de caso focados em animao tradicional e
animao com simulao fsica utilizando os conceitos apresentados no projeto do
frameworke
O captulo 14 apresenta as concluses obtidas no desenvolvimento do projeto e
os trabalhos futuros que podem ser realizados com o conhecimento adquiridoatravs dessa proposta, bem como os artigos publicados utilizando os conceitos
aqui apresentados.
O apndice apresenta o diagrama de classes proposto para o framework.
24
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
25/198
Captulo 2. - Jogos Eletrnicos
Jogos Eletrnicos so programas cuja finalidade apresentar um ambiente
ldico e entreter o usurio, atravs da proposta de objetivos apresentados em
roteiros, geralmente, fictcios.
Tal tipo de software tem evoludo rapidamente ao longo do tempo, pois em seu
incio apresentava textos ou grficos 2D, usualmente baseados em texturas, e sons
rudimentares criados por geradores de onda (tambm denominado de canal de
rudo), como os encontrados nos PCs com a denominao de PC Speaker, ou por
processadores sonoros rudimentares, como os presentes em alguns
microcomputadores de 8 bits.
Atualmente jogos por computador fazem uso de diversas mdias (texto, vdeo,
animaes, som, etc), apresentam grficos 3D com excelente qualidade visual, bem
como contam com sons e msicas primorosas que fazem uso de tcnicas
sofisticadas de ambientao sonora tais como o estreo e o surround. Porm,
apesar dessa evoluo ampliar a sensao de imerso, a proposta funcional desse
tipo software se mantm inalterada.
De forma a apresentar os objetivos e responder s aes dos usurios, os jogos
devem propor enredos, objetivos e uma interface para a interao do usurio com o
sistema. Geralmente enredo, objetivo e interface esto, at o presente momento,
intimamente relacionados e, em conjunto, classificam o tipo de jogo.
A seguir encontram-se as classificaes por tipo, visualizao e ambientao de
diversos jogos analisados.
25
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
26/198
2.1. Classificao Quanto ao Tipo
Embora o tipo de jogo seja de pouca relevncia para o presente projeto uma
breve anlise dos tipos existentes se faz necessria para que o motor de jogo
implemente funcionalidades capazes de criar as caractersticas exigidas nos
mesmos. De acordo com Battaiola [2] os tipos reconhecidos de jogos so:
1.1. Estratgia
So jogos que exigem raciocnio, podem ser em turnos, tais como os tradicionais
jogos de xadrez ou damas, ou de estratgia em tempo real, tais como o Emperor
Battle for Dune [Figura 3] da Westcoast, que, geralmente, apresentam um enredo
que envolve guerra.
1.2. Simulao
So jogos que possuem nveis de complexidade variando de mdia a alta,
geralmente com jogabilidade15 mdia a baixa devido grande quantidade de
comandos necessrios para se jogar. Geralmente, respeitam, ou tentam respeitar,
de forma fiel, as leis da fsica. Dentre estes jogos pode-se citar o Flight Simulator
que apesar de no ser um jogo, classificado como tal, a srie Test Drive e os
diversos ttulos de jogos de ao em 1 pessoa (Simulao de pessoa ou
guerreiro/soldado).
15 Termo utilizado para indicar o quo atrativo o jogo em termos de manipulao dos personagens/objetos. Um
jogo de boa jogabilidade geralmente atrair mais adeptos, como o caso do clssico Tetris, um jogo de baixajogabilidade atrair menos, tais como os simuladores de vo.
26
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
27/198
1.3. Ao
Os jogos de ao podem ser classificados dentre os mais antigos. Suas
caractersticas principais so a boa jogabilidade, devido s poucas teclas
necessrias (geralmente as setas direcionais e uns poucos botes), o objetivo bem
definido, uma histria simples e a exigncia de bons reflexos. Dentre este tipo de
jogo encontram-se os ttulos Tomb Raiderda Eidos Interactive, Tekken 3 da Namco,
Nemesis da Konami, dentre outros.
1.4. Histrias Interativas (RPG)
RPG o acrnimo para Role Playing Game, ou jogo de interpretao de papel.
Esse tipo de jogo consiste em uma ambientao contextual (fantasia medieval,
horror, futurista) e um conjunto de regras estatsticas denominado de sistema de
jogo onde um dos jogadores denominado de mestre cria o esqueleto de uma
histria, com diversos pontos em aberto. Essa histria se desenvolver de acordo
com as aes dos personagens interpretados pelos jogadores e as interaes deles
com os personagens no jogadores, interpretados pelo mestre. O sucesso ou a
falha de suas aes resolvido, geralmente, atravs de jogada de dados e do
sistema de regras.
Esse tipo de jogo tem por objetivo criar no computador um ambiente capaz de
proporcionar ao jogador o mesmo tipo de jogo que ele jogaria com um grupo de
amigos. Inicialmente eram desenvolvidos com visualizao em 1 pessoa e,
atualmente, em 3 pessoa. Sua jogabilidade fraca devido s diversas teclas
necessrias para executar as aes e a interatividade baixa devido ao fato da
histria estar pr-determinada, porm geralmente o forte desse tipo de jogo a
27
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
28/198
histria bem elaborada. Dentre este tipo encontram-se os ttulos Diablo I e II,
Baldurs Gate I e II, as diversas sries do Ultima, dentre outros.
1.5. Adventures
Esse tipo de jogo, muito popular entre os micros da gerao 8 bits, tinha como
peculiar a interatividade da sua interface. Inicialmente o jogador digitava os textos
para que as aes pudessem ser interpretadas. Geralmente, o jogo no possua
grficos, apenas textos. Em evolues desse tipo de jogo a interface j era
composta pelas palavras (aes), que poderiam ser selecionadas com o mouse e
executadas com um clique num objeto na tela, apresentando, assim, grficos
estacionrios ou com pouca animao. Esse tipo de jogo se caracteriza pela
exigncia de raciocnio lgico e pode ser classificado, tambm, como uma histria
interativa. Como exemplo encontram-se os ttulos: Amaznia (do brasileiro Renato
Degiovanni), Full Throttle da Lucas Arts, as incansveis sries Space Queste Kings
Questda Sierra, dentre outros.
1.6. Infantis
Jogos infantis se caracterizam por sua interface simples e seu carter
educacional voltado essencialmente para as crianas. Este tipo de jogo pode
apresentar caractersticas de quaisquer dos jogos acima citados.
2.2. Classificao Visual
A interface de um jogo est relacionada ao seu aspecto visual e interativo. Ela
representa o meio pelo qual o usurio incorpora o ambiente do jogo e possui grande
interferncia no desenvolvimento de seu motor grfico.
28
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
29/198
De acordo com o contexto narrativo do jogo, bem como o seu processo de
interao, apenas dois tipos de visualizao podem ser definidos. So eles:
1.7. 1 Pessoa
Apresenta uma interface responsvel por incorporar o usurio/jogador na pele
do personagem. O jogador tem a mesma viso do personagem do jogo, o que cria
uma grande sensao de imerso.
Jogos em primeira pessoa requerem interfaces 3D em funo da sua prpria
caracterstica visual, ou seja, a tela o olho do jogador, como demonstrado na
[Figura 1].
Figura 1: Imagem do jogo Quake II
1.8. 3 Pessoa (God View ou Gods eyes)
Jogos em 3a. Pessoa apresentam uma interface em que o jogador consegue
visualizar a si mesmo, seja ele apenas um personagem do jogo, tal como em Tomb
Raider, ou um exrcito, tal como em Emperor, Battle for Dune. Esse tipo de
visualizao denominado de God View pois o usurio tem uma viso completa do
mundo e do(s) objeto(s) que cercam o(s) personagem(s).
A visualizao em 3a. Pessoa se subdivide em duas outras, sendo:
29
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
30/198
- Visualizao Perspectiva: A visualizao em perspectiva assemelha-se
muito visualizao em 1a. Pessoa, porm, apesar da cmera ser posicionada
atrs do personagem, permitindo que o jogador tenha um campo de viso mais
abrangente, apresenta todas as caractersticas da visualizao em 1a. Pessoa,
tal como a sensao de profundidade, devido convergncia de retas paralelas,
possibilitando maior imerso. Dentre os jogos nessa categoria encontram-se os
jogos da srie Tomb Raider [Figura 2], da Eidos Interactive, que foram muito
bem aceito devido a esse tipo de visualizao;
Figura 2: Imagem do jogo Tomb Raider
- Visualizao Axonomtrica: Diversos jogos 2D utilizaram a tcnica da
visualizao por projeo axonomtrica atravs do uso de Sprites (9.1) com
diferentes posicionamentos, permitindo a percepo tridimensional, porm, sem
apresentar a noo de profundidade, pois mantm o paralelismo entre retas
paralelas. Atualmente jogos 3D com esse tipo de visualizao consistem em
definir uma cmera posicionada para ger-la. Dentre os jogos nessa categoria
encontram-se os jogos de estratgia em tempo real mais recentes, tais como
30
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
31/198
Emperor, Battle for Dune [Figura 3], da Westwood e Star Trek Armada, da
Interplay.
Figura 3: Imagem do jogo Emperor, Battle for Dune
2.3. Classificao por Ambientao
Uma das partes fundamentais na definio das funcionalidades do motor de um
jogo o seu ambiente, pois ele caracteriza objetos, formas de iluminao, limites de
movimentao, etc. Apesar de diversas caractersticas de um jogo serem
imprevisveis, alguns modelos bsicos de ambientao podem ser definidos. A
combinao de funcionalidades genricas de ambientao com outras dos motores
de jogo cria uma gama maior de funcionalidades teis para o desenvolvimento do
ambiente de jogo. Os ambientes bsicos se resumem a:
1.9. Ambientes Internos
So ambientes fechados, normalmente conhecido como dungeons ou
masmorras, muito popular entre jogos de 1a. pessoa como o Quake[Figura 1] ou o
Doom, da ID Entertainment, onde a iluminao nitidamente artificial, pois provm
31
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
32/198
de fontes de luz como tochas ou spotlights. Geralmente a iluminao esttica,
porm h a possibilidade de iluminao dinmica. O ambiente constitudo de salas
e suas interconexes, tais como, corredores e portas, de forma similar planta de
uma casa.
1.10. Ambientes Externos
So ambientes abertos criados a partir de geradores de terreno ou por um mapa
de altitude, denominado Voxel (9.1), geralmente com iluminao ambiente e a
possibilidade de contar com outras fontes de luz. Os ambientes externos,
geralmente, simulam o cu por meio de uma caixa ou domo texturizado denominado
de SkyBox16. Esse tipo de ambientao muito utilizado em jogos de simulao
(2.1), principalmente aqueles que operam com avies ou automveis, tal como o F1
World Grand Prix[Figura 4] da Eidos Interactive.
Figura 4: Imagem do jogo F1 World Grand Prix
1.11. Espao Sideral
So ambientes que simulam o espao sideral renderizando estrelas, planetas,
nebulosas e outros objetos espaciais. Geralmente possuem iluminao varivel de
16
SkyBox: Forma geomtrica, geralmente um domo ou uma caixa, com textura de cu que contm todo oambiente do jogo.
32
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
33/198
acordo com as fontes de iluminaes (sois) disponveis no sistema sideral em que o
personagem se encontra. Exemplos de jogos que se caracterizam por essa
ambientao so Privateer I e II[Figura 5] da Origin Systems.
Figura 5: Imagem do jogo Privateer II
1.12. Ambientes Mistos
Ambientes mistos podem ser compostos por dois ou pelos trs tipos de
ambientes apresentados de maneira a criar uma aplicao mais atrativa aoconsumidor, porm, a estrutura do sistema da aplicao deve ser capaz de gerenciar
os mtodos necessrios para processar os diferentes tipos de informao inerentes
a cada tipo de dado representativo da ambientao.
33
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
34/198
2.4. A Estrutura de um Jogo
Jogos de computador so constitudos por trs extensos componentes, sendo
eles:
a) O enredo, responsvel pelo tema, trama e objetivos do jogo, fatores que no
envolvem apenas pesquisa e criatividade, mas tambm uma interao com
psiclogos, roteiristas e especialistas no assunto [2];
b) Uma interface interativa, responsvel pela comunicao entre o motor e o
usurio, desenvolvida a partir de conceitos tcnicos e cognitivos onde o valor
artstico da interface tem por finalidade valorizar a apresentao do jogo, de
forma a criar um ambiente atraente ao usurio e aumentar a sua satisfao
ao jogar, e;
c) Um motor (biblioteca de produo), responsvel por controlar o jogo e os
estados de seus personagens de acordo com a ao do usurio ou a
interao entre os personagens, analisados no(8).
De acordo com Battaiola [2], o sucesso de um jogo est associado combinao
perfeita destes componentes.
Dentre os trs componentes analisaremos mais especificamente o motor de um
jogo (8), o qual diz respeito contextualizao do trabalho aqui desenvolvido.
34
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
35/198
Captulo 3. - Jogos como Aplicaes Multimdia
Sistemas multimdia integram uma grande variedade de mdias com diferentes
caractersticas temporais, como, por exemplo, as mdias dependentes do tempo, tais
como, vdeo, udio ou animao e as mdias que no so dependentes do tempo,
como textos, grficos ou imagens [6].
Inicialmente jogos por computador apresentavam apenas animaes
rudimentares; rudos sonoros e textos. A evoluo dos processadores permitiu que
fosse adicionada complexidade aos jogos. Os processadores grficos permitiram
que, aos poucos, imagens fossem inseridas no contexto do jogo gerando, portanto,
aplicaes mais interessantes. As placas de som permitiram que sons primorosos
fossem adicionados, aumentando o trabalho dos produtores de jogos devido
exigncia de msicas e efeitos sonoros bem elaborados, incrementando a qualidade
inerente do produto, adicionando mais temperamento ao enredo e fixando a ateno
do jogador cada vez mais.
Neste contexto, os modernos jogos por computador apresentam, pelo menos,
cinco dos componentes de sistemas multimdia citados acima, a saber, vdeo, udio,
imagens estacionrias, texto e animao, sendo que alguns ainda apresentam
grficos analticos para indicar o rendimento do jogador perante o computador ou
perante outros jogadores.
Alm disso, uma das caractersticas fundamentais dos jogos por computador a
integrao e sincronizao das mdias de acordo com a temporizao do sistema e
tambm de acordo com a interao do usurio.
35
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
36/198
Conclui-se, portanto, que jogos por computador so sistemas que exploram de
maneira intensiva o conceito de multimdia, utilizando todos os recursos oferecidos
pelo computador de maneira a entreter o usurio.
Por ser um sistema que faz uso intensivo das diversas mdias oferecidas pelo
computador, jogos por computador exigem uma srie de requisitos para operarem a
contento.
Abaixo se detalha os requisitos que um jogo deve ter, bem como suas
respectivas funes dentro do contexto do jogo. Grficos e animaes, por fazerem
parte do projeto desenvolvido, sero analisados em captulos separados.
3.1. Vdeo
Vdeo um elemento muito usado em jogos por computador. No entanto, muitas
vezes, os desenvolvedores de jogos no sabem como utiliz-lo adequadamente.
Observe que quando bem usado, o vdeo pode aumentar o prazer e a compreenso
da trama do jogo, reforar uma narrativa, introduzir um personagem, etc. Quando
mal usado, ele pode matar o jogo [7].
Os vdeos imersos em ambientes interativos foram denominados inicialmente de
vdeos interativos. Atualmente, a nomenclatura adotada FMV (Full-Motion Video),
significando vdeo com movimentao total.
A histria de uso de vdeos em jogos comea em 1983 com Dragons Lair, o
primeiro a usar vdeo analgico mesclado com objetos de jogo. Sherlock Holmes:
Consulting Detective, liberado em 1992, foi o primeiro a usar vdeo digital. O primeiro
jogo com vdeo de sucesso foi The 7th Guest, da Trilobyte, liberado em 1993. O mais
popular de todos foi Myst, da Cyan, jogo liberado para PC em 1994 e que contribuiu
36
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
37/198
para expandir significativamente o mercado de entretenimento interativo e de drivers
para CD. Mystutilizou adequadamente o vdeo atravs de pequenas inseres que
se casam com o contexto geral do ambiente do jogo. Na seqncia, vieram os bons
jogos Phantasmagoria, 1996, e Wing Commander III.
Uma regra importante para a utilizao de vdeos em jogos o da naturalidade
da transio, ou seja, a mudana de vdeo para a animao grfica e vice-versa
deve estar totalmente de acordo com o contexto do jogo, possibilitando que, em
alguns casos, o usurio nem a perceba. O uso de um vdeo longo e maante no
comeo do jogo, ou ento, de vdeos curtos e desconexos da trama no comeo de
cada nvel no um procedimento que vai ao encontro desta regra.
Os cuidados que devem ser tomados com a insero de vdeos em jogos so:
- Vdeo entrelaado: O vdeo entrelaado, ou seja, a imagem dividida
em duas partes, um conjunto de linhas horizontais pares e mpares (1, 2, 3,
4, ...). As linhas pares so capturadas 1/60 de segundo depois das linhas
mpares. Quando os objetos filmados se movimentam muito rapidamente,
durante a exibio do vdeo no computador, surgem borres com padres que
evoluem em escada e ocasionam um efeito visual muito ruim. A maioria dos
programas de edio digital de vdeo permite o desentrelaamento do vdeo.
- Taxa de exibio de quadros errada: Vdeos normalmente tm taxa de
30 fps (quadros por segundo) e filmes de 24 fps. Estas taxas tm de ser
compatibilizadas para evitar problemas de sincronizao nas cenas. Programas
como o Media Cleaner Pro 4 da Terran Interactive tratam deste tipo de
converso.
37
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
38/198
- Manchas nas bordas: Quase sempre possvel se encontrar manchas
nas bordas de vdeos analgicos que no so vistos em um monitor de TV, mas
sim no de um computador. Estas manchas tem de ser cortadas das bordas.
- Atores ruins: A escolha dos atores deve ser feita com cuidado, pois h
um ditado entre os diretores de produo de vdeo de que um bom ator no
repete a sua boa performance em um grande palco com platia na frente da
objetiva de uma cmera.
- Dilogos ruins e pobres: Usualmente o dilogo mais difcil de ser
finalizado do que a encenao. Isto porque sons so uma constante em jogos e
normalmente se considera sua produo mais simples do que a do vdeo, o que
nem sempre verdadeiro. Alm do esmero tcnico, necessrio que os atores
responsveis pela dublagem tenham experincia e aptido para a tarefa.
Adicionalmente, preciso que os tcnicos de som tenham a qualificao
requerida para a produo de um som limpo e claro.
- udio de 8-bit: O recomendvel nunca se usar udio de 8 bit. Os
modernos compactadores de som (codecs) geram arquivos maiores e de menor
qualidade sonora para o udio de 8-bit do que para o de 16-bit.
-
Combinao inadequada do vdeo com o fundo renderizado: Devehaver um casamento perfeito entre os elementos de ao no vdeo (ator, armas,
motos, etc) recortados pela tcnica do cromaqui, descrita a seguir, e o fundo
renderizado do jogo. O ideal o produtor do cromaquiter uma idia do fundo do
jogo em termos de cores, luzes, materiais, etc, para poder planejar as tomadas e
possibilitar este casamento.
38
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
39/198
- Requisitos tcnicos do vdeo diferentes dos de todo o jogo : Os jogos
so planejados para serem jogados em um computador com uma configurao
mnima. Se a qualidade do vdeo exigir uma configurao mais sofisticada,
detalhes sofisticados de cenas, ou at o todo, podero no ser vistos.
O cromaqui uma tcnica que consiste em filmar uma cena em que o cenrio de
fundo totalmente pintado de verde ou azul, o qual depois ser removido e
substitudo por uma imagem, animao grfica ou outro vdeo. Tradicionalmente, a
tcnica utilizava equipamentos pticos especiais para a eliminao do fundo.
Atualmente, placas grficas permitem a captura do vdeo por um computador e a
sua edio atravs de programas especficos que possibilitam tambm a realizao
do cromaqui.
Apesar da tecnologia de compactao de vdeos e da tecnologia de
armazenamento indicarem melhoras na produo e armazm de vdeos digitais o
uso de vdeos em jogos est fadado a ser extinto em um futuro prximo devido aos
seguintes fatores:
- A qualidade atual dos softwares de modelagem e dos modeladores
favorece a criao de modelos perfeitos, muito prximos do real;
- O avano na tecnologia de unidades de processamento grfico,
principalmente no que diz respeito a processamento de grficos 3D, permite que
grficos 3D de qualidade sejam renderizados em tempo real, como, por
exemplo, no jogo Warcraft III, da Blizzard Entertainmente
- O baixo custo da produo das animaes geradas em relao
produo de vdeos, principalmente no que diz respeito a atores, figurinos,
cenrios, assistentes de filmagem, etc.
39
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
40/198
3.2. udio
A funo bsica do udio em um jogo , assim como a do vdeo, atrair a ateno
do usurio. Porm, enquanto vdeos so artifcios apenas de contextualizao do
jogo, udio fundamental para adicionar temperamento aos jogos.
Essa adio se intensifica se considerarmos os avanos tecnolgicos na rea de
udio devido tecnologia de udio ambiental ou 3D, o que faz com que o jogador
tenha noo da provenincia do som.
Atualmente existe uma gama de formatos de arquivos de representao de udio
disponveis para adicionar s capacidades de um motor de jogo. Dentre os diversos
formatos de arquivos de udio cinco deles merecem destaque. So eles:
- WAV: O Microsoft Windows Riff Wave popularizou-se em funo do
grande nmero de plataformas com o Microsoft Windows e seus aplicativos. O
Wav atualmente a base do udio digital, sendo largamente utilizado em efeitos
sonoros. Existem vrios tipos de ferramentas que manipulam este formato,
permitindo a gerao dos mais variados tipos de efeitos, bem como a utilizao
das mais variadas taxas de amostragem. Dependendo da qualidade utilizada
para um arquivo Wav, ele pode requerer uma taxa de transmisso de 40 Mbytes
por minuto, o que o torna muito pesado para operar em computadores de
pequeno porte. Em funo da sua grande difuso, todos os outros formatos
possuem conversores para Wav.
- MIDI:A interface MIDI (Musical Instrument Digital Interface) [8] define uma
linguagem de transmisso de dados digital entre sistemas computacionais,
sintetizadores e instrumentos musicais. A comunicao pode ser feita com base
no protocolo ou em arquivos MIDI. Por exemplo, quando uma nota tocada em
40
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
41/198
um teclado, a porta de comunicao MIDI envia para um sintetizador, ou
computador, conectado a ela, um evento contendo todas as informaes
pertinentes, tais como a nota, a sua velocidade, instrumento, etc. O MIDI no
udio digital, portanto no h a possibilidade de se gravar vozes ou efeitos
sonoros, ele somente mantm a seqncia de notas tocadas e as armazena
como um tipo de som pr-definido, sendo eles variados, como guitarra, teclado,
gaita, etc. Isto acentua a flexibilidade deste tipo de som, pois permite que todas
as suas caractersticas possam ser mudadas facilmente de forma manual
(direta) ou via programa. A caracterstica mais interessante do MIDI o pouco
espao em disco que ele ocupa, por exemplo, um minuto de som com s uma
trilha e sem nenhum evento a ele ligado requer 3Kb, o que, comparado com o
formato Wav e muitos outros, extremamente pequeno. Por trabalhar com
eventos o formato MIDI se torna vivel para a produo de udio interativo, o
que adiciona mais temperamento a um jogo. Atualmente sintetizadores MIDI j
vm embutidos nas placas de som mais comuns e apresentam uma qualidade
de boa a tima, o que favorece a utilizao desse tipo de arquivo em jogos.
- MP3: O formato MP3, Moving Pictures Experts Group Audio Layer 3
compressed audio, objetiva armazenar som compactado. A sua definio
baseada em um modelo psico-acstico, ou seja, o ouvido humano no capaz
de ouvir todas as freqncias, h um limite entre 20Hz e 20KHz e ele mais
sensitivo entre 2KHz e 4 KHz. Assim, um algoritmo elimina grande parte das
freqncias que um ouvido humano possa no escutar e ainda algumas que
possam ser retiradas sem que haja perda na qualidade sonora. Ressalte-se que
esta compactao destrutiva, ou seja, a compactao do MP3 elimina
41
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
42/198
informaes que nunca mais podero ser recuperadas. A maioria dos rippers,
dos codificadores e dos decodificadores trabalha com qualidade igual ao CD e
12 vezes menor que um arquivo igual no formato Wav.
- MP4: Utiliza o mesmo conceito do MP3, porm apresenta melhor
algoritmo de compactao, o que tem aumentado o interesse por ele. O MP3
compacta a uma razo de 11:1 enquanto o MP4 a 16:1. O ganho de 30% advm
de otimizaes realizadas no algoritmo.
- RA: O formato Real Audio foi desenvolvido para uso na Internet. Ele
permite que o som possa ser ouvido com boa qualidade, diretamente pela rede,
em tempo real, sem a necessidade de download.
3.3. Dispositivos de Entrada
Por se tratar de um software interativo imprescindvel que jogos por
computador necessitem de uma interface de comunicao com o usurio para a
entrada de dados representando os eventos que o jogador deseja realizar.
Apesar de que, para computadores, o teclado e o mouse possam suprir todas as
necessidades exigidas pelos jogos desenvolvidos at hoje, muitos jogos,
principalmente os de simulao, se tornam mais atrativos com dispositivos de
entrada especficos.Alguns desses dispositivos possuem, inclusive, funcionalidades de Force
Feedback, que prov ao jogador uma resposta ttil, por exemplo, sendo o dispositivo
de entrada um manche oujoystick(de avio), o avio do jogador, ao ser atingido faz
o manche tremer.
42
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
43/198
Abaixo esto alguns dispositivos cuja entrada pode ser passvel de uso em um
motor de jogo:
1.13. Teclado
o dispositivo mais primordial para um jogo por computador, porm sua grande
quantidade de teclas oferece um conjunto bastante amplo de comandos a serem
implementados nos jogos;
1.14. Joystick
Aps o teclado, ojoystick o segundo dispositivo mais utilizado pelos jogadores.
Ele consiste de uma haste mvel que indica a direo desejada pelo jogador e um
ou mais botes. O joystickpode ou no ter a funcionalidade de force feedback, no
entanto, a maioria dos dispositivos atuais apresentam essa opo.
1.15. Game Pad
Introduzido pela NintendoEntertainment, o game padpossui o mesmo princpio
de operao que o joystick, porm no lugar da haste mvel encontra-se um
direcionador onde o jogador, com o seu polegar, indica a direo desejada. O game
pad possui dois ou mais botes e tambm tem a possibilidade de possuir force
feedback, porm, nesse caso, todo o dispositivo vibra;
1.16. Manche
Manches so dispositivos de entrada projetados especificamente para
simuladores de avio. Ele possui um princpio de operao ligeiramente diferente
dosjoysticks e game pads, pois o manche pode ter a possibilidade de permitir mais
43
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
44/198
graus de movimentao que os dois ltimos dispositivos citados e, assim como eles,
podem ou no possibilitarforce feedback;
1.17. Sistema automobilstico
Como o prprio nome cita, um sistema que consiste em uma direo e um ou
dois pedais de maneira a servir de dispositivo de entrada para simuladores
automobilsticos. Como analogia, os pedais seriam equivalentes movimentao da
haste do joystickpara frente ou para trs e a direo seria equivalente a mover a
haste para a esquerda ou direita. Assim como os outros dispositivos esse sistema
pode ou no ter a opo de force feedback;
1.18. TrackBall
Durante muitos anos o campo de realidade virtual utilizou esse dispositivo como
modo de comunicao com sistemas virtuais. Apesar de ter sido desenvolvido
especificamente para a rea de realidade virtual, o trackballpode ser utilizado para a
comunicao com um ambiente de jogo por computador de maneira eficiente. Uma
possvel utilizao seria para jogos de ao em primeira pessoa, como Quake ou
Descent.
1.19. Mouse
Esse dispositivo, projetado inicialmente sem previso de aplicabilidade, tornou-se
essencial para os sistemas operacionais atuais devido ao seu modo de operao. A
indstria de jogos, aproveitando das capacidades de referncias diretas s
coordenadas de tela, absorveu a idia e projetou jogos cuja jogabilidade se torna
ruim se esse dispositivo no for utilizado como dispositivo de entrada. Tal o caso
44
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
45/198
dos jogos de estratgia em tempo real, como Warcraftou Command&Conquer-Red
Alertque requerem esse dispositivo para uma boa jogabilidade.
1.20. Reconhecimento de Voz
Apesar de ainda no ser aplicvel, o reconhecimento por voz consiste em um
interessante mtodo de interface com aplicaes e, conseqentemente, com jogos.
A viabilizao desse mtodo de entrada de informaes poder causar uma
revoluo no mercado tanto de jogos quanto de aplicaes em geral.
45
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
46/198
Captulo 4. - Grficos
Os grficos surgiram para contextualizar visualmente o cenrio dos jogos.
Antigamente jogos por computador, ou adventures, como eram denominados,
apresentavam uma interface puramente textual, com interao atravs da digitao
de comandos verbais e exibio de respostas baseadas na lgica do jogo.
O primeiro jogo conhecido que apresentou grficos foi desenvolvido no MIT em
1962. Denominado de SpaceWar ele apresentava grficos grotescos e uma
simulao fsica simples, porm ficou marcado, no somente por ser considerado o
primeiro jogo, mas tambm por ser o precursor de grficos em jogos, porm, por ter
sido implementado em um computador acadmico (DEC-PDP1) ele no pode ser
considerado como um produto de consumo.
Apesar de jogos no exigirem, necessariamente, grficos, como no caso dos
antigos adventures, o mercado consumidor desse tipo de aplicao tem sido cada
vez mais exigente quanto a essa caracterstica.
Essa exigncia diz respeito tanto s questes de entretenimento, como efeitos
especiais, animaes baseadas em cartoon, quanto s questes visuais
propriamente ditas, como o foto-realismo.
Um jogo, quanto aos grficos, pode ser classificado em trs tipos: a) 2D; b) 3D e
c) misto.
Jogos 2D, atualmente, utilizam apenas imagens 2D, desenhadas por um artista e
combinadas para formar a aplicao, enquanto que em jogos 3D as imagens so
geradas pelo computador a partir de dados de modelos criados por artistas em
programas de modelagem, como o Blender 3D [9].
46
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
47/198
Jogos mistos apresentam tanto grficos 3D quanto grficos 2D, como o caso do
Escape from Monkey Island, da Lucas Arts, que apresenta personagens 3D
integrados em um cenrio formado por um conjunto de imagens bidimensionais
organizadas em camadas.
Enquanto jogos 2D necessitam apenas de procedimentos para posicionar e
desenhar as imagens, jogos 3D ou mistos necessitam de um conjunto de
procedimentos para gerar as imagens a partir de dados descritivos dos objetos. A
esse conjunto de procedimentos foi atribudo o nome de Renderizador:
4.1. Renderizador
Um dos principais objetivos da computao grfica sintetizar imagens realistas
de ambientes virtuais tridimensionais, isto , ambientes representados como
modelos formais na memria do computador [10].
Ultimamente esse objetivo tem se mostrado cada vez mais prximo de sua
concluso, principalmente devido aos diversos avanos tanto em software,
produzindo algoritmos cada vez mais eficazes e eficientes, quanto em hardware,
produzindo aceleradores grficos cada vez mais velozes.
O processo de sntese de uma imagem de um ambiente virtual tridimensional
chamado de renderizao. Esse processo realizado por sistemas denominados de
sistemas de renderizao que realizam clculos matemticos de projeo e
visualizao atravs de informaes de geometria, textura, iluminao e viso.
No contexto de um jogo 3D sistemas de renderizao so fundamentais,
principalmente por ter que renderizar as cenas muito rapidamente. Esse tipo de
47
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
48/198
sistema de renderizao denominado por sistema de renderizao em tempo real
devido rapidez de processamento das informaes.
Apesar das teorias matemticas, cientficas e computacionais estarem bem
definidas para sistemas de renderizao em tempo real, a aplicabilidade das
mesmas, at pouco tempo atrs, s era vivel em estaes grficas dedicadas ou
com otimizaes por software. Felizmente, o avano na rea de hardware viabilizou
a aplicao da maioria das teorias, proporcionando a criao de aplicaes para as
mais diversas reas. Porm os sistemas de renderizao em tempo real dessas
aplicaes eram sistemas dedicados ou, no caso dos motores de jogos, sistemas
fechados, pouco modulares e caros.
Um sistema de renderizao em tempo real a rea mais interativa da
computao grfica. O usurio age ou reage de acordo com a imagem exibida e
essa retro-alimentao afeta o que ser gerado em seguida. Este ciclo de reao e
renderizao acontece em uma taxa rpida o suficiente que o usurio no percebe
imagens em uma taxa discreta, mas que, ao contrrio, ele se torne imerso em um
processo contnuo [11].
O processo de renderizao consiste em um conjunto bem definido de regras
matemticas de projeo e iluminao que tem por objetivo gerar uma imagem
bidimensional atravs do clculo de projeo de uma cmera virtual que visualizaobjetos tridimensionais com uma determinada textura, a qual pode sofrer
modificaes na colorao e na luminncia de acordo com fontes de luz definidas no
ambiente. A imagem gerada depende de como o sistema calcula a intensidade da
refletncia da luz provinda das fontes de luz e dos outros objetos. Tal clculo
denominado modelo de iluminao.
48
8/14/2019 Projeto de um framework para auxilio no desenvolvimento de aplicaes com grficos 3D e animao
49/198
O processo de renderizao, tambm denominado de pipeline de renderizao
consiste de diversos estgios [12] e definem restries cujos dados no podem ser
enviados para o estgio seguinte caso o estgio atual no esteja finalizado.
O estgio mais demorado do pipeline o responsvel por determinar a
velocidade de renderizao [11]. Essa velocidade pode ser expressa em quadros por
segundo (FPS), que o nmero de imagens geradas por segundo, ou em hertz
(HZ). Dessa forma pode-se realizar processos de otimizao atravs da execuo
de estgios de pipeline em paralelo. Se o gargalo, isto , o estgio mais lento do
pipeline, for conhecido e o tempo que leva para que o dado seja processado por ele
puder ser definido, pode-se computar a velocidade de renderizao permitindo que
modificaes sejam realizadas em outros estgios do pipeline de tal forma que se
reduza o tempo total do processo. Assuma, por exemplo, que o gargalo leve 20ms
(milisegundos) para executar, assim, a velocidade de renderizao seria de
1/0.20=50Hz. Contudo, isso apenas verdadeiro caso o dispositivo de sada for
capaz de atualizar a tela nessa velocidade. Caso contrrio, a taxa real de sada ser
mais baixa.
A Figura 6 demonstra os passos de execuo do processo de renderizao em
um sistema grfico.
Aplicao Geometria Rasterizador
Figura 6: A Construo bsica do pipeline de renderizao