Estou procurando uma documentação que explique os diferentes tipos de (bem os principais de qualquer maneira) algoritmos de particionamento de espaço em 2D e estruturas de dados.
Qualquer indicação além de 'Google e vasculhar centenas de papéis'. Um livro, talvez?
Respostas:
Eu tenho esse tipo de informação espalhada por muitos livros na minha bibliografia, mas atualmente estou longe deles. Mas, pelo que pude reunir da memória e navegar pelo índice online, recordo os seguintes livros:
3D Math Primer para Desenvolvimento de Gráficos e Jogos 1ª Edição ou Matemática para Programação de Jogos 3D e Computação Gráfica
ou
O capítulo 16 (Determinação da visibilidade) do 3D Math Primer para desenvolvimento de gráficos e jogos 1ª edição ( estranhamente os autores parecem ter removido esta seção da segunda edição do livro ) aborda as técnicas mais comuns (por exemplo, sistema de grade, quadtree e octree, bsp árvores, oclusão do portal). O livro é realmente bom, embora talvez não seja o melhor de seu tipo.
Vi Matemática para programação de jogos em 3D e computação gráfica sendo mencionada com muita frequência, mas infelizmente ainda não consegui colocar minhas mãos nela. A partir do sumário, parece cobrir também os algoritmos de particionamento de espaço. Não tenho certeza de como eles se comparam.
Naturalmente, o foco desses livros está na matemática. E embora o título diga 3D, eles também são bastante relevantes para a programação 2D.
Renderização em tempo real 3ª Edição
O capítulo 14 (Algoritmos de aceleração) da renderização em tempo real também aborda a maioria desses tópicos, e este é realmente o meu livro de programação gráfica geral favorito de todos os tempos. Muito abrangente, mas não me lembro quanto cobriu esse assunto em particular.
O foco deste livro está na teoria gráfica, mas abrange uma quantidade tão grande de tópicos que eu dificilmente poderia encontrar uma recomendação melhor para qualquer pessoa interessada no campo.
Gemas de programação de jogos
Os livros anteriores eram principalmente teóricos. Para conselhos mais específicos e práticos , li vários artigos sobre o assunto, espalhados por toda a série Gems de Programação de Jogos . Alguns que vêm à mente:
fonte