Harmônicas esféricas
f( X )f( θ , ϕ )
Se você não sabe o que é uma transformação de Fourier, é necessário saber antes de entender as harmônicas esféricas. A transformação de Fourier permite representar um sinal como uma série de ondas seno e cosseno, cada uma com o dobro da frequência da última. Ou seja, você pode representar o sinal como sua média, além de uma onda senoidal cujo comprimento de onda é igual ao comprimento do sinal, além de uma onda senoidal duas vezes maior que o comprimento de onda, e assim por diante. Como a transformação de Fourier fixa você a esses comprimentos de onda específicos, você só precisa registrar a amplitude de cada um.
Geralmente usamos transformadas de Fourier para representar imagens, que são apenas sinais digitais 2D. É útil porque você pode jogar fora algumas das ondas senoidais (ou reduzir a precisão com a qual armazena sua amplitude) sem alterar significativamente a aparência da imagem para os olhos humanos. OTOH, jogar fora os pixels altera muito a aparência da imagem.
Em um sinal amostrado como uma imagem, se você usar o mesmo número de ondas senoidais que havia amostras (pixels) na imagem original, poderá reconstruir a imagem exatamente. Assim, quando começar a jogar fora todas as frequências, estará fazendo o A imagem ocupa menos espaço.
Harmônicas esféricas são como transformadas de Fourier, mas em vez de ondas senoidais, elas usam uma função esférica; portanto, em vez de funções lineares (como imagens), elas podem representar funções definidas na esfera (como mapas do ambiente).
Sondas de luz
Assim como uma imagem padrão registra toda a luz que atinge um determinado ponto através do plano da imagem, uma sonda de luz registra toda a luz que atinge um determinado ponto em todas as direções. Eles saíram primeiro dos efeitos do filme. Se você deseja adicionar um objeto gerado por computador a uma cena do mundo real, é necessário iluminar o objeto sintético com a iluminação do mundo real. Para fazer isso, você precisa saber qual luz atinge o ponto da cena em que o objeto sintético estará. (Nota: embora eu diga "iluminação", você está gravando uma imagem de toda a luz, para que também possa ser usada para reflexões.)
Como você não pode ter uma câmera com uma lente esférica que registra toda a luz atingindo um único ponto de todas as direções, você grava isso tirando fotografias normais de um espelho esférico e, em seguida, reprojetando as imagens em uma esfera.
Fora dos efeitos do filme, é mais comum usar sondas de luz geradas a partir de uma cena artificial. Imagine que você tenha algum algoritmo caro para calcular a iluminação global (IG) em uma cena e também tenha alguns objetos menores se movendo nessa cena (como um nível de jogo com jogadores nela). Você não pode executar o algoritmo GI inteiro toda vez que um objeto se move, portanto, você o executa uma vez com a cena estática e salva as sondas de luz obtidas em vários pontos do nível. Então você pode obter uma boa aproximação ao IG, iluminando o jogador com a sonda de luz mais próxima.
Usando-os juntos
Geralmente, você deseja filtrar as arestas vivas da iluminação global de qualquer maneira, portanto, deseja uma maneira de representá-las que seja compacta e que permita jogar fora as altas frequências. É nisso que as harmônicas esféricas são realmente boas! É por isso que você ouvirá esses dois termos usados muito juntos.
Você calcula probes de luz com seu caro algoritmo GI - normalmente na ferramenta de design de nível, ou talvez uma vez por segundo (em vez de uma vez por quadro), se desejar incluir seus objetos dinâmicos. Você as armazena de maneira barata com harmônicas esféricas - 16 flutuadores são suficientes para uma iluminação de alta qualidade, mas não para reflexos. Em seguida, para cada objeto dinâmico que você deseja iluminar, escolha a sonda de luz mais próxima (ou interpole linearmente várias juntas) e use-a como uma entrada uniforme ou constante para o seu shader. Também é comum usar harmônicos esféricos para representar dados de oclusão ambiental, e é muito barato convencê-lo com a sonda de luz, embora exista alguma complexidade em torno das funções harmônicas esféricas rotativas.