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.
Use o efeito de iluminação distante-difusa para criar uma imagem que pareça ser uma superfície não reflexiva com a qual a fonte de luz parece estar vindo de uma longa distância (como o sol ou luzes aéreas) e a luz está espalhada em todas as direções. Este efeito usa o canal alfa como um mapa de altura e ilumina a imagem com uma fonte de luz distante.
A cor do bitmap de saída é resultado da cor da luz, da posição da luz e da geometria da superfície da imagem. A saída de canal alfa para cada pixel com iluminação difusa é sempre 1.0.
O CLSID para este efeito é CLSID_D2D1DistantDiffuse.
Imagem de exemplo
O exemplo aqui mostra as imagens de entrada e saída do efeito de iluminação distante-difusa.
Propriedades do efeito
| Nome de exibição e enumeração de índices | Descrição |
|---|---|
| Azimute D2D1_DISTANTDIFFUSE_PROP_AZIMUTH |
O ângulo de direção da fonte luminosa no plano XY em relação ao eixo X no sentido anti-horário. As unidades são em graus e devem estar entre 0 e 360 graus. O tipo é FLOAT. O valor padrão é 0.0f. |
| Elevação D2D1_DISTANTDIFFUSE_PROP_ELEVATION |
O ângulo de direção da fonte de luz no plano YZ em relação ao eixo Y no sentido anti-relógio. As unidades são em graus e devem estar entre 0 e 360 graus. O tipo é FLOAT. O valor padrão é 0.0f. |
| DifuseConstant D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT |
A relação entre reflexão difusa e quantidade de luz recebida. Esta propriedade deve estar entre 0 e 10.000 e não tem unidade. O tipo é FLOAT. O valor padrão é 1.0f. |
| SurfaceScale D2D1_DISTANTDIFFUSE_PROP_ESCALA_DE_SUPERFÍCIE |
O fator de escala na direção Z. A escala de superfície é sem unidade e deve estar entre 0 e 10.000. O tipo é FLOAT. O valor padrão é 1.0f. |
| Cor D2D1_DISTANTDIFFUSE_PROP_COLOR |
A cor da luz que entra. Esta propriedade é exposta como um D2D1_VETOR_3F (R, G, B) e usada para calcular LR, LG, LB. O tipo é D2D1_VETOR_3F. O valor padrão é {1.0f, 1.0f, 1.0f}. |
| KernelUnitLength D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH |
O tamanho de um elemento no kernel Sobel usado para gerar a superfície normal na direção X e Y. Esta propriedade corresponde aos valores de dx e dy no gradiente Sobel. Esta propriedade é um D2D1_VETOR_2F (Kernel Unit Length X, Kernel Unit Length Y) e é definida em (píxeis independentes do dispositivo (DIPs)/Unidade do Kernel). O efeito usa interpolação bilinear para dimensionar o bitmap para corresponder ao tamanho dos elementos do kernel. O tipo é D2D1_VETOR_2F. O valor padrão é {1.0f, 1.0f}. |
| Modo de escala D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE |
O modo de interpolação que o efeito utiliza para ajustar a imagem ao comprimento unitário correspondente do kernel. Existem seis modos de escala que variam em qualidade e velocidade. O tipo é D2D1_DISTANTDIFFUSE_SCALE_MODE. O valor padrão é D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR. |
Modos de escala
| Enumeração | Descrição |
|---|---|
| D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR | Recolhe amostras do ponto único mais próximo e utiliza-o. Este modo usa menos tempo de processamento, mas produz a imagem de menor qualidade. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR | Utiliza uma amostra de quatro pontos e interpolação linear. Este modo produz uma imagem de qualidade superior à do vizinho mais próximo. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC | Usa um núcleo cúbico de 16 amostras para interpolação. Este modo utiliza a maior parte do tempo de processamento, mas produz uma imagem de qualidade superior. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR | Usa 4 amostras lineares dentro de um único pixel para uma boa suavização de borda. Este modo é bom para reduzir em pequenas quantidades em imagens com poucos pixels. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC | Usa filtragem anisotrópica para obter amostras de um padrão de acordo com a forma transformada do bitmap. |
| D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC | Usa um kernel cúbico de alta qualidade de tamanho variável para realizar uma redução prévia da imagem se a redução estiver envolvida na matriz de transformação. Em seguida, usa o modo de interpolação cúbica para a saída final. |
Observação
Se não selecionares um modo, o efeito padrão é D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR.
Requerimentos
| Exigência | Valor |
|---|---|
| Cliente mínimo suportado | Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows] |
| Servidor mínimo suportado | Windows 8 e Atualização da Plataforma para Windows 7 [aplicações de ambiente de trabalho | Aplicações da Loja Windows] |
| Cabeçalho | d2d1effects.h |
| Biblioteca | d2d1.lib, dxguid.lib |