Загрузка большого количества мешей в Visual Studio C ++ с отставанием - PullRequest
0 голосов
/ 05 июня 2018

Сейчас я делаю игру в боулинг для школьного проекта с визуальной студией C ++ directx 9, проблема в том, что я пытался загрузить много кегельбанов, и это делает игру очень запаздывающей.Есть ли способ сделать игру оптимизированной (не отставая)?Я делаю это так

D3DXMATERIAL* tempMaterials_pin =
    (D3DXMATERIAL*)bufshipMaterial_pin->GetBufferPointer();

materials_pin = new D3DMATERIAL9[numMaterials_pin];

textures_pin = new LPDIRECT3DTEXTURE9[numMaterials_pin];

for (DWORD i = 0; i < numMaterials_pin; i++) {
    materials_pin[i] = tempMaterials_pin[i].MatD3D;
    materials_pin[i].Ambient = D3DXCOLOR(0.7f, 0.7f, 0.7f, 1.0f);
    materials_pin[i].Diffuse = D3DXCOLOR(1.0f, 1.0f, 1.0f, 0.2f);
    if (FAILED(
        D3DXCreateTextureFromFileA(d3ddev, tempMaterials_pin[i].pTextureFilename, &textures_pin[i]))) {
        textures_pin[i] = NULL;
    }
}
for (DWORD i = 0; i < numMaterials_pin; i++) {
            d3ddev->SetMaterial(&materials_pin[i]);
            if (textures_pin[i] != NULL) {
                d3ddev->SetTexture(0, textures_pin[i]);
            }
        }

        D3DXMATRIX matTranslate_pin;
        for (int j = 0; j < 10; j++) {
            D3DXMatrixTranslation(&matTranslate_pin, 0.0f, 0.0f, 0.0f);
            d3ddev->SetTransform(D3DTS_WORLD, &(matTranslate_pin));

            for (DWORD i = 0; i < numMaterials_pin; i++) {
                mesh_pin[j]->DrawSubset(i);
            }
        }

Я еще не установил координаты, так как я все еще пытаюсь загрузить сетку, и игра становится медленной, я делаю это неправильно?

...