the purpose is to create a mesh of teapot,get the vertices & index from it,and draw from the vertices and index
ID3DXMesh *Teapot;
D3DXCreateTeapot(dev,&Teapot,NULL);
Teapot->DrawSubset(0);
dev->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xffffffff, 1.0f, 0);
IDirect3DVertexBuffer9 *VertextBuffer;
IDirect3DIndexBuffer9 *IndexBuffer;
DWORD NumFaces=Teapot->GetNumFaces();
DWORD NumVertices=Teapot->GetNumVertices();
DWORD BytesPerVertex=Teapot->GetNumBytesPerVertex();
if(Teapot->GetVertexBuffer(&VertextBuffer)!=D3D_OK)MessageBox(NULL,TEXT("GetVertexBuffer() Failed!!"),TEXT(""),MB_OK);
if(Teapot->GetIndexBuffer(&IndexBuffer)!=D3D_OK)MessageBox(NULL,TEXT("GetIndexBuffer() Failed!!"),TEXT(""),MB_OK);
if(dev->SetStreamSource(0,VertextBuffer,0,BytesPerVertex)!=D3D_OK)MessageBox(NULL,TEXT("SetStreamSource() Failed!!"),TEXT(""),MB_OK);
dev->BeginScene();
if(dev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,0,0,NumVertices,0,NumFaces)!=D3D_OK)MessageBox(NULL,TEXT("DrawIndexedPrimitive() Failed!!"),TEXT(""),MB_OK);
dev->EndScene();
dev->Present(0,0,0,0);
everything's ok!Wonderful!!!
But
if I just delete the code "
Teapot->DrawSubset(0);" at line
5th,the messagebox will tell me
DrawIndexedPrimitive() Failed!!
Just want to know
WHY
WEll,English is my 2nd language so I'm not really good at it,but you know what I mean
Thank you