Udostępnij za pośrednictwem


Co to są tekstury i obrazy?

Tekstury i obrazy to, na poziomie podstawowym, tylko tabele danych, które są używane do udostępniania szczegółów wizualnych w aplikacjach graficznych. Rodzaj szczegółów zapewnianych przez teksturę lub obraz zależy od sposobu jej użycia, ale przykłady kolorów, wartości alfa (przezroczystość), normalne wartości powierzchni i wartości wysokości są typowymi przykładami. Podstawową różnicą między teksturą a obrazem jest to, że tekstura ma być używana razem z reprezentacją kształtu — zazwyczaj modelu 3D — w celu wyrażenia kompletnego obiektu lub sceny, ale obraz jest zazwyczaj autonomiczną reprezentacją obiektu lub sceny.

Każda tekstura może być kodowana i kompresowana na wiele sposobów, które są ortogonalne dla typu danych, które zawiera tekstura, lub wymiarowości lub "kształtu" tekstury. Jednak różne metody kodowania i kompresji dają lepsze wyniki dla różnych rodzajów danych.

Edytor obrazów umożliwia tworzenie i modyfikowanie tekstur i obrazów w sposób podobny do innych edytorów obrazów. Edytor obrazów udostępnia również funkcje mipmapping i inne funkcje do użycia z grafiką 3D i obsługuje wiele wysoce skompresowanych, przyspieszanych sprzętowo formatów tekstur, które obsługuje DirectX.

Uwaga

Edytor obrazów nie obsługuje obrazów o niskim kolorze, takich jak ikony lub kursory. Aby utworzyć lub zmodyfikować tego rodzaju obrazy, użyj Edytora obrazów dla ikon (C++).

Typowe rodzaje tekstur obejmują następujące formaty:

Mapy tekstur

Mapy tekstur zawierają wartości kolorów uporządkowane jako macierz jednowymiarowa, dwuwymiarowa lub trójwymiarowa. Są one używane do dostarczania szczegółów kolorów dla obiektu, którego dotyczy problem. Kolory są często kodowane przy użyciu kanałów kolorów RGB (czerwony, zielony, niebieski) i mogą zawierać czwarty kanał alfa, który reprezentuje przezroczystość. Rzadziej kolory mogą być kodowane w innym schemacie kolorów lub czwarty kanał może zawierać dane inne niż alfa — na przykład wysokość.

Mapy normalne

Normalne mapy zawierają normalne powierzchnie. Są one używane do udostępniania szczegółów oświetlenia dla obiektu, którego dotyczy problem. Normalne są często kodowane przy użyciu czerwonych, zielonych i niebieskich składników kolorów do przechowywania wymiarów x, y i z wektora. Istnieją jednak inne kodowanie — na przykład kodowanie oparte na współrzędnych polarnych.

Mapy wysokości

Mapy wysokości zawierają dane pola wysokości. Są one używane do zapewnienia formy geometrycznych szczegółów obiektu, którego dotyczy problem — przy użyciu kodu cieniującego w celu obliczenia żądanego efektu lub zapewnienia punktów danych do użycia, takich jak generowanie terenu. Wartości wysokości są często kodowane przy użyciu jednego kanału w teksturze.

Mapy modułów

Mapy modułów mogą zawierać różne typy danych — na przykład kolory lub normalne — ale są zorganizowane jako sześć tekstur na twarzach modułu. W związku z tym mapy modułów nie są próbkowane przez dostarczanie współrzędnych tekstury, ale przez podanie wektora, którego źródłem jest środek modułu; próbka jest pobierana w punkcie, w którym wektor przecina moduł. Mapy modułów są używane do zapewnienia przybliżenia środowiska, które może służyć do obliczania odbicia — jest to nazywane mapowaniem środowiska — lub zapewnienia tekstury dla obiektów sfericznych z mniejszym zniekształceniem niż podstawowe, dwuwymiarowe tekstury mogą zapewnić.

Następne kroki

Dowiedz się, jak używać edytora obrazów w programie Visual Studio do tworzenia i modyfikowania tekstur i obrazów. Edytor obrazów obsługuje zaawansowane formaty tekstur i obrazów, takie jak te, które są używane w programowaniu aplikacji DirectX.