mirror of
https://github.com/love2d/love.git
synced 2026-08-16 08:11:02 +02:00
Added support for BC4 (aka 3Dc+) compressed textures
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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},
|
||||
};
|
||||
|
||||
@@ -50,6 +50,8 @@ public:
|
||||
TYPE_DXT1,
|
||||
TYPE_DXT3,
|
||||
TYPE_DXT5,
|
||||
TYPE_BC4,
|
||||
TYPE_BC4s,
|
||||
TYPE_BC5,
|
||||
TYPE_BC5s,
|
||||
TYPE_MAX_ENUM
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user