Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O encapsulamento de textura altera a maneira básica como o Direct3D rasteriza polígonos texturizados usando as coordenadas de textura especificadas para cada vértice. Ao rasterizar um polígono, o sistema interpola entre as coordenadas de textura em cada um dos vértices do polígono para determinar os texels que devem ser usados para cada pixel do polígono. Normalmente, o sistema trata a textura como um plano 2D, interpolando novos texels tomando o caminho mais curto do ponto A dentro de uma textura até o ponto B. Se o ponto A representa a posição u, v (0,8, 0,1) e o ponto B está em (0,1,0.1), a linha de interpolação se parece com o diagrama a seguir.
Observe que a menor distância entre A e B nesta ilustração percorre aproximadamente o meio da textura. Habilitar o encapsulamento de coordenadas u-texture ou v-texture altera a forma como o Direct3D percebe a rota mais curta entre as coordenadas de textura na direção u e na direção v. Por definição, o envolvimento de textura faz com que o rasterizador tome a rota mais curta entre os conjuntos de coordenadas de textura, assumindo que 0,0 e 1,0 são coincidentes. A última parte é a parte complicada: você pode imaginar que habilitar o envolvimento de textura em uma direção faz com que o sistema trate uma textura como se estivesse enrolada em torno de um cilindro. Por exemplo, considere o diagrama a seguir.
A ilustração anterior mostra como o envolvimento na direção u - afeta como o sistema interpola as coordenadas de textura. Usando os mesmos pontos do exemplo para texturas normais ou não embrulhadas, você pode ver que a rota mais curta entre os pontos A e B não está mais no meio da textura; é agora do outro lado da fronteira onde 0.0 e 1.0 existem juntos. O envolvimento na direção v é semelhante, exceto que envolve a textura em torno de um cilindro que está deitado de lado. O envolvimento na direção U e na direção V é mais complexo. Nesta situação, você pode imaginar a textura como um toro, ou donut.
A aplicação prática mais comum para o empacotamento de textura é realizar o mapeamento do ambiente. Normalmente, um objeto texturizado com um mapa de ambiente aparece muito reflexivo, mostrando uma imagem espelhada do entorno do objeto na cena. Para esta discussão, imagine uma sala com quatro paredes, cada uma pintada com uma letra R, G, B, Y e as cores correspondentes: vermelho, verde, azul e amarelo. O mapa de ambiente para uma sala tão simples pode se parecer com a ilustração a seguir.
Imagine que o teto da sala é sustentado por um pilar perfeitamente reflexivo, de quatro lados. Mapear a textura do mapa do ambiente para o pilar é simples; Fazer o pilar parecer que está refletindo as letras e cores não é tão fácil. O diagrama a seguir mostra uma estrutura de arame do pilar com as coordenadas de textura aplicáveis listadas perto dos vértices superiores. A costura onde o embrulho cruzará as bordas da textura é mostrada com uma linha pontilhada.
Com o wrapping ativado na direção U, o pilar texturizado mostra as cores e símbolos do mapa do ambiente adequadamente e, na costura na frente da textura, o rasterizador escolhe corretamente a rota mais curta entre as coordenadas de textura, assumindo que as coordenadas u 0,0 e 1,0 compartilham o mesmo local. O pilar texturizado se parece com a ilustração a seguir.
Se o encapsulamento de textura não estiver habilitado, o rasterizador não interpolará na direção necessária para gerar uma imagem crível e refletida. Em vez disso, a área na frente do pilar contém uma versão comprimida horizontalmente dos texels entre as coordenadas u 0,175 e 0,875, à medida que passam pelo centro da textura. O efeito de envolvimento está arruinado.
Não confunda o encapsulamento de textura com os modos de endereçamento de textura com nomes semelhantes. O envoltório de textura é realizado antes do endereçamento de textura. Certifique-se de que os dados de encapsulamento de textura não contenham coordenadas de textura fora do intervalo de [0,0, 1,0], pois isso produzirá resultados indefinidos. Para obter mais informações sobre endereçamento de textura, consulte Modos de endereçamento de textura.
Encapsulamento do mapa de deslocamento
Os mapas de deslocamento são interpolados pelo motor de tesselação. Como o modo de envolvimento não pode ser especificado para o mecanismo de tesselação, o envolvimento de textura não pode ser realizado com mapas de deslocamento. Um aplicativo é capaz de usar um conjunto de vértices que força a interpolação a envolver em qualquer direção. O aplicativo também pode especificar a interpolação a ser feita como uma interpolação linear simples.
Tópicos relacionados