Como usar LUTs em videogames e como você também pode usar
- Em videogames, LUTs (Look-up Tables) são usadas para aplicar técnicas criativas.
- Explica como manipular dados de vídeo em tempo real por meio de um exemplo com WebGL.
- O usuário pode praticar usando seu próprio vídeo ou webcam.
Configuração
- Usa como ponto de partida um vídeo em preto e branco capturado com uma câmera termográfica.
- Envia o vídeo para a GPU via WebGL e o exibe igual ao original usando shaders.
Colorização
- Aplica cor ao vídeo usando um
Fragment Shader, que determina a cor de cada pixel.
- Explica como manipular cores com um exemplo simples aplicando a cor laranja.
Custo de desempenho: zero
- O impacto de desempenho da colorização é praticamente inexistente e, graças ao
latency hiding da GPU, pode ser considerado desprezível.
Uso de colorização pela Valve Software
- No jogo
Left 4 Dead da Valve Software, a colorização é aplicada a modelos de veículos para gerar diversas variações.
LUT - simples, mas poderosa
- Explica como usar LUTs para definir e transformar faixas de cor.
A modesta LUT 1D
- Uma LUT 1D é um array de cores usado para converter vídeo em escala de cinza para RGB.
- Demonstra a conversão de cores usando LUTs 1D de vários tamanhos.
Muitas cores
- Todos os mapas de cores compatíveis com matplotlib são fornecidos como LUTs 1D.
- Recomenda-se usar mapas de cores
Perceptually Uniform.
Ainda não há custo de desempenho?
- No caso de LUTs 1D pequenas, não há grande impacto no desempenho, e o cache da GPU é usado de forma eficiente.
Variedade para zumbis
- Em
Left 4 Dead 2, LUTs são usadas para criar variações de cores nos zumbis.
Pré-cálculo de computações
- LUTs 1D podem ser usadas para armazenar em cache cálculos caros e, por exemplo, aplicar correção de gama rapidamente.
A poderosa LUT 3D
- Uma LUT 3D remapeia cores representando todo o espaço RGB como um único cubo.
Configuração
- Explica o processamento com LUT 3D usando um vídeo com perfil log gravado em uma Panasonic GH6.
Ajuste simples
- Descreve o processo de aplicar correção de cor com DaVinci Resolve e exportar novamente a LUT.
Uso de LUT 3D em Left 4 Dead
- Um fluxo de trabalho amplamente conhecido na indústria de jogos, em que ferramentas externas são usadas para estilizar as cores do jogo.
Aventura avançada
- Explica como exportar transformações complexas de cor como LUT usando ferramentas de color grading como DaVinci Resolve.
Outros usos
- Apresenta outros casos de uso de LUTs, como as LUTs usadas no porte de Tomb Raider para Game Boy Advanced.
Opinião do GN⁺
- LUTs são uma ferramenta poderosa para manipulação de cores e otimização em videogames e programação gráfica. Essa técnica pode oferecer diversos efeitos visuais em renderização em tempo real sem perda de desempenho, sendo útil tanto para desenvolvedores quanto para artistas.
- Ao usar LUTs, é preciso considerar a precisão das cores e a representação visual dos dados. Em especial, é importante entender a relevância de mapas de cores
Perceptually Uniform, inclusive sob a perspectiva de daltonismo.
- Essa técnica pode ser aplicada em diversas áreas, como correção de cor, estilização visual e visualização de dados. Por exemplo, técnicas semelhantes às LUTs usadas para color grading na indústria cinematográfica podem ser aplicadas ao desenvolvimento de jogos.
- O tamanho e a precisão das LUTs podem variar conforme o objetivo de uso e a plataforma, e é necessário entender isso. Por exemplo, na indústria do cinema, LUTs de 33³px são padrão, mas em jogos ou outras aplicações gráficas podem ser necessários tamanhos diferentes.
- Ao usar essa técnica, é importante encontrar um equilíbrio entre representação precisa das cores e otimização de desempenho. Para usar LUTs de forma eficaz, é necessário um entendimento profundo de teoria das cores e programação gráfica.
1 comentários
Comentários do Hacker News
Explicação de como usar tabelas de consulta (LUT) para implementar efeitos
Relato de experiência usando tabelas de consulta para um efeito de túnel com textura
Link de vídeo mostrando como o jogo 'The Legend of Zelda: Wind Waker' usou tabelas de consulta para criar seu visual característico
Aviso de que o autor do texto sobre tabelas de consulta está pronto para responder perguntas.
Explicação sobre a importância das tabelas de consulta no desenvolvimento de jogos retrô
Relato sobre o jogo 'Bobl', da comunidade homebrew de NES, que implementou efeitos físicos impressionantes usando tabelas de consulta
Compartilhamento de um episódio de podcast sobre como o port de 'Doom' para SNES calculava trigonometria usando tabelas de consulta
Reclamação sobre pessoas com conhecimento de programação dinâmica confundirem caching com memoization
Compartilhamento de informações sobre o app para Mac 'Lattice', que lida com tabelas de consulta
Lista de exemplos variados de efeitos usando tabelas de consulta