Sem contar com o objeto Root, o SceneManager e, provavelmente, o objeto mais importante de todos com que voce vai lidar quando estiver desenvolvendo sua aplicacao OGRE. Certamente, sera o objeto mais utilizado tambem.O SceneManager e responsavel pelo conteudo da cena que esta sendo renderizada pela engine. Ele e responsavel por organizar o conteudo usando a tecnica que achar mais adequada para realizar as tarefas de criacao e gerenciamento de cameras, objetos moveis (entidades), luzes e materiais (propriedades superficiais dos objetos), bem como por gerenciar a "geometria global" - que e a geometria estatica mais ampla, geralmente utilizada para representar partes da cena que nao se movem.E ao SceneManager que voce recorre quando quer criar uma camera para a cena! Tambem e atraves dele que se pode adicionar ou remover uma fonte de luz. Ou seja, sua aplicacao nao precisa manter listas dos objetos que estao sendo dispostos: o SceneManager mantem um conjunto de todos os objetos na cena para que o programador possa referencia-los quando precisar. Consulte na API os metodos getLight(), getCamera(), getEntity() e outros.O SceneManager tambem envia a cena para RenderSystem quando e hora de renderizar a cena. No entanto, o programador nunca precisa chamar o metodo _renderScene diretamente. Ele e chamado automaticamente sempre que um objeto que esta sendo renderizado e atualizado.Portanto, a maior parte da interacao do programador com o objeto SceneManager e durante a configuracao da cena em que, possivelmente, e invocada uma grande quantidade de metodos (o que as vezes e guiado por algum arquivo de entrada que contem os dados da cena). Tambem e possivel modificar o conteudo da cena dinamicamente durante o ciclo de renderizacao, caso se crie um objeto FrameListener.Diferentes tipos de cena exigem abordagens algoritmicas muito diferentes para decidir quais objetos sao mandados pro RenderSystem da maneira mais eficiente possivel. Por conta disso, a classe SceneManager foi projetada para ser estendida para diferentes tipos de cena.O objeto SceneManager padrao ira renderizar uma cena mas ele faz muito pouca ou quase nenhuma organizacao de cena e nao se pode esperar que trabalhe de maneira otima (o mais eficientemente possivel) para cenas muito amplas.O intuito de criar especializacoes para a classe SceneManager e justamente que cada uma delas ira otimizar a organizacao da cena para ganhar desempenho, visto que assumem o que pode ser feito para cada tipo de cena. Um exemplo de especializacao e a BspSceneManager, que otimiza a renderizacao para cenas grandes in-door com base em uma arvore BSP.A aplicacao que usa OGRE nao precisa saber quais sao as especializacoes disponiveis. Ela deve simplesmente chamar Root::createSceneManager(..) passando como parametro um dos varios tipos de cena (ST_GENERIC, ST_INTERIOR, etc.). A engine ira automaticamente usar a melhor especializacao de SceneManager para o tipo de cena escolhido ou o padrao caso uma especializacao nao esteja disponivel. Isso permite que os desenvolvedores de OGRE possam criar novas especializacoes para tipos de cena para os quais ainda nao havia especializacao alguma e as aplicacoes usufruam das novas especializacoes sem mudar nada do seu codigo. Finalmente acabaram-se as explicacoes basicas sobre os principais objetos que trabalham para