Porady: eksportowanie tekstury do użycia z Direct2D lub aplikacjami JavaScript
Potok zawartości obrazu może generować tekstury, które są zgodne z konwencjami renderowania wewnętrznego w Direct2D.Tekstury tego rodzaju są odpowiednie do użycia w aplikacjach, które używają Direct2D, oraz w aplikacjach ze Sklepu Windows utworzonych przy użyciu języka JavaScript.
Niniejszy dokument przedstawia te działania:
Konfigurowanie obrazu źródłowego, który ma być przetwarzany przez potok zawartości obrazu.
Konfigurowanie potoku zawartości obrazu do generowania tekstury, która może być używana w aplikacji Direct2D lub JavaScript.
Generowanie pliku .dds ze skompresowanym blokiem.
Generowanie wstępnie przemnożonego kanału alfa.
Wyłącz generowanie mipmappingu.
Konwencje renderowania w Direct2D
Tekstury, które są używane w kontekście Direct2D muszą spełniać poniższe wewnętrzne konwencje renderowania Direct2D:
Direct2D implementuje przezroczystość przy użyciu wstępnie przemnożonego alfa.Tekstury używane z Direct2D muszą zawierać wstępnie przemnożony kanał alfa, nawet jeśli tekstura nie używa przezroczystości ani przejrzystości.Aby uzyskać więcej informacji dotyczących wstępnie przemnożonego kanału alfa, zobacz Porady: eksportowanie tekstury wykorzystującej wstępnie przemnożony kanał alfa.
Tekstury muszą być dostarczane w formacie .dds, przy użyciu jednego z tych formatów kompresji blokowej:
Kompresja BC1_UNORM
Kompresja BC2_UNORM
Kompresja BC3_UNORM
Mipmapy nie są obsługiwane.
Aby utworzyć teksturę, która jest zgodna z konwencjami renderowania Direct2D
Zaczyna się od podstawowej tekstury.Załaduj istniejący obraz lub utwórz nowy w sposób opisany w temacie Porady: tworzenie tekstury podstawowej.Do obsługi kompresji bloku w formacie .dds, należy określić teksturę, która ma szerokość i wysokość będące wielokrotnościami czterech, na przykład 100 x 100, 128 x 128 lub 256 x 192.Mipmapping nie jest obsługiwany, dlatego tekstura nie musi mieć kształtu kwadratu i nie musi być potęgą liczby 2.
Skonfigurować pliku tekstury, dzięki czemu jest przetwarzany przez potok zawartości obrazu.W oknie Eksplorator rozwiązań otwórz menu skrótów dla utworzonego właśnie pliku tekstury, a następnie wybierz polecenie Właściwości.Na stronie Właściwości konfiguracji > Ogólne ustaw właściwość Typ elementu na Potok zawartości obrazu.Upewnij się, że właściwość Zawartość jest ustawiona na Tak, a właściwość Wyłącz z kompilacji jest równa Nie, a następnie wybierz przycisk Zastosuj.Pojawia się strona właściwości konfiguracji Potok zawartości obrazu.
Ustaw format wyjściowy na jeden z formatów skompresowanego bloku.Na stronie Właściwości konfiguracji > Potok zawartości obrazu > Ogólne ustaw właściwość Kompresja na Kompresja BC3_UNORM (/compress:BC3_UNORM).Możesz wybrać dowolny z formantów BC1, BC2 lub BC3, w zależności od wymagań.Direct2D nie obsługuje obecnie tekstur BC4, BC5, BC6 lub BC7.Aby uzyskać więcej informacji o różnych formatach kompresji blokowej, zobacz Kompresja blokowa (Direct3D 10).
[!UWAGA]
Format kompresji, który określono, określa format pliku, który jest wytwarzany przez potok zawartości obrazu.Różni się od właściwości Format obrazu źródłowego w Edytorze obrazu, który określa format pliku obrazu źródłowego w wersji przechowywanej na dysku — to znaczy, w formacie roboczym.Zazwyczaj użytkownik nie chce, aby format roboczy był skompresowany.
Konfigurowanie potoku zawartości obrazu tak, aby uzyskać wyniki korzystające z wstępnie przemnożonego kanału alfa.Na stronie Właściwości konfiguracji > Potok zawartości obrazu > Ogólne ustaw właściwość Konwertuj na format wstępnie przemnożonego kanału alfa na Tak (/generatepremultipliedalpha).
Konfigurowanie potoku zawartości obrazu tak, aby nie generować mipmap.Na stronie Właściwości konfiguracji > Potok zawartości obrazu > Ogólne ustaw właściwość Generuj mipy na Nie.
Wybierz przycisk OK.
Podczas budowania projektu Potok zawartości obrazów konwertuje obraz źródłowy z formatu roboczego do formatu wyjściowego, który określiłeś, konwersja obejmuje generowanie wstępnie przemnożonego kanału alfa, włącznie z poziomami MIP, a wynik jest kopiowany do katalogu wyjściowego projektu.