Bagikan melalui


Antarmuka ID3DXPRTEngine

Antarmuka ID3DXPRTEngine digunakan untuk menghitung simulasi transfer radiasi yang telah dikomputasi sebelumnya (PRT). Metodenya biasanya digunakan offline, untuk menghitung vektor transfer per verteks atau per texel sebelum pemodelan 3D real-time.

Anggota

Antarmuka ID3DXPRTEngine mewarisi dari antarmuka IUnknown . ID3DXPRTEngine juga memiliki jenis anggota berikut:

Metode

Antarmuka ID3DXPRTEngine memiliki metode ini.

Metode Deskripsi
ClosestRayIntersects Menggunakan pelacakan sinar yang efisien dalam simulasi transfer radiasi yang telah dikomputasi sebelumnya (PRT) untuk menentukan apakah sinar bersinggungan dengan jala. Jika persimpangan ditemukan, metode mengembalikan indeks wajah jala terdekat yang terkena sinar dan koordinat barycentric dari titik persimpangan.
ComputeBounce Menghitung pancaran sumber yang dihasilkan dari satu pantulan cahaya yang saling refleks. Metode ini dapat digunakan untuk adegan yang menyala, termasuk model transfer radiasi prakomputasi (PRT) berbasis spherical harmonic (SH).
ComputeBounceAdaptive Menghitung pancaran sumber yang dihasilkan dari satu pantulan cahaya yang saling refleks, menggunakan pengambilan sampel adaptif. Metode ini menghasilkan simpul dan wajah baru pada jala untuk mempertanyakan sinyal transfer radiasi (PRT) yang telah dikomputasi secara lebih akurat. Metode ini dapat digunakan untuk adegan yang menyala, termasuk model PRT berbasis spherical harmonic (SH).
ComputeDirectLightingSH Menghitung kontribusi pencahayaan langsung ke objek 3D di mana cahaya sumber diwakili oleh perkiraan harmonik bulat (SH).
ComputeDirectLightingSHAdaptive Menghitung kontribusi pencahayaan langsung ke objek 3D di mana pancaran sumber diwakili oleh perkiraan harmonik bulat (SH), menggunakan pengambilan sampel adaptif. Metode ini menghasilkan simpul dan wajah baru pada jala untuk mempertanyakan sinyal transfer radiasi (PRT) yang telah dikomputasi secara lebih akurat.
ComputeDirectLightingSHGPU Menggunakan GPU untuk menghitung kontribusi pencahayaan langsung ke objek 3D di mana pancaran sumber diwakili oleh perkiraan harmonik bulat (SH). Menghitung pencahayaan pada GPU umumnya akan jauh lebih cepat daripada pada CPU.
ComputeLDPRTCoeffs Menghitung koefisien transfer radiasi precomputed yang dapat didekomputasi secara lokal (LDPRT) relatif terhadap vektor normal per sampel untuk meminimalkan kesalahan kuadrat terkecil sehubungan dengan input data ID3DXPRTBuffer . Koefisien ini dapat digunakan dengan vektor normal yang dikuliti atau diubah untuk memodelkan efek global pada objek dinamis.
ComputeSS Menghitung radiasi sumber yang dihasilkan dari sebaran subsurface, menggunakan properti material yang ditetapkan oleh ID3DXPRTEngine::SetMeshMaterials. Metode ini hanya dapat digunakan untuk bahan yang ditentukan per vertex dalam objek jala.
ComputeSSAdaptive Menghitung vektor transfer yang memetakan radiasi sumber untuk keluar dari cahaya yang dihasilkan dari sebaran bawah tanah, menggunakan pengambilan sampel adaptif dan properti material yang ditetapkan oleh ID3DXPRTEngine::SetMeshMaterials. Metode ini menghasilkan simpul dan wajah baru pada jala untuk mempertanyakan sinyal transfer radiasi (PRT) yang telah dikomputasi sebelumnya secara lebih akurat. Metode ini hanya dapat digunakan untuk bahan yang ditentukan per vertex dalam objek jala.
ComputeSurfSamplesBounce Menghitung sampel transfer radiasi yang telah dikomputasi sebelumnya (PRT) untuk titik arbitrer (dan vektor normal).
ComputeSurfSamplesDirectSH Komputasi, pada titik arbitrer bukan pada jala, vektor transfer yang memetakan pancaran sumber (diwakili oleh perkiraan harmonik bulat (SH) untuk keluar dari pancaran cahaya.
ComputeVolumeSamples Menghitung proyeksi pencahayaan langsung dari pantulan cahaya sebelumnya ke vektor dasar spherical harmonic (SH) yang mewakili pancaran insiden di lokasi tertentu.
ComputeVolumeSamplesDirectSH Menghitung proyeksi pencahayaan jauh ke vektor dasar spherical harmonic (SH) yang mewakili pancaran insiden di lokasi tertentu.
ExtractPerVertexAlbedo Menyalin nilai albedo per verteks dari jala.
FreeBounceData Membebaskan memori yang digunakan untuk data simulasi cahaya terpental sementara.
FreeSSData Mengosongkan memori yang digunakan untuk data simulasi sebar cahaya bawah antarmuka sementara.
GetAdaptedMesh Mengembalikan jala dengan modifikasi yang dihasilkan dari pengambilan sampel spasial adaptif. Jala yang dikembalikan hanya berisi posisi, normal, dan koordinat tekstur (jika ditentukan).
GetNumFaces Mengambil jumlah wajah dalam jala, termasuk wajah baru yang ditambahkan sebagai hasil dari pengambilan sampel spasial adaptif.
GetNumVerts Mengambil jumlah simpul dalam jala, termasuk simpul baru yang ditambahkan sebagai hasil dari pengambilan sampel spasial adaptif.
GetVertexAlbedo Mengambil nilai albedo dari simpul jala.
MultiplyAlbedo Mengalikan setiap vektor transfer radiasi yang telah dikomputasi sebelumnya (PRT) dengan albedo per-vertex.
ResampleBuffer Mengambil sampel buffer ID3DXPRTBuffer input dan menyimpannya ke buffer output. Metode ini dapat digunakan untuk mengonversi buffer vertex menjadi buffer tekstur dan sebaliknya. Ini juga dapat digunakan untuk mengonversi buffer saluran tunggal menjadi buffer 3 saluran dan sebaliknya.
RobustMeshRefine Membantah wajah pada jala, memungkinkan pengambilan sampel adaptif konservatif yang tidak akan menghilangkan fitur pada jala.
ScaleMeshChunk Menskalakan semua sampel yang terkait dengan submesh tertentu. Metode ini berguna untuk menghitung sebaran subsurface.
SetCallBack Mengatur pointer ke fungsi panggilan balik opsional yang menghitung persentase komputasi spherical harmonic (SH) selesai dan memberi pemanggil opsi untuk membatalkan simulator.
SetMeshMaterials Mengatur properti bahan jala dalam adegan 3D. Gunakan metode ini untuk menentukan parameter sebaran subsurface.
SetMinMaxIntersection Mengatur jarak minimum dan maksimum persimpangan antara objek 3D. Nilai jarak ini dapat digunakan untuk mengontrol jarak minimum atau maksimum yang dapat dibayangi atau dipantulkan objek. Misalnya, metode ini dapat digunakan untuk membatasi bayangan fitur terdekat dari model 3D.
SetPerTexelAlbedo Mengatur nilai albedo untuk setiap texel, menimpa nilai albedo sebelumnya.
SetPerTexelNormal Mengatur vektor normal untuk setiap texel dalam objek tekstur. Metode ini digunakan untuk menyimpan vektor normal verteks dari jala (atau verteks terinterpolasi normal jika transfer radiasi prakomputasi berbasis piksel (PRT) sedang dihitung).
SetPerVertexAlbedo Mengatur nilai albedo untuk setiap puncak jala, menimpa nilai albedo sebelumnya.
SetSamplingInfo Mengatur properti pengambilan sampel yang digunakan oleh simulator transfer radiance (PRT) yang telah dikomputasi sebelumnya.
ShadowRayIntersects Menggunakan pelacakan sinar yang efisien dalam simulasi transfer radiasi yang telah dikomputasi sebelumnya (PRT) untuk menentukan apakah sinar bersinggungan dengan jala. Biasanya digunakan untuk menentukan apakah titik tertentu berada dalam bayangan.

 

Keterangan

Untuk mengonversi dari RGB ke nilai luminance, rumus berikut digunakan:

Luminance = R * 0.2125 + G * 0.7154 + B * 0.0721

Antarmuka ID3DXPRTEngine diperoleh dengan memanggil fungsi D3DXCreatePRTEngine .

Jenis LPD3DXPRTENGINE didefinisikan sebagai penunjuk ke antarmuka ID3DXPRTEngine .

typedef interface ID3DXPRTEngine ID3DXPRTEngine;
typedef interface ID3DXPRTEngine *LPD3DXPRTENGINE;

Persyaratan

Persyaratan Nilai
Header
D3DX9Mesh.h
Pustaka
D3dx9.lib

Lihat juga

Antarmuka D3DX

D3DXCreatePRTEngine

Transfer Radiance Prakomputasi (Direct3D 9)