Кто шарит в Direct 3D
В чем проблема, почему так получается? Посмотрите картинку
А что это должно было быть?
Цитата:
Originally posted by Akela
А что это должно было быть?
А что это должно было быть?
В Direct 3D ты явно не шаришь если спрашиваеш:D
А с чего обычно начинают, конечно с разноцветного квадрата:)
Но я уже нашел в чем моя ошибка - в функции
d3dDevice->Clear(0,
NULL,
D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(R,0,200),
1.0f,
0);
я не указа параметр D3DCLEAR_ZBUFFER, из за этого он такой и получился;)
Цитата:
Originally posted by geza
В Direct 3D ты явно не шаришь если спрашиваеш:D
А с чего обычно начинают, конечно с разноцветного квадрата:)
Но я уже нашел в чем моя ошибка - в функции
d3dDevice->Clear(0,
NULL,
D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(R,0,200),
1.0f,
0);
я не указа параметр D3DCLEAR_ZBUFFER, из за этого он такой и получился;)
В Direct 3D ты явно не шаришь если спрашиваеш:D
А с чего обычно начинают, конечно с разноцветного квадрата:)
Но я уже нашел в чем моя ошибка - в функции
d3dDevice->Clear(0,
NULL,
D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(R,0,200),
1.0f,
0);
я не указа параметр D3DCLEAR_ZBUFFER, из за этого он такой и получился;)
Ну так ты хотя бы FVF привёл или код отрисовки, если спрашиваешь, что не так при рендере.
Например загрузил я чайник, как изменить его координаты?:???:
Вот код загрузки если надо:
ID3DXMesh *pMesh2;
ID3DXBuffer *pBuffer2;
D3DMATERIAL9 *pMeshMaterial2;
IDirect3DTexture9 **pMeshTextures2;
DWORD dwNum;
D3DXLoadMeshFromX("teapod.x",
D3DXMESH_SYSTEMMEM,
d3dDevice,
NULL,
&pBuffer,
NULL,
&dwNum,
&pMesh);
pMeshMaterial = new D3DMATERIAL9[dwNum];
pMeshTextures= new LPDIRECT3DTEXTURE9[dwNum];
D3DXMATERIAL* d3dxMaterials = (D3DXMATERIAL*)pBuffer->GetBufferPointer();
for (DWORD f = 0; f < dwNum; f++)
{
pMeshMaterial[f] = d3dxMaterials[f].MatD3D;
pMeshMaterial[f].Ambient = pMeshMaterial[f].Diffuse;
if(FAILED(D3DXCreateTextureFromFile(d3dDevice,
d3dxMaterials[f].pTextureFilename, &pMeshTextures[f])))
{
pMeshTextures[f] = NULL;
}
}
pBuffer->Release();
а это рендер:
for (DWORD i = 0; i < dwNum; i++)
{
d3dDevice->SetMaterial(&pMeshMaterial);
d3dDevice->SetTexture(0, pMeshTextures);
pMesh->DrawSubset(i);
}