Qtが圧縮されたDDSテクスチャを保存するまでは、SOIL2をプロジェクトに静的にリンクすることをお勧めします。
https://bitbucket.org/SpartanJ/soil2
次のようにQImage
とのsave_image_as_DDS()
機能を使用することができます。
QImage *pTexture = [Your initial image]
AtlasTextureType eTextureType = [Your desired image type]
switch(eTextureType)
{
case ATLASTEXTYPE_PNG: {
if(false == pTexture->save("MyTexture.png")) {
Log("failed to generate a PNG atlas", LOGTYPE_Error);
}
} break;
case ATLASTEXTYPE_DTX5: {
QImage imgProperlyFormatted = pTexture->convertToFormat(QImage::Format_RGBA8888);
if(0 == SOIL_save_image_quality("MyTexture.dds",
SOIL_SAVE_TYPE_DDS,
imgProperlyFormatted.width(),
imgProperlyFormatted.height(),
4,
imgProperlyFormatted.bits(),
0))
{
Log("failed to generate a DTX5 atlas", LOGTYPE_Error);
}
} break;
case ATLASTEXTYPE_DTX1: {
QImage imgProperlyFormatted = pTexture->convertToFormat(QImage::Format_RGB888);
if(0 == SOIL_save_image_quality("MyTexture.dds",
SOIL_SAVE_TYPE_DDS,
imgProperlyFormatted.width(),
imgProperlyFormatted.height(),
3,
imgProperlyFormatted.bits(),
0))
{
Log("failed to generate a DTX1 atlas", LOGTYPE_Error);
}
} break;
}
それはバージョンですか? – dtech
@ddriver Askerが使用しているバージョンはどんなものでも、ここでは推測できません。 –
特定のバージョンを明示的にも暗黙的にも知らなくても、あなたはそれを知っているように聞こえました。また、特定のバージョンで実装されています。私が推測する文言の問題;) – dtech