terça-feira, 25 de outubro de 2011

O Objeto ResourceGroupManager

O objeto ResourceGroupManager é, na realidade, uma espécie de hub para o carregamento de recursos reutilizáveis como texturas e meshes. Através dele o programador pode definir grupos de recursos que podem ser descarregados ou recarregados em conjunto sempre que se precisar. Ao seu favor, estão vários ResourceManagers, que gerenciam os tipos de recursos individualmente - a exemplo dos TextureManager e MeshManager. Nesse contexto, recursos são conjuntos de dados que devem ser carregados para fornecer ao OGRE os dados que ele precisa.

ResourceManagers asseguram que recursos sejam carregados uma única vez e compartilhados através da engine OGRE. Eles também são responsáveis pelos requisitos de memória dos recursos que gerenciam e podem procurar em vários lugares pelos recursos que precisam - inclusive caminhos de busca múltiplos e arquivos compactados (ZIP).

A maior parte do tempo, o programador não lida com ResourceManagers diretamente. Eles são chamados, quando necessário, por outras partes do sistema OGRE. Por exemplo, quando se solicita que uma textura seja aplicada a um material, o TextureManager é chamado automaticamente.

Se preferir, o programador pode manipular diretamente o gerente de recurso apropriado para pré-carregamento de recursos (se, por exemplo, ele quiser evitar o acesso a disco mais tarde) mas não há problema algum em deixar que OGRE decida quando fazer essa manipulação.

Uma coisa que se deve fazer é informar aos gerentes de recursos onde procurar pelos recursos. Isso é feito através da instrução Root::getSingleton().addResourceLocation - que, na verdade, passa a informação para o ResourceGroupManager.

Como só existe sempre uma única instância para cada ResourceManager da engine, se você quiser obter referência a um gerente de recursos, pode fazer como no exemplo a seguir:

TextureManager::getSingleton().algumMetodo() MeshManager::getSingleton().algumMetodo()

Um comentário:

  1. Muito legal passar o conhecimeto para outras pessoas, conteudo de tecnologia e dificil ser encontrado em portugues, parabens e obrigado.

    ResponderExcluir