Necessidade de usar D3DFMT_LIN_A8R8G8B8 vez de D3DFMT_A8R8G8B8 para texturas para mostrar corretamente em Xbox 360, enquanto este é indefinido no PC

StackOverflow https://stackoverflow.com/questions/1403637

Pergunta

No Xbox 360 que eu descobri que eu tenho que usar D3DFMT_LIN_ [xxxxxxx] em vez de apenas D3DFMT_ [xxxxxxx] desde as texturas não iria funcionar com D3DFMT_LIN por parte 360. O LIN significa Linear, a descrição entre a D3DFMT_LIN e D3DFMT_ para as texturas é justo que um formato é uma linear não é.

Por que isso?

Foi útil?

Solução

Bem no 360 você tem um melhor acesso ao hardware underlieing. Como tal, certas coisas que são feitas atrás de suas costas no PC você tem que ser mais explícito sobre a 360. Para uma melhor velocidade mais texturas será "swizzled" para permitir acesso rápido pelo hardware gráfico. Ao escolher um formato _LIN você está dizendo que, na verdade, os seus dados textura é swizzled-un. O hardware, então, usar um caminho mais lento de backup para lidar com as texturas. Em 360 você é melhor fora de usar as funções fornecidas em Swizzle sua textura e no PC usando apenas o padrão. formatos compactados, que deve ser preferido sobre descompactado, são sempre swizzled corretamente pela natureza do algoritmo de compressão e descompressão DXTC.

Esta questão realmente não deve ser feita aqui, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top