Hlášení chyb a problémů programu Altap Salamander. Buďte, prosím, ve svých popisech co nejpodrobnější a vytvořte pro každý incident nový příspěvek. Nevkládejte programem generovaná hlášení o pádu programu, pošlete je e-mailem.
Tak už si zase hraji s DDS texturami a narazil jsem na problém PictView, který nesprávně převádí 16bit barvy do 24bitů. Pravděpodobně si PictView ulehčuje prácí a bity pouze posune.
Z R5G6B5 bílé: 1111 1111 1111 1111 se tak stane R8G8B8 světle zelená: 1111 10001111 11001111 1000 (R:248 G:252 B:248)
Je možné toto napravit, aby bílá bílou byla?
Ve svých programech využívám toto doplnění nižších bitů, které funguje bez problémů:
byte GetR(int16 col)
{
int r = (col & 0xF800) >> 11;
return (r << 3) | (r >> 2);
}
byte GetG(int16 col)
{
int g = (col & 0x07E0) >> 5;
return (g << 2) | (g >> 4);
}
byte GetB(int16 col)
{
int b = (col & 0x001F);
return (b << 3) | (b >> 2);
}
zarevak wrote:Tak už si zase hraji s DDS texturami a narazil jsem na problém PictView, který nesprávně převádí 16bit barvy do 24bitů. Pravděpodobně si PictView ulehčuje prácí a bity pouze posune.