Bagikan melalui


Efek turbulensi

Gunakan efek turbulensi untuk menghasilkan bitmap berdasarkan fungsi kebisingan Perlin.

Efek turbulensi tidak memiliki gambar input.

CLSID untuk efek ini CLSID_D2D1Turbulence.

Contoh gambar

contoh efek cuplikan layar memperlihatkan output efek turbulensi.

Efek Turbulensi menghitung jumlah satu atau beberapa oktaf fungsi kebisingan Perlin. Kebisingan Perlin adalah fungsi pseudo-random yang nilainya tergantung pada nilai frekuensi, posisi, dan benih. Efeknya menghasilkan nilai RGBA menggunakan salah satu persamaan ini.

Jika Anda memilih mode kebisingan D2D1_TURBULENCE_NOISE_FRACTAL_SUM, efeknya menggunakan persamaan ini.

Cuplikan layar yang memperlihatkan fungsi turbulensi yang digunakan untuk menghasilkan bitmap.

Jika Anda memilih mode kebisingan D2D1_TURBULENCE_NOISE_TURBULENCE, efeknya menggunakan persamaan ini.

fungsi turbulensi yang digunakan untuk menghasilkan bitmap.

Catatan

Fungsi ini PerlinNoise memiliki rentang [-1, 1].

Efek ini menghasilkan nilai piksel dalam alfa yang telah ditentukan sebelumnya.

Properti efek

Nama tampilan dan enumerasi indeks Deskripsi
Offset
D2D1_TURBULENCE_PROP_OFFSET
Koordinat tempat output turbulensi dihasilkan.
Algoritma yang digunakan untuk menghasilkan kebisingan Perlin tergantung pada posisi, sehingga offset yang berbeda menghasilkan output yang berbeda. Properti ini tidak terikat dan unit ditentukan dalam DIP
Catatan: Offset tidak memiliki efek yang sama dengan terjemahan karena output fungsi kebisingan tidak terbatas dan fungsi akan membungkus ubin.
Jenisnya D2D1_VECTOR_2F.
Nilai defaultnya adalah {0.0f, 0.0f}.
Ukuran
D2D1_TURBULENCE_PROP_SIZE
Ukuran output turbulensi.
Properti ini tidak terikat dan unit ditentukan dalam DIP

Jenisnya D2D1_VECTOR_2F.
Nilai defaultnya adalah {0.0f, 0.0f}.
BaseFrequency
D2D1_TURBULENCE_PROP_BASE_FREQUENCY
Frekuensi dasar ke arah X dan Y. Properti ini adalah float dan harus lebih besar dari 0. Unit ditentukan dalam 1/DIP.
Nilai 1 (1/DIP) untuk frekuensi dasar menghasilkan kebisingan Perlin yang menyelesaikan seluruh siklus antara dua piksel. Interpolasi mudah untuk piksel ini menghasilkan piksel yang sepenuhnya acak, karena tidak ada korelasi antara piksel.
Nilai 0,1(1/DIP) untuk frekuensi dasar, fungsi kebisingan Perlin mengulangi setiap 10 DIP. Ini menghasilkan korelasi antara piksel dan efek turbulensi umum terlihat.
Jenisnya D2D1_VECTOR_2F.
Nilai defaultnya adalah {0.01f, 0.01f}.
NumOctaves
D2D1_TURBULENCE_PROP_NUM_OCTAVES
Jumlah oktaf untuk fungsi kebisingan. Properti ini adalah UINT32 dan harus lebih besar dari 0.
Jenisnya adalah UINT32.
Nilai default adalah 1.
Benih
D2D1_TURBULENCE_PROP_SEED
Benih untuk generator acak pseudo. Properti ini tidak terbatas.
Jenisnya adalah UINT32.
Nilai default adalah 0.
Derau
D2D1_TURBULENCE_PROP_NOISE
Mode kebisingan turbulensi. Properti ini bisa berupa jumlah fraktal atau turbulensi. Menunjukkan apakah akan menghasilkan bitmap berdasarkan Kebisingan Fraktal atau fungsi Turbulensi. Lihat Mode kebisingan untuk informasi selengkapnya.
Jenisnya D2D1_TURBULENCE_NOISE.
Nilai defaultnya adalah D2D1_TURBULENCE_NOISE_FRACTAL_SUM.
Dapat dijahit
D2D1_TURBULENCE_PROP_STITCHABLE
Mengaktifkan atau menonaktifkan jahitan. Frekuensi dasar disesuaikan sehingga bitmap output dapat dijahit. Ini berguna jika Anda ingin memiringkan beberapa salinan output efek turbulensi.
  • Benar Bitmap output dapat diurutkan (menggunakan efek petak peta) tanpa munculnya jahitan. Frekuensi dasar disesuaikan sehingga bitmap output dapat dijahit.
  • False Frekuensi dasar tidak disesuaikan, sehingga jahitan dapat muncul di antara petak peta jika bitmap diurutkan.

Jenisnya adalah BOOL.
Nilai defaultnya adalah FALSE.

Mode kebisingan

Enumeration Deskripsi
D2D1_TURBULENCE_NOISE_FRACTAL_SUM Menghitung jumlah oktaf, menggeser rentang output dari [-1, 1], ke [0, 1].
D2D1_TURBULENCE_NOISE_TURBULENCE Menghitung jumlah nilai absolut dari setiap oktaf.

Catatan

Mode tidak berisi klem eksplisit dari nilai output.

Bitmap output

Efek ini menghasilkan bitmap berukuran logis tak terbatas.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Server minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows]
Header d2d1effects.h
Pustaka d2d1.lib, dxguid.lib

ID2D1Effect