Added support for BC4 (aka 3Dc+) compressed textures

This commit is contained in:
Alex Szpakowski
2013-07-28 17:20:24 -03:00
parent fa6eaaa3a6
commit e19ade38ab
5 changed files with 16 additions and 2 deletions
+6
View File
@@ -615,6 +615,10 @@ GLenum Image::getCompressedFormat(image::CompressedData::TextureType type) const
return GL_COMPRESSED_RGBA_S3TC_DXT3_EXT;
case image::CompressedData::TYPE_DXT5:
return GL_COMPRESSED_RGBA_S3TC_DXT5_EXT;
case image::CompressedData::TYPE_BC4:
return GL_COMPRESSED_RED_RGTC1;
case image::CompressedData::TYPE_BC4s:
return GL_COMPRESSED_SIGNED_RED_RGTC1;
case image::CompressedData::TYPE_BC5:
return GL_COMPRESSED_RG_RGTC2;
case image::CompressedData::TYPE_BC5s:
@@ -660,6 +664,8 @@ bool Image::hasCompressedTextureSupport(image::CompressedData::TextureType type)
case image::CompressedData::TYPE_DXT3:
case image::CompressedData::TYPE_DXT5:
return GLEE_EXT_texture_compression_s3tc;
case image::CompressedData::TYPE_BC4:
case image::CompressedData::TYPE_BC4s:
case image::CompressedData::TYPE_BC5:
case image::CompressedData::TYPE_BC5s:
return (GLEE_VERSION_3_0 || GLEE_ARB_texture_compression_rgtc || GLEE_EXT_texture_compression_rgtc);
+2 -2
View File
@@ -219,7 +219,7 @@ void VBO::fill(size_t offset, size_t size, const void *data)
}
else if (GLEE_APPLE_flush_buffer_range)
{
void *mapdata = glMapBuffer(getTarget(), GL_WRITE_ONLY);
void *mapdata = glMapBufferARB(getTarget(), GL_WRITE_ONLY);
if (mapdata)
{
@@ -230,7 +230,7 @@ void VBO::fill(size_t offset, size_t size, const void *data)
glFlushMappedBufferRangeAPPLE(getTarget(), offset, size);
}
glUnmapBuffer(getTarget());
glUnmapBufferARB(getTarget());
}
else
{
+2
View File
@@ -115,6 +115,8 @@ StringMap<CompressedData::TextureType, CompressedData::TYPE_MAX_ENUM>::Entry Com
{"dxt1", CompressedData::TYPE_DXT1},
{"dxt3", CompressedData::TYPE_DXT3},
{"dxt5", CompressedData::TYPE_DXT5},
{"bc4", CompressedData::TYPE_BC4},
{"bc4s", CompressedData::TYPE_BC4s},
{"bc5", CompressedData::TYPE_BC5},
{"bc5s", CompressedData::TYPE_BC5s},
};
+2
View File
@@ -50,6 +50,8 @@ public:
TYPE_DXT1,
TYPE_DXT3,
TYPE_DXT5,
TYPE_BC4,
TYPE_BC4s,
TYPE_BC5,
TYPE_BC5s,
TYPE_MAX_ENUM
+4
View File
@@ -101,6 +101,10 @@ CompressedData::TextureType ddsHandler::convertFormat(dds::Format ddsformat)
return CompressedData::TYPE_DXT3;
case dds::FORMAT_DXT5:
return CompressedData::TYPE_DXT5;
case dds::FORMAT_BC4:
return CompressedData::TYPE_BC4;
case dds::FORMAT_BC4s:
return CompressedData::TYPE_BC4s;
case dds::FORMAT_BC5:
return CompressedData::TYPE_BC5;
case dds::FORMAT_BC5s: