Metode IDirect3DDevice9::GetLight (d3d9.h)
Mengambil sekumpulan properti pencahayaan yang digunakan perangkat ini.
Sintaks
HRESULT GetLight(
[in] DWORD Index,
[out] D3DLIGHT9 *unnamedParam2
);
Parameter
[in] Index
Jenis: DWORD
Indeks berbasis nol dari properti pencahayaan diatur untuk diambil. Metode ini akan gagal jika properti pencahayaan belum diatur untuk indeks ini dengan memanggil metode IDirect3DDevice9::SetLight .
[out] unnamedParam2
Jenis: D3DLight9*
Penunjuk ke struktur D3DLIGHT9 yang diisi dengan set parameter pencahayaan yang diambil.
Menampilkan nilai
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat D3DERR_INVALIDCALL.
Keterangan
Metode ini tidak akan mengembalikan status perangkat untuk perangkat yang dibuat menggunakan D3DCREATE_PUREDEVICE. Jika Anda ingin menggunakan metode ini, Anda harus membuat perangkat Anda dengan salah satu nilai lain di D3DCREATE.
Ambil semua properti untuk sumber cahaya yang ada dengan memanggil metode IDirect3DDevice9::GetLight untuk perangkat. Saat memanggil metode IDirect3DDevice9::GetLight , lewati indeks berbasis nol dari sumber cahaya yang propertinya akan diambil sebagai parameter pertama, dan berikan alamat struktur D3DLIGHT9 sebagai parameter kedua. Perangkat mengisi struktur D3DLIGHT9 untuk menjelaskan properti pencahayaan yang digunakannya untuk sumber cahaya pada indeks tersebut.
// Assume d3dDevice is a valid pointer to an IDirect3DDevice9 interface.
HRESULT hr;
D3DLight9 light;
// Get the property information for the first light.
hr = pd3dDevice->GetLight(0, &light);
if (SUCCEEDED(hr))
// Handle Success
else
// Handle failure
Jika Anda menyediakan indeks di luar rentang sumber cahaya yang ditetapkan di perangkat, metode IDirect3DDevice9::GetLight gagal, mengembalikan D3DERR_INVALIDCALL.
Saat Anda menetapkan sekumpulan properti cahaya untuk sumber cahaya dalam adegan, sumber cahaya dapat diaktifkan dengan memanggil metode IDirect3DDevice9::LightEnable untuk perangkat. Sumber cahaya baru dinonaktifkan secara default. Metode IDirect3DDevice9::LightEnable menerima dua parameter. Atur parameter pertama ke indeks berbasis nol dari sumber cahaya yang akan dipengaruhi oleh metode , dan atur parameter kedua ke TRUE untuk mengaktifkan cahaya atau FALSE untuk menonaktifkannya. Contoh kode berikut mengilustrasikan penggunaan metode ini dengan mengaktifkan sumber cahaya pertama dalam daftar properti sumber cahaya perangkat.
// Assume d3dDevice is a valid pointer to an IDirect3DDevice9 interface.
HRESULT hr;
hr = pd3dDevice->LightEnable(0, TRUE);
if (SUCCEEDED(hr))
// Handle Success
else
// Handle failure
Periksa anggota MaxActiveLights dari struktur D3DCAPS9 saat Anda mengambil kemampuan perangkat untuk menentukan jumlah maksimum lampu aktif yang didukung oleh perangkat tersebut.
Jika Anda mengaktifkan atau menonaktifkan lampu yang tidak memiliki properti yang diatur dengan IDirect3DDevice9::SetLight, metode IDirect3DDevice9::LightEnable membuat sumber cahaya dengan properti yang tercantum dalam tabel berikut dan mengaktifkan atau menonaktifkannya.
Persyaratan
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |