Added ETC2 and ASTC texture variants (Refs #174)
This commit is contained in:
parent
b793b63f8f
commit
40753f9dbb
10 changed files with 70 additions and 31 deletions
|
|
@ -240,8 +240,28 @@ public:
|
|||
models.ground.loadFromFile(getAssetPath() + "models/plane_circle.dae", vertexLayout, PLANT_RADIUS + 1.0f, vulkanDevice, queue);
|
||||
models.skysphere.loadFromFile(getAssetPath() + "models/skysphere.dae", vertexLayout, 512.0f / 10.0f, vulkanDevice, queue);
|
||||
|
||||
textures.plants.loadFromFile(getAssetPath() + "textures/texturearray_plants_bc3.ktx", VK_FORMAT_BC3_UNORM_BLOCK, vulkanDevice, queue);
|
||||
textures.ground.loadFromFile(getAssetPath() + "textures/ground_dry_bc3.ktx", VK_FORMAT_BC3_UNORM_BLOCK, vulkanDevice, queue);
|
||||
// Textures
|
||||
std::string texFormatSuffix;
|
||||
VkFormat texFormat;
|
||||
// Get supported compressed texture format
|
||||
if (vulkanDevice->features.textureCompressionBC) {
|
||||
texFormatSuffix = "_bc3_unorm";
|
||||
texFormat = VK_FORMAT_BC3_UNORM_BLOCK;
|
||||
}
|
||||
else if (vulkanDevice->features.textureCompressionASTC_LDR) {
|
||||
texFormatSuffix = "_astc_8x8_unorm";
|
||||
texFormat = VK_FORMAT_ASTC_8x8_UNORM_BLOCK;
|
||||
}
|
||||
else if (vulkanDevice->features.textureCompressionETC2) {
|
||||
texFormatSuffix = "_etc2_unorm";
|
||||
texFormat = VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK;
|
||||
}
|
||||
else {
|
||||
vks::tools::exitFatal("Device does not support any compressed texture format!", "Error");
|
||||
}
|
||||
|
||||
textures.plants.loadFromFile(getAssetPath() + "textures/texturearray_plants" + texFormatSuffix + ".ktx", texFormat, vulkanDevice, queue);
|
||||
textures.ground.loadFromFile(getAssetPath() + "textures/ground_dry" + texFormatSuffix + ".ktx", texFormat, vulkanDevice, queue);
|
||||
}
|
||||
|
||||
void setupVertexDescriptions()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue