Resposta curta: "sondas de luz" geralmente significa uma representação harmônica esférica compacta do ambiente. Eles são embaçados porque são muito compactos (apenas algumas dezenas de bytes de armazenamento) e porque são pré-filtrados para uso como iluminação difusa. Expandirei para uma resposta mais longa quando tiver uma chance. :)
Nathan Reed
Existe algum contexto para sua pergunta? O termo "sonda de luz" é ambíguo e usado de maneira diferente em diferentes cenários, algoritmos e mecanismos.
David Kuri
Especificamente, se você já esteve em shadertoy.com, verá dois conjuntos de mapas de cubos disponíveis para uso. Um conjunto é mapas de ambiente, o outro conjunto é o mesmo, mas embaçado, que são rotulados como sondas de luz. Apenas curioso sobre isso e sondas leves em geral.
27615 Alan Wolfe
Respostas:
17
Existem dois significados comuns diferentes de "sonda de luz" que eu conheço. Ambos representam a luz em torno de um único ponto em uma cena, ou seja, o que você veria ao seu redor em todas as direções se você estivesse reduzido a um tamanho minúsculo e permanecesse nesse ponto.
Um significado é uma representação harmônica esférica da luz em torno de um ponto. Harmônicas esféricas são uma coleção de funções definidas sobre um domínio esférico, que são análogas às ondas senoidais que oscilam um certo número de vezes ao redor do equador e de polo a polo na esfera.
Os harmônicos esféricos podem ser usados para criar uma aproximação suave e de baixa resolução de qualquer função esférica, escalando e adicionando um certo número de harmônicos esféricos - geralmente 4 (conhecido como SH linear, de primeiro grau ou de uma banda) ou 9 ( chamado SH quadrático, de segundo grau ou de duas bandas). Isso é muito compacto, porque você só precisa armazenar os fatores de escala. Por exemplo, para SH quadrático com dados RGB, você precisa apenas de 9 * 3 = 27 valores por sonda. Portanto, SH faz uma representação muito compacta, mas também necessariamente muito suave e embaçada, da luz em torno de um ponto. Isso é adequado para iluminação difusa e talvez especular com alta rugosidade.
Esta captura de tela do Blog técnico da Simon mostra uma série de sondas de luz SH espaçadas ao longo de uma cena, cada uma mostrando a iluminação indireta recebida naquele momento:
O outro significado atualmente comum de "sonda de luz" é um mapa de cubo de ambiente cujos níveis de mip foram pré-desfocados em diferentes extensões, para que possa ser usado para iluminação especular com diferentes níveis de rugosidade. Esta imagem do blog de Seb Lagarde mostra a ideia básica:
Os mips de resolução mais alta (para a esquerda) são usados para superfícies altamente polidas, nas quais você precisa de uma imagem refletida detalhada. À direita, os níveis de mip de baixa resolução ficam cada vez mais desfocados e são usados para reflexões de superfícies mais ásperas. Em um sombreador, ao amostrar este mapa de cubo, você pode calcular o nível de mip solicitado com base na rugosidade do material e tirar proveito do hardware de filtragem trilinear.
Esses dois tipos de sondas de luz são usados em gráficos em tempo real para aproximar a iluminação indireta. Embora a iluminação direta possa ser calculada em tempo real (ou pelo menos bem aproximada para as luzes da área), a iluminação indireta geralmente ainda é acionada em um pré-processo offline devido à sua complexidade e sobrecarga computacional.
Tradicionalmente, o resultado do processo de cozimento seria mapas de luz, mas os mapas de luz funcionam apenas para iluminação difusa na geometria estática e, além disso, consomem muita memória. A criação de várias sondas de luz SH (você pode comprar muitas delas porque são muito compactas), além de uma aspersão mais esparsa das sondas de luz cubemap, permite obter iluminação indireta difusa e especular decente em objetos estáticos e dinâmicos. Eles são uma opção popular nos jogos hoje.
Ótima explicação! Apenas para confirmar a parte sobre o uso da filtragem trilinear nos mips ... Os mips são preferidos às texturas de volume porque usam menos resolução e os níveis mais altos de desfoque precisam de menos resolução?
Alan Wolfe
1
Eu diria que esses dois "tipos" de sondas de luz são os mesmos. As sondas de luz são uma medida do brilho (geralmente pré-complicado de alguma forma) recebido em um ponto da cena. Os Cubemaps e o SH são apenas maneiras diferentes de armazenar / calcular uma sonda de luz, fazendo diferentes trocas de armazenamento / desempenho / qualidade. (EDIT: Só para deixar claro, eu concordo com a resposta, eu só acho que é contra-produtivo para pensar neles como coisas separadas.)
yuriks
@AlanWolfe Existe um uso, que consiste em ter mapas para ligações difusas retirados de um ambiente real (chamado bola cinza / bola branca), não apenas especular. Heres um disucssion de ambos Espelho / cinza bola Shaders
joojaa
1
@AlanWolfe Corrija - você precisa de menos resolução nos níveis mais desfocados. Além disso, as texturas de volume do cubemap não são algo que existe no hardware. :)
Respostas:
Existem dois significados comuns diferentes de "sonda de luz" que eu conheço. Ambos representam a luz em torno de um único ponto em uma cena, ou seja, o que você veria ao seu redor em todas as direções se você estivesse reduzido a um tamanho minúsculo e permanecesse nesse ponto.
Um significado é uma representação harmônica esférica da luz em torno de um ponto. Harmônicas esféricas são uma coleção de funções definidas sobre um domínio esférico, que são análogas às ondas senoidais que oscilam um certo número de vezes ao redor do equador e de polo a polo na esfera.
Os harmônicos esféricos podem ser usados para criar uma aproximação suave e de baixa resolução de qualquer função esférica, escalando e adicionando um certo número de harmônicos esféricos - geralmente 4 (conhecido como SH linear, de primeiro grau ou de uma banda) ou 9 ( chamado SH quadrático, de segundo grau ou de duas bandas). Isso é muito compacto, porque você só precisa armazenar os fatores de escala. Por exemplo, para SH quadrático com dados RGB, você precisa apenas de 9 * 3 = 27 valores por sonda. Portanto, SH faz uma representação muito compacta, mas também necessariamente muito suave e embaçada, da luz em torno de um ponto. Isso é adequado para iluminação difusa e talvez especular com alta rugosidade.
Esta captura de tela do Blog técnico da Simon mostra uma série de sondas de luz SH espaçadas ao longo de uma cena, cada uma mostrando a iluminação indireta recebida naquele momento:
O outro significado atualmente comum de "sonda de luz" é um mapa de cubo de ambiente cujos níveis de mip foram pré-desfocados em diferentes extensões, para que possa ser usado para iluminação especular com diferentes níveis de rugosidade. Esta imagem do blog de Seb Lagarde mostra a ideia básica:
Os mips de resolução mais alta (para a esquerda) são usados para superfícies altamente polidas, nas quais você precisa de uma imagem refletida detalhada. À direita, os níveis de mip de baixa resolução ficam cada vez mais desfocados e são usados para reflexões de superfícies mais ásperas. Em um sombreador, ao amostrar este mapa de cubo, você pode calcular o nível de mip solicitado com base na rugosidade do material e tirar proveito do hardware de filtragem trilinear.
Esses dois tipos de sondas de luz são usados em gráficos em tempo real para aproximar a iluminação indireta. Embora a iluminação direta possa ser calculada em tempo real (ou pelo menos bem aproximada para as luzes da área), a iluminação indireta geralmente ainda é acionada em um pré-processo offline devido à sua complexidade e sobrecarga computacional.
Tradicionalmente, o resultado do processo de cozimento seria mapas de luz, mas os mapas de luz funcionam apenas para iluminação difusa na geometria estática e, além disso, consomem muita memória. A criação de várias sondas de luz SH (você pode comprar muitas delas porque são muito compactas), além de uma aspersão mais esparsa das sondas de luz cubemap, permite obter iluminação indireta difusa e especular decente em objetos estáticos e dinâmicos. Eles são uma opção popular nos jogos hoje.
fonte