Lib/DirectX
Indexed Primitive 구현과 Alpha Blending 사용
KingCat
2014. 9. 22. 12:24
// 알파 블렌딩 설정 g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); HRESULT InitIB() { // Index Buffer 설정 MYINDEX indices[] = { {0, 1, 2}, {3, 2, 1} }; if(FAILED(g_pd3dDevice->CreateIndexBuffer(2*sizeof(MYINDEX), 0, D3DFMT_INDEX16, D3DPOOL_DEFAULT, &g_pIB, NULL))) { return E_FAIL; } VOID* pIndices; if(FAILED(g_pIB->Lock(0, sizeof(indices), (void**)&pIndices, 0))) return E_FAIL; memcpy(pIndices, indices, sizeof(indices)); g_pIB->Unlock(); return S_OK; } g_pd3dDevice->SetIndices(g_pIB); g_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 4, 0, 2); // Index Buffer로 그린다.