Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para entender completamente um sombreador que implementa PRT, é útil derivar a fórmula que o sombreador usa para calcular o brilho de saída.
Para começar, a equação a seguir é a equação geral para calcular o brilho de saída resultante da iluminação direta em um objeto difuso com iluminação distante arbitrária.
em que:
| Parâmetro | Descrição |
|---|---|
| Rp | O brilho de saída no vértice p. Avaliado em cada vértice da malha. |
| pd | O albedo da superfície. |
| pi | Uma constante, usada como um fator de normalização de conservação de energia. |
| L(ões) | O ambiente de iluminação (fonte de radiância). |
| Vp₍s₎ | Uma função de visibilidade binária para o ponto p. É 1 se o ponto pode ver a luz, 0 se não. |
| Hnp₍s₎ | O termo cosseno da lei de Lambert. Igual a max((Np· s), 0) onde Np é a superfície normal no ponto p. |
| s | A variável que se integra sobre a esfera. |
Usando funções de base esférica, como harmônicos esféricos, a equação a seguir aproxima o ambiente de iluminação.
em que:
| Parâmetro | Descrição |
|---|---|
| L(ões) | O ambiente de iluminação (fonte de radiância). |
| eu | Um inteiro que soma o número de funções base. |
| O | A ordem dos harmônicos esféricos. |
| leu | Um coeficiente. |
| Yi(s) | Alguma função de base sobre a esfera. |
A recolha destes coeficientes, L', proporciona a aproximação ótima da função L(s) com as funções base Y(s). Substituindo e distribuindo, obtém-se a seguinte equação.
A integral de Yi(s)Vp₍s₎Hnp₍s₎ é um coeficiente de transferência tpi que o simulador pré-calcula para cada vértice na malha. Substituindo isso, obtém-se a seguinte equação.
Alterando isso para notação vetorial, obtém-se a seguinte equação não compactada para calcular a radiância de saída para cada canal.
em que:
| Parâmetro | Descrição |
|---|---|
| Rp | O brilho de saída no vértice p. |
| pd | O albedo da superfície. |
| L' | O vetor de li, e é a projeção do brilho da fonte nas funções de base harmônica esférica. Este é um vetor de ordem² de coeficientes harmônicos esféricos. |
| Tp | Um vetor de transferência order² para o vértice p. O simulador divide os coeficientes de transferência por p. |
Ambos os vetores são um vetor de ordem² de coeficientes harmônicos esféricos, então observe que este é simplesmente um produto ponto. Dependendo da ordem, o ponto pode ser caro para que a compressão possa ser usada. Um algoritmo chamado Clustered Principal Component Analysis (CPCA) comprime eficientemente os dados. Isso permite o uso de uma aproximação harmônica esférica de ordem superior que resulta em sombras mais nítidas.
O CPCA fornece a seguinte equação para aproximar o vetor de transferência.
em que:
| Parâmetro | Descrição |
|---|---|
| Tp | O vetor de transferência para o vértice p. |
| Mk | A média para o cluster k. |
| j | Um inteiro que soma sobre o número de vetores PCA. |
| N | O número de vetores PCA. |
| wpj | O peso do jth PCA para o ponto p. |
| Bkj | O vetor de base jth PCA para o cluster k. |
Um aglomerado é simplesmente um número de vértices que compartilham o mesmo vetor médio. Como obter a média do cluster, os pesos da PCA, os vetores da base da PCA e as ids do cluster para os vértices é discutido abaixo.
Substituindo estas duas equações, obtém-se:
Em seguida, a distribuição do produto ponto produz a seguinte equação.
Porque ambos (Mk· L') e (Bkj· L') são constantes por vértice, a amostra calcula esses valores com a CPU e os passa como constantes para o sombreador de vértice; Como wpj muda para cada vértice, a amostra armazena esses dados por vértice no buffer de vértice.
Tópicos relacionados