Efeito de 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 esse efeito é CLSID_D2D1Turbulence.
- Imagem de exemplo
- Propriedades do efeito
- Modos de ruído
- Bitmap de saída
- Requirements
- 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 perlin é uma função pseudo-aleatória cujo valor depende da frequência, da posição e do 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á essa equação.
Se você selecionar o modo de ruído D2D1_TURBULENCE_NOISE_TURBULENCE, o efeito usará essa equação.
Observação
A PerlinNoise
função tem um intervalo de [-1, 1].
Esse efeito gera valores de pixel em alfa pré-multiplicado.
Propriedades do efeito
Nome de exibição e enumeração de índice | Descrição |
---|---|
Deslocamento D2D1_TURBULENCE_PROP_OFFSET |
As coordenadas em que a saída de turbulência é gerada. O algoritmo usado para gerar o ruído Perlin depende da posição, portanto, um deslocamento diferente resulta em uma saída diferente. Essa 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 de ruído é infinita e a função será encapsulada ao redor do bloco. O tipo é D2D1_VECTOR_2F. O valor padrão é {0.0f, 0.0f}. |
Tamanho D2D1_TURBULENCE_PROP_SIZE |
O tamanho da saída da turbulência. Essa propriedade não é limitada e as unidades são especificadas em DIPs O tipo é D2D1_VECTOR_2F. O valor padrão é {0.0f, 0.0f}. |
BaseFrequency D2D1_TURBULENCE_PROP_BASE_FREQUENCY |
As frequências base na direção X e Y. Essa propriedade é um float 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 concluindo um ciclo inteiro entre dois pixels. A interpolação de facilidade para esses pixels resulta em pixels completamente aleatórios, pois 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 se repete a cada 10 DIPs. Isso resulta em correlação entre pixels e o efeito de turbulência típico é visível. O tipo é D2D1_VECTOR_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. Essa propriedade é um UINT32 e deve ser maior que 0. O tipo é UINT32. O valor padrão é 1. |
Seed D2D1_TURBULENCE_PROP_SEED |
A semente para o gerador pseudo aleatório. Essa propriedade não é limitada. O tipo é UINT32. O valor padrão é 0. |
Ruído D2D1_TURBULENCE_PROP_NOISE |
O modo de ruído de turbulência. Essa propriedade pode ser soma fractal ou turbulência. Indica se é necessário gerar um bitmap com base no 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 |
Liga ou desativa a costura. A frequência base é ajustada para que o bitmap de saída possa ser costurado. Isso será útil se você quiser colocar em bloco 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 octeções, deslocando o intervalo de saída de [-1, 1], para [0, 1]. |
D2D1_TURBULENCE_NOISE_TURBULENCE | Calcula uma soma do valor absoluto de cada octeto. |
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.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
Servidor mínimo com suporte | Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos da Windows Store] |
Cabeçalho | d2d1effects.h |
Biblioteca | d2d1.lib, dxguid.lib |