PFND3DDDI_SETSTREAMSOURCEFREQ fungsi panggilan balik (d3dumddi.h)
Fungsi SetStreamSourceFreq mengatur pembagi frekuensi sumber aliran yang terikat ke buffer vertex.
Sintaks
PFND3DDDI_SETSTREAMSOURCEFREQ Pfnd3dddiSetstreamsourcefreq;
HRESULT Pfnd3dddiSetstreamsourcefreq(
HANDLE hDevice,
const D3DDDIARG_SETSTREAMSOURCEFREQ *unnamedParam2
)
{...}
Parameter
hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDIARG_SETSTREAMSOURCEFREQ yang menentukan bagaimana pembavisor frekuensi untuk sumber aliran diatur.
Menampilkan nilai
SetStreamSourceFreq mengembalikan S_OK atau hasil kesalahan yang sesuai jika pembagi frekuensi untuk bagian sumber aliran vertex tidak berhasil diatur.
Keterangan
Driver tampilan mode pengguna untuk perangkat yang mendukung vertex shader versi 3.0 dan yang lebih baru harus menerapkan pembagian frekuensi aliran verteks. Untuk model shader vertex versi 2.0 dan yang lebih lama (termasuk fungsi tetap), shader vertex dipanggil sekali untuk setiap puncak. Untuk setiap panggilan, register vertex input diinisialisasi dengan elemen vertex unik dari aliran vertex. Namun, jika driver menggunakan pembagian frekuensi aliran verteks, shader vertex (3.0 dan yang lebih baru) dapat dipanggil untuk menginisialisasi register input yang berlaku pada tingkat yang lebih jarang.
Setelah pembagi frekuensi aliran diatur--misalnya, ke 2--driver harus mengambil data dari aliran dan meneruskan data ini ke vertex input yang berlaku mendaftar setiap 2 simpul. Pembavisor ini memengaruhi setiap elemen dalam aliran.
Driver menggunakan pembagi frekuensi untuk menghitung offset vertex ke dalam buffer vertex sesuai dengan rumus berikut:
VertexOffset = ((VertexIndex / Divider) * StreamStride) + StreamOffset
Untuk setiap aliran puncak yang digunakan, jika driver menerima nilai start-vertex selama panggilan ke fungsi DrawPrimitive driver, driver juga membagi nilai start-vertex ini dengan pembagi frekuensi dan faktor hasil dalam rumus. Nilai start-vertex ini disediakan dalam anggota VStart dari struktur D3DDDIARG_DRAWPRIMITIVE . Rumus berikut menyertakan nilai start-vertex:
VertexOffset = (StartVertex / Divider) +
((VertexIndex / Divider) * StreamStride) + StreamOffset
Perhatikan bahwa rumus sebelumnya menggunakan pembagian bilangan bulat.
Driver mengabaikan pengaturan pembagi frekuensi aliran baik untuk primitif terindeks atau jika driver hanya mendukung model shader vertex yang lebih lama dari versi 3.0 (termasuk fungsi tetap).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |