Se você tem certeza de que entende o que esperar do formato DXT5, verifique: no spoiler, a animação está à esquerda, uma imagem PNG de 4x4 pixels à direita - convertida em DDS (DXT5)
Se isso não o surpreender, fique à vontade para seguir em frente.
Sim, eu sei exatamente como a conversão para DXT5 acontece. Se você estava procurando uma ferramenta ou uma oportunidade em tempo real para ver o que acontecerá com a sua imagem PNG após a conversão para o DXT5 - bem-vindo ao artigo.
Finalidade
Uma visão geral do formato DXT5 e uma ferramenta que permite ver o resultado da conversão em tempo real.
O artigo não foi projetado para profissionais, é apenas para orientação.
Para quem
- Quem não enfrentou a criação de texturas
- Desenhar bitmaps: pixelart / 2D
- Quem se perguntou que tipo de animal como S3TC / DXT
- Quem não procura maneiras fáceis de criar jogos
- Quem está tentando criar jogos sem estruturas conhecidas (Unity, etc.)
- Use um sistema UNIX (porque a ferramenta, que consideraremos posteriormente, foi testada apenas no Ubuntu)
O que é S3TC / DXT
Resumidamente, trata-se de compactação de imagem, para que: a) use menos (v) RAM; b) carregado mais rapidamente na (v) RAM.
Aqui me permito deixar um link para uma placa onde há um breve resumo dos formatos e por que / quando usá-los
aqui .
Se você quiser ler com mais detalhes sobre como esse formato pode ser usado em jogos,
aqui está um artigo em 4 partes em inglês ou
, se você prefere ler quais são as fórmulas da compactação, então há um artigo em
russo ,
em inglês .
Edição
DXT5 (tomei como exemplo, porque o uso no projeto atual) é um formato de compactação com perdas, por isso sacrificamos a cor. Primeiro, as cores não estarão no formato RGB de 8 bits, ou seja, não RGB888, mas no formato RGB565. Ainda há metade do problema com isso. Mas o principal problema (na minha opinião) é que dentro de um texel, que é de 4 por 4 pixels, a saída terá no máximo 4 cores: 2 básicas e 2 adicionais.
Imagine que você é um desenvolvedor (ou designer / artista) que não encontrou o desenvolvimento de jogos antes (como exemplo) e decidiu criar um belo sprite multicolorido no estilo pixelart / 2D, ou apenas uma imagem em segundo plano (novamente, bitmap, não vetor) .
Pegou um mouse / tablet, desenhou. Parece bonito (vamos supor que seja bonito).

Para convertê-lo em DDS, você precisa usar o GIMP, o Photoshop com plug-ins ou algo semelhante. Mas você verá o resultado somente depois de abrir o arquivo resultante.
Vamos ver o que aconteceu (imagine que vemos apenas o lado direito da imagem, no caso de abrir um arquivo DDS com um GIMP):

A menina estava definitivamente triste, as flores murchas, o diadema se tornou uma corda. "Hmm", você diz. Agora, se eu vi o que aconteceu antes ... E aqui a ferramenta que eu
montei para as minhas necessidades pode ajudar (condicionalmente) -
Pyglet PNG to DDS editorPorque
Para editar / editar o arquivo de origem, seleção de cores aproximadas, preparação de uma paleta aproximada.
Esse "editor" instantaneamente converte uma imagem PNG em DDS e você pode ver imediatamente o que acontece ao converter e inserir um sprite em um jogo.
Porque
Porque eu não encontrei ferramentas que permitam ver em tempo real como será sua imagem / textura.
Isso é tudo?
Nesta fase, sim. Muitas coisas podem ser adicionadas a esse "editor", mas tudo tem seu tempo.
Gostaria de saber mais da comunidade: como você resolve essas situações quando precisa verificar o que acontecerá com a textura na saída.
PS: o editor trabalha relativamente normalmente com imagens de até 512 * 512. Ele flui da memória, mas não muito :) (no código você pode encontrar esse método pelo comentário "!!! ACHTUNG !!!").