怎么用OpenGL在linux上显示BC7格式文件
保存dds的代码()
bool SaveAsDDS(BYTE * ImageData)
{
DirectX::TexMetadata metadata;
metadata.width = DuplMgr.GetImageWidth();
metadata.height = DuplMgr.GetImageHeight();
metadata.depth = 1;
metadata.arraySize = 1;
metadata.mipLevels = 1;
metadata.miscFlags = 0;
metadata.format = DXGI_FORMAT_R8G8B8A8_UNORM; // 假设图像格式为R8G8B8A8_UNORM
//metadata.format = DXGI_FORMAT_BC7_UNORM;
DirectX::ScratchImage image;
image.Initialize2D(metadata.format, metadata.width, metadata.height, 1, 1);
memcpy_s(image.GetPixels(), image.GetPixelsSize(), ImageData, image.GetPixelsSize());
HRESULT hr = DirectX::SaveToDDSFile(*image.GetImage(0, 0, 0), DirectX::DDS_FLAGS_NONE, file_name);
if (FAILED(hr))
{
return DUPL_RETURN_ERROR_EXPECTED;
}
return true;
}