Cara: Membuat Buffer Indeks
Buffer indeks berisi data indeks. Topik ini menunjukkan cara menginisialisasi buffer indeks sebagai persiapan untuk penyajian.
Untuk menginisialisasi buffer indeks
- Buat buffer yang berisi informasi indeks Anda.
- Buat deskripsi buffer dengan mengisi struktur D3D11_BUFFER_DESC . Teruskan bendera D3D11_BIND_INDEX_BUFFER ke anggota BindFlags dan berikan ukuran buffer dalam byte ke anggota ByteWidth .
- Buat deskripsi data subsumber daya dengan mengisi struktur D3D11_SUBRESOURCE_DATA . Anggota pSysMem harus menunjuk langsung ke data indeks yang dibuat di langkah pertama.
- Panggil ID3D11Device::CreateBuffer saat melewati struktur D3D11_BUFFER_DESC , struktur D3D11_SUBRESOURCE_DATA , dan alamat pointer ke antarmuka ID3D11Buffer untuk diinisialisasi.
Contoh kode berikut menunjukkan cara membuat buffer indeks. Contoh ini mengasumsikan bahwa
g_pd3dDevice
adalah objek ID3D11Device yang valid dan
g_pd3dContext
adalah objek ID3D11DeviceContext yang valid.
ID3D11Buffer *g_pIndexBuffer = NULL;
// Create indices.
unsigned int indices[] = { 0, 1, 2 };
// Fill in a buffer description.
D3D11_BUFFER_DESC bufferDesc;
bufferDesc.Usage = D3D11_USAGE_DEFAULT;
bufferDesc.ByteWidth = sizeof( unsigned int ) * 3;
bufferDesc.BindFlags = D3D11_BIND_INDEX_BUFFER;
bufferDesc.CPUAccessFlags = 0;
bufferDesc.MiscFlags = 0;
// Define the resource data.
D3D11_SUBRESOURCE_DATA InitData;
InitData.pSysMem = indices;
InitData.SysMemPitch = 0;
InitData.SysMemSlicePitch = 0;
// Create the buffer with the device.
hr = g_pd3dDevice->CreateBuffer( &bufferDesc, &InitData, &g_pIndexBuffer );
if( FAILED( hr ) )
return hr;
// Set the buffer.
g_pd3dContext->IASetIndexBuffer( g_pIndexBuffer, DXGI_FORMAT_R32_UINT, 0 );
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk