C ++ DirectX 9 текстовой ошибки фильтрации с использованием IDirect3DDevice9 :: SetSamplerState - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть проблема, когда я использую IDirect3DDevice9 :: SetSamplerState

void Draw(GraphicsDevice *gDevice, float gameTime)
{
    // here's the problem
    IDirect3DDevice9::SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);
    //Simple RGB value for the background so use XRGB instead of ARGB
    gDevice->Clear(D3DCOLOR_XRGB(0, 100, 100));
    gDevice->begin();

    //Draw logic here.
    if (sprite && sprite->IsInitialized()) sprite->Draw(gameTime);
    gDevice->end();
    gDevice->present();
}

. Ошибка: 'IDirect3DDevice9 :: SetSamplerState': недопустимый вызов нестатической функции-члена, и ссылка на нестатический член должна относиться кконкретный объект

1 Ответ

0 голосов
/ 20 сентября 2019

Вам, вероятно, следует ознакомиться с основами объектно-ориентированного программирования на C ++.

Это утверждение допустимо, только если SetSamplerState является статической функцией в классе IDirect3DDevice9.

Это не так, поэтому вам нужно использовать:

gDevice->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_NONE);

Поскольку вы новичок в программировании DirectX, я настоятельно рекомендую вам изучать Direct3D 11 вместо унаследованного Direct3D 9. В Интернете множество ресурсов, включая Набор инструментов DirectX для DirectX 11 .

...