Witam. Skopiowałem i lekko zmodyfikowalem przykład ze strony warsztat.pl lecz obraz się nie pokazuje, a rendering idzie pełną parą. Co może być przyczyną?
void Render(void)
{
d3ddev->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,0),1.0f,0);
d3ddev->BeginScene();
d3ddev->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
d3ddev->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
for(DWORD i = 0; i < num_material; i++)
{
d3ddev->SetMaterial(&mesh_material[i]);
d3ddev->SetTexture(0,mesh_texture[i]);
mesh->DrawSubset(i);
}
d3ddev->EndScene();
d3ddev->Present(NULL,NULL,NULL,NULL);
}
void LoadObject()
{
LPD3DXBUFFER buffer;
//wczytaj siatkę
if(D3DXLoadMeshFromX(L"bed.x",D3DXMESH_SYSTEMMEM,d3ddev,NULL,&buffer,NULL,&num_material, &mesh) == D3D_OK)
{
D3DXMATERIAL* cMesh_material = (D3DXMATERIAL*)buffer->GetBufferPointer();
mesh_material = new D3DMATERIAL9[num_material];
mesh_texture = new LPDIRECT3DTEXTURE9[num_material];
for (DWORD i = 0; i < num_material; i++)
{
//kopiuj materiał
mesh_material[i] = cMesh_material[i].MatD3D;
//ustaw kolor
mesh_material[i].Ambient = mesh_material[i].Diffuse;
char chtemp[15];
wchar_t wctemp[15];
sprintf(chtemp,"%s","tekstura.bmp");
mbstowcs(wctemp,chtemp,20);
if(D3DXCreateTextureFromFile(d3ddev,wctemp,&mesh_texture[i]) == D3D_OK)
{
Beep(100,100); //<- pomyślnie odtwarza
}
}
}
buffer->Release();
}