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 |
|
Pustaka |
|
Lihat juga