Вопрос How can i fix this problem [LW]

Начинающий
Статус
Оффлайн
Регистрация
1 Фев 2021
Сообщения
37
Реакции[?]
3
Поинты[?]
0
1629367348455.png


You can spoonfeed for me if you know the issue :/
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
28 Фев 2021
Сообщения
9
Реакции[?]
5
Поинты[?]
0
C++:
//from shnx

IDirect3DStateBlock9* pixel_state = NULL; IDirect3DVertexDeclaration9* vertDec; IDirect3DVertexShader9* vertShader;
DWORD dwOld_D3DRS_COLORWRITEENABLE;
DWORD colorwrite, srgbwrite;

void SaveState(IDirect3DDevice9* device)
{
    D3DVIEWPORT9 d3d_viewport;
    device->GetViewport(&d3d_viewport);

    device->CreateStateBlock(D3DSBT_ALL, &pixel_state);
    pixel_state->Capture();

    device->SetVertexShader(nullptr);
    device->SetPixelShader(nullptr);
    device->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);

    device->SetRenderState(D3DRS_LIGHTING, FALSE);
    device->SetRenderState(D3DRS_FOGENABLE, FALSE);
    device->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
    device->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);

    device->SetRenderState(D3DRS_ZENABLE, D3DZB_FALSE);
    device->SetRenderState(D3DRS_SCISSORTESTENABLE, TRUE);
    device->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);
    device->SetRenderState(D3DRS_STENCILENABLE, FALSE);

    device->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE);
    device->SetRenderState(D3DRS_ANTIALIASEDLINEENABLE, TRUE);

    device->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
    device->SetRenderState(D3DRS_ALPHATESTENABLE, FALSE);
    device->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE);
    device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
    device->SetRenderState(D3DRS_SRCBLENDALPHA, D3DBLEND_INVDESTALPHA);
    device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
    device->SetRenderState(D3DRS_DESTBLENDALPHA, D3DBLEND_ONE);

    device->SetRenderState(D3DRS_SRGBWRITEENABLE, FALSE);
    device->SetRenderState(D3DRS_COLORWRITEENABLE, D3DCOLORWRITEENABLE_RED | D3DCOLORWRITEENABLE_GREEN | D3DCOLORWRITEENABLE_BLUE | D3DCOLORWRITEENABLE_ALPHA);
}
void RestoreState(IDirect3DDevice9* pDevice) // not restoring everything. Because its not needed.
{
    pixel_state->Apply();
    pixel_state->Release();
}
 
Похожие темы
Ответы
0
Просмотры
374
Сверху Снизу