Quais são as vantagens de normais no espaço tangente a normais no espaço de objetos para o cálculo do mapeamento de bump?
Quais são as vantagens de normais no espaço tangente a normais no espaço de objetos para o cálculo do mapeamento de bump?
Respostas:
Tudo realmente.
O único benefício para os normais de espaço de objeto é a simplicidade. Eles são mais fáceis de usar.
Os normais de espaço tangente requerem uma base de espaço tangente, mas oferecem:
A capacidade de usar a mesma textura para superfícies diferentes. Os mapas normais de espaço de objeto só podem ser usados na superfície para a qual foram criados. Ao regularizar os normais no espaço tangente, você obtém a liberdade de usar a mesma textura de relevo para superfícies diferentes. Contanto que a superfície tenha uma base de espaço tangente, você obterá resultados razoáveis.
A capacidade de modificar o mapeamento de textura, com animação UV, por exemplo. Como os mapas normais de espaço de objeto armazenam valores normais no espaço de objeto, você não pode adicionar 0,5 a todas as coordenadas da textura e esperar obter normais adequados a partir da textura. É possível com o mapeamento de saliências no espaço tangente.
Representação de componente menor. Os mapas normais do espaço de objetos devem ter 3 componentes; você não pode largar um e reconstituí-lo no shader. As normais do espaço tangente sempre terão um componente Z positivo, portanto, você pode armazenar apenas o XY da normal. Assim, você pode obter maior precisão usando um GL_RG16_SNORM
ou GL_RG16F
formatos (32 bits por texel) ou empregar compactação usando um formato de imagem compactado RG ( GL_COMPRESSED_SIGNED_RG_RGTC1
, 8 bits por texel). Você pode tentar usar o S3TC em um mapa normal do espaço para objetos, mas boa sorte com o que você recebe.
O máximo que você obtém com os mapas normais do espaço do objeto é menos tempo de computação (não sendo necessário transformar a direção da luz no espaço tangente ou, alternativamente, transformar o normal do espaço tangente no espaço do modelo). Mas isso não é grande coisa, especialmente hoje em dia com renderizadores diferidos por aí.
Uma resposta parcial, para acrescentar à resposta de Nicol.
Muitas vantagens. De acordo com um artigo que encontrei (que também está vinculado nos comentários), ainda existem algumas pequenas desvantagens. No entanto, com artistas que estão acostumados a lidar com esses problemas ou objetos que são de alguma forma menos propensos a esses desafios, essa desvantagem pode não ser muito impactante.
De um artigo sobre mapeamento normal do espaço tangente :
Embora uma boa implementação possa limitar os problemas, a idéia fundamental do mapeamento normal tem suas falhas. Desembrulhar modelos complexos e colocar costuras em áreas menos expostas pode ser complicado para os artistas. As imagens a seguir mostram mapas normais do espaço do objeto (à esquerda) e mapas normais do espaço da tangente (à direita). Aqui, os mapas normais do espaço do objeto causam muito menos problemas, porque a filtragem bilinear suaviza as bordas e as superfícies planas têm apenas uma normal e, portanto, são perfeitamente planas. As costuras no lado esquerdo são muito menos visíveis, pois o sombreamento é independente do layout UV e das distorções do triângulo.
Mapas normais do espaço para objetos:
Mapas normais do espaço tangente: