Bagikan melalui


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

Lihat juga

IDirect3DDevice9

IDirect3DDevice9::GetLightEnable

IDirect3DDevice9::LightEnable

IDirect3DDevice9::SetLight