Efeito turbulência
Use o efeito de turbulência para gerar um bitmap com base na função de ruído Perlin.
O efeito de turbulência não tem imagem de entrada.
O CLSID para este efeito é CLSID_D2D1Turbulence.
- Imagem de exemplo
- Propriedades de efeito
- Modos de ruído
- Bitmap de saída
- Requisitos
- Tópicos relacionados
Imagem de exemplo
O efeito Turbulência calcula a soma de uma ou mais oitavas da função de ruído Perlin. O ruído de Perlin é uma função pseudoaleatória cujo valor depende da frequência, posição e valor da semente. O efeito gera os valores RGBA usando uma dessas equações.
Se você selecionar o modo de ruído D2D1_TURBULENCE_NOISE_FRACTAL_SUM, o efeito usará esta equação.
Se você selecionar o modo de ruído D2D1_TURBULENCE_NOISE_TURBULENCE, o efeito usará esta equação.
Observação
A função PerlinNoise
tem um intervalo de [-1, 1].
Este efeito produz valores de pixel em alfa pré-multiplicado.
Propriedades do efeito
Nome para exibição e enumeração de índice | Descrição |
---|---|
Deslocamento D2D1_TURBULENCE_PROP_OFFSET |
As coordenadas onde a saída de turbulência é gerada. O algoritmo usado para gerar o ruído Perlin é dependente da posição, portanto, um deslocamento diferente resulta em uma saída diferente. Esta propriedade não é limitada e as unidades são especificadas em DIPs Nota: O deslocamento não tem o mesmo efeito que uma tradução porque a saída da função ruído é infinita e a função irá envolver o bloco. O tipo é D2D1_VETOR_2F. O valor padrão é {0.0f, 0.0f}. |
Tamanho D2D1_TURBULENCE_PROP_SIZE |
O tamanho da saída de turbulência. Esta propriedade não é limitada e as unidades são especificadas em DIPs O tipo é D2D1_VETOR_2F. O valor padrão é {0.0f, 0.0f}. |
BaseFrequency D2D1_TURBULENCE_PROP_BASE_FREQUENCY |
As frequências de base na direção X e Y. Esta propriedade é um flutuador e deve ser maior que 0. As unidades são especificadas em 1/DIPs. Um valor de 1 (1/DIPs) para a frequência base resulta no ruído Perlin completando um ciclo inteiro entre dois pixels. A interpolação fácil para esses pixels resulta em pixels completamente aleatórios, uma vez que não há correlação entre os pixels. Um valor de 0,1(1/DIPs) para a frequência base, a função de ruído Perlin repete-se a cada 10 DIPs. Isso resulta em correlação entre pixels e o efeito de turbulência típico é visível. O tipo é D2D1_VETOR_2F. O valor padrão é {0.01f, 0.01f}. |
NumOctaves D2D1_TURBULENCE_PROP_NUM_OCTAVES |
O número de oitavas para a função de ruído. Esta propriedade é um UINT32 e deve ser maior que 0. O tipo é UINT32. O valor padrão é 1. |
Sementes D2D1_TURBULENCE_PROP_SEED |
A semente para o gerador pseudo aleatório. Esta propriedade é ilimitada. O tipo é UINT32. O valor padrão é 0. |
Ruído D2D1_TURBULENCE_PROP_NOISE |
O modo de ruído de turbulência. Esta propriedade pode ser soma fractal ou turbulência. Indica se um bitmap deve ser gerado com base em Ruído Fractal ou na função Turbulência. Consulte Modos de ruído para obter mais informações. O tipo é D2D1_TURBULENCE_NOISE. O valor padrão é D2D1_TURBULENCE_NOISE_FRACTAL_SUM. |
Costurável D2D1_TURBULENCE_PROP_STITCHABLE |
Ativa ou desliga a costura. A frequência base é ajustada para que o bitmap de saída possa ser costurado. Isso é útil se você quiser colocar lado a lado várias cópias da saída do efeito de turbulência.
O tipo é BOOL. O valor padrão é FALSE. |
Modos de ruído
Enumeração | Descrição |
---|---|
D2D1_TURBULENCE_NOISE_FRACTAL_SUM | Calcula uma soma das oitavas, deslocando o intervalo de saída de [-1, 1] para [0, 1]. |
D2D1_TURBULENCE_NOISE_TURBULENCE | Calcula a soma do valor absoluto de cada oitava. |
Observação
Nenhum dos modos contém um grampo explícito dos valores de saída.
Bitmap de saída
Esse efeito gera um bitmap de tamanho logicamente infinito.
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 |