b'\n_START_ARTICLE_\nOpenSceneGraph\n_START_PARAGRAPH_\nOpenSceneGraph (conhecida tamb\xc3\xa9m por OSG) \xc3\xa9 uma biblioteca com c\xc3\xb3digo aberto, independente da plataforma utilizada, que disponibiliza um conjunto de ferramentas para o desenvolvimento de aplica\xc3\xa7\xc3\xb5es gr\xc3\xa1ficas de elevado desempenho tais como simuladores de voo, jogos, a realidade virtual e simula\xc3\xa7\xc3\xb5es 3D de alta performance. A sua utiliza\xc3\xa7\xc3\xa3o pode ser efetuada nas diversas plataformas existentes, como Linux, Microsoft Windows, FreeBSD, MAC OS X, a Solaris, a HP-UX, a AIX. N\xc3\xa3o possui suporte funcional para aglomerados. De modo a suportar um ambiente do tipo de um aglomerado pode-se recorrer ao aux\xc3\xadlio do Chromium ou VRJuggler._NEWLINE_Baseado em torno do conceito de um grafo de cena, fornece um objeto/estrutura orientada ao n\xc3\xadvel alto do OpenGL, evitando que o utilizador execute a implementa\xc3\xa7\xc3\xa3o e otimiza\xc3\xa7\xc3\xa3o recorrendo aos gr\xc3\xa1ficos de n\xc3\xadvel baixo, e fornecendo muitas utilidades adicionais para o desenvolvimento r\xc3\xa1pido de aplica\xc3\xa7\xc3\xb5es gr\xc3\xa1ficas.\n_START_SECTION_\nPontes Fortes\n_START_PARAGRAPH_\nOs pontos chave e fortes do OpenSceneGraph s\xc3\xa3o o desempenho, o estabilidade, a portabilidade e os ganhos da produtividade associados com o facto de usar uma imagem gr\xc3\xa1fica inteiramente caracterizada._NEWLINE_O objetivo do OpenSceneGraph \xc3\xa9 fazer com que todos os interessados possam livremente representar graficamente, utilizando toda a tecnologia dispon\xc3\xadvel, quer a um n\xc3\xadvel comercial ou n\xc3\xa3o.\n_START_SECTION_\nProjeto\n_START_PARAGRAPH_\nO OSG utiliza v\xc3\xa1rios conceitos de orienta\xc3\xa7\xc3\xa3o a objeto e padr\xc3\xb5es de projeto. Entre os diversos padr\xc3\xb5es de projeto que o OSG implementa est\xc3\xa3o a cadeia de responsabilidade (chain of responsability), a composi\xc3\xa7\xc3\xa3o (composite) e o visitante (visitor)._NEWLINE_A cadeia de responsabilidade \xc3\xa9 empregada na cria\xc3\xa7\xc3\xa3o de leitores dos arquivos de modelo e imagem que comp\xc3\xb5em a cena. Os leitores s\xc3\xa3o criados como plug-ins din\xc3\xa2micos._NEWLINE_No OSG, qualquer an\xc3\xa1lise do grafo \xc3\xa9 feito atrav\xc3\xa9s do padr\xc3\xa3o visitante. A figura 2 ilustra as classes abstratas que comp\xc3\xb5em este padr\xc3\xa3o. A classe Node \xc3\xa9 a classe raiz de todos os objetos que ser inseridos no grafo de cena. Dela herda a classe Group, empregando o padr\xc3\xa3o composi\xc3\xa7\xc3\xa3o._NEWLINE_Um grupo cont\xc3\xa9m uma lista de n\xc3\xb3s filhos. E cada n\xc3\xb3 mant\xc3\xa9m sua lista de pais. No OSG \xc3\xa9 permitido que um n\xc3\xb3 tenha v\xc3\xa1rios pais a fim de haver compartilhamento de n\xc3\xb3s em locais diferente do grafo._NEWLINE_A classe NodeVisitor \xc3\xa9 a classe m\xc3\xa3e de todos os visitantes. Ela permite percorrer o grafo de cima para baixo, de baixo para cima ou em percurso redefinido pelo m\xc3\xa9todo virtual "traverse" das subclasses de Node. Alguns grafos de cena, como o Performer, somente permitem o percurso de cima para baixo ou vice-versa. Uma das vantagens do OSG \xc3\xa9 facilitar a redefini\xc3\xa7\xc3\xa3o do percurso que, apesar de n\xc3\xa3o ser necess\xc3\xa1ria para o algoritmo de c\xc3\xa9lula/portal, facilita a sua implementa\xc3\xa7\xc3\xa3o.\n_START_SECTION_\nHist\xc3\xb3ria\n_START_PARAGRAPH_\nO OpenSceneGraph, vulgo OSG, foi inicialmente criado por Don Burns em 1998 de modo a poder executar um simulador de asa delta, originalmente desenvolvido para o sistema operativo IRIX da SGI sobre o Performer, num PC com Linux._NEWLINE_Eventualmente cresceu e atraiu uma comunidade de desenvolvimento. O aumento da procura e interesse nesta solu\xc3\xa7\xc3\xa3o levou um dos autores, Robert Osfield, a criar uma empresa de suporte. Tem existido um esfor\xc3\xa7o cont\xc3\xadnuo de melhoramento desta solu\xc3\xa7\xc3\xa3o, sendo lan\xc3\xa7adas regularmente novas vers\xc3\xb5es com mais funcionalidades, bem como suporte para as novas plataformas 64-bit para PCs da arquitetura X86-64.'