Compressed textures in DirectDraw7

Odpowiedz Nowy wątek
2006-08-12 00:32
T72
0

Witam, pisze sobie gierke i mam problem ponieważ grafika w BMP troszke dużo zajmuje przydała by mi się jakaś kompresja. W dokumentacji DX7 wyczytałem o czymś takim jak DXT5. Są to podobno jakieś powierzchnie na których da się zapisywać skompresowane obrazy. Próbowałem utworzyć taką powierzchnie ale program mi się nie chce uruchamiać.

DDPIXELFORMAT ddPixelFormat = {0};
ddPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
ddPixelFormat.dwFlags = DDPF_FOURCC;
ddPixelFormat.dwFourCC = FOURCC_DXT5;
ddPixelFormat.dwYUVBitCount = 32;

    dds.dwSize = sizeof(dds);
    dds.dwFlags = DDSD_CAPS |
               DDSD_HEIGHT |
               DDSD_WIDTH |
               DDSD_PIXELFORMAT;

    dds.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
    dds.dwWidth = Width;
    dds.dwHeight = Height;

    memcpy(&(dds.ddpfPixelFormat), &ddPixelFormat, sizeof(DDPIXELFORMAT));

    HRESULT hResult = DD_OK;
    hResult = lpdd->CreateSurface(&dds,&lp,NULL);

Niestety to nie działa. Nie wiem czy w ogóle jestem na dobrym tropie. Jeżeli ktoś miał kiedyś podobny problem i zrobił jakoś kompresje tak żeby nie trzeba było tych strasznych BMP używać to prosił bym o pomoc...

Pozostało 580 znaków

2006-08-12 00:34
0

A czy nie lepiej sprobowac formatu jpg? W necie jest chyba troche bibliotek free.

Pozostało 580 znaków

2006-08-12 17:35
T72
0

Nie bo jpg ma kompresje stratną a w grach nie raz trzeba aby jakiś kolor był przezroczysty. Poza tym takie kompresje podobno również w pamięci zmniejszają rozmiar obrazu a nie tylko na dysku.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0