mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2025-02-17 12:20:55 -05:00
Cleanup.
This commit is contained in:
parent
bc3bb5c6a4
commit
8f5202ca99
1 changed files with 32 additions and 9 deletions
|
@ -139,15 +139,36 @@ namespace bgfx
|
|||
void imageEncodeFromRgba32f(void* _dst, const void* _src, uint32_t _width, uint32_t _height, uint8_t _format)
|
||||
{
|
||||
TextureFormat::Enum format = TextureFormat::Enum(_format);
|
||||
|
||||
const float* src = (const float*)_src;
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case TextureFormat::RGBA8:
|
||||
{
|
||||
uint8_t* dst = (uint8_t*)_dst;
|
||||
for (uint32_t yy = 0; yy < _height; ++yy)
|
||||
{
|
||||
for (uint32_t xx = 0; xx < _width; ++xx)
|
||||
{
|
||||
const uint32_t offset = (yy*_width + xx) * 4;
|
||||
const float* input = &src[offset];
|
||||
uint8_t* output = &dst[offset];
|
||||
output[0] = uint8_t( (input[0]*0.5f + 0.5f)*255.0f + 0.5f);
|
||||
output[1] = uint8_t( (input[1]*0.5f + 0.5f)*255.0f + 0.5f);
|
||||
output[2] = uint8_t( (input[2]*0.5f + 0.5f)*255.0f + 0.5f);
|
||||
output[3] = uint8_t( (input[3]*0.5f + 0.5f)*255.0f + 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case TextureFormat::BC5:
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
BX_UNUSED(_dst, _src, _width, _height, _format);
|
||||
}
|
||||
|
||||
} // namespace bgfx
|
||||
|
@ -307,11 +328,12 @@ int main(int _argc, const char* _argv[])
|
|||
, mip.m_width
|
||||
, mip.m_height
|
||||
, mip.m_width*mip.m_bpp/8
|
||||
, TextureFormat::Enum(mip.m_format)
|
||||
, mip.m_format
|
||||
);
|
||||
|
||||
imageContainer.m_size = imageGetSize(format, mip.m_width, mip.m_height, 0, false, numMips);
|
||||
imageContainer.m_format = format;
|
||||
imageContainer.m_numMips = numMips;
|
||||
imageContainer.m_size = imageGetSize(format, mip.m_width, mip.m_height, 0, false, numMips);
|
||||
imageContainer.m_format = format;
|
||||
output = alloc(imageContainer.m_size);
|
||||
|
||||
imageEncodeFromRgba32f(output->data, rgba, mip.m_width, mip.m_height, format);
|
||||
|
@ -324,8 +346,8 @@ int main(int _argc, const char* _argv[])
|
|||
|
||||
uint32_t width = bx::uint32_max(1, mip.m_width >>lod);
|
||||
uint32_t height = bx::uint32_max(1, mip.m_height>>lod);
|
||||
imageRgba32fDownsample2x2NormalMap(width, height, width*4, rgba, rgba);
|
||||
imageEncodeFromRgba32f(data, rgba, mip.m_width, mip.m_height, format);
|
||||
imageRgba32fDownsample2x2NormalMap(width, height, width*16, rgba, rgba);
|
||||
imageEncodeFromRgba32f(data, rgba, width, height, format);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -334,8 +356,9 @@ int main(int _argc, const char* _argv[])
|
|||
temp = BX_ALLOC(&allocator, size);
|
||||
uint8_t* rgba = (uint8_t*)temp;
|
||||
|
||||
imageContainer.m_size = imageGetSize(format, mip.m_width, mip.m_height, 0, false, numMips);
|
||||
imageContainer.m_format = format;
|
||||
imageContainer.m_numMips = numMips;
|
||||
imageContainer.m_size = imageGetSize(format, mip.m_width, mip.m_height, 0, false, numMips);
|
||||
imageContainer.m_format = format;
|
||||
output = alloc(imageContainer.m_size);
|
||||
|
||||
imageEncodeFromRgba8(output->data, rgba, mip.m_width, mip.m_height, format);
|
||||
|
@ -349,7 +372,7 @@ int main(int _argc, const char* _argv[])
|
|||
uint32_t width = bx::uint32_max(1, mip.m_width >>lod);
|
||||
uint32_t height = bx::uint32_max(1, mip.m_height>>lod);
|
||||
imageRgba8Downsample2x2(width, height, width*4, rgba, rgba);
|
||||
imageEncodeFromRgba8(data, rgba, mip.m_width, mip.m_height, format);
|
||||
imageEncodeFromRgba8(data, rgba, width, height, format);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue