GL: Cleanup.
This commit is contained in:
Родитель
d05fb35eee
Коммит
6ed7b6fe14
|
@ -667,18 +667,25 @@ namespace bgfx
|
||||||
GL_BACK,
|
GL_BACK,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct RenderTargetColorFormat
|
||||||
|
{
|
||||||
|
GLenum m_internalFmt;
|
||||||
|
GLenum m_type;
|
||||||
|
uint8_t m_bpp;
|
||||||
|
};
|
||||||
|
|
||||||
// Specifies the internal format of the texture.
|
// Specifies the internal format of the texture.
|
||||||
// Must be one of the following symbolic constants:
|
// Must be one of the following symbolic constants:
|
||||||
// GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA.
|
// GL_ALPHA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_RGB, GL_RGBA.
|
||||||
static const GLenum s_colorFormat[][2] =
|
static const RenderTargetColorFormat s_colorFormat[] =
|
||||||
{
|
{
|
||||||
{ 0, 0 }, // ignored
|
{ 0, 0, 0 }, // ignored
|
||||||
{ GL_RGBA8, GL_UNSIGNED_BYTE },
|
{ GL_RGBA8, GL_UNSIGNED_BYTE, 32 },
|
||||||
{ GL_RGB10_A2, GL_UNSIGNED_INT_2_10_10_10_REV },
|
{ GL_RGB10_A2, GL_UNSIGNED_INT_2_10_10_10_REV, 32 },
|
||||||
{ GL_RGBA16, GL_UNSIGNED_SHORT },
|
{ GL_RGBA16, GL_UNSIGNED_SHORT, 64 },
|
||||||
{ GL_RGBA16F, GL_HALF_FLOAT },
|
{ GL_RGBA16F, GL_HALF_FLOAT, 64 },
|
||||||
{ GL_R16F, GL_HALF_FLOAT },
|
{ GL_R16F, GL_HALF_FLOAT, 16 },
|
||||||
{ GL_R32F, GL_FLOAT },
|
{ GL_R32F, GL_FLOAT, 32 },
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GLenum s_depthFormat[] =
|
static const GLenum s_depthFormat[] =
|
||||||
|
@ -1495,8 +1502,9 @@ namespace bgfx
|
||||||
|
|
||||||
void Texture::createColor(uint32_t _colorFormat, uint32_t _width, uint32_t _height, GLenum _min, GLenum _mag)
|
void Texture::createColor(uint32_t _colorFormat, uint32_t _width, uint32_t _height, GLenum _min, GLenum _mag)
|
||||||
{
|
{
|
||||||
GLenum internalFormat = s_colorFormat[_colorFormat][0];
|
const RenderTargetColorFormat& rtcf = s_colorFormat[_colorFormat];
|
||||||
GLenum type = s_colorFormat[_colorFormat][1];
|
GLenum internalFormat = rtcf.m_internalFmt;
|
||||||
|
GLenum type = rtcf.m_type;
|
||||||
m_target = GL_TEXTURE_2D;
|
m_target = GL_TEXTURE_2D;
|
||||||
|
|
||||||
GL_CHECK(glGenTextures(1, &m_id) );
|
GL_CHECK(glGenTextures(1, &m_id) );
|
||||||
|
@ -1702,7 +1710,7 @@ namespace bgfx
|
||||||
GL_CHECK(glGenRenderbuffers(1, &m_colorRbo) );
|
GL_CHECK(glGenRenderbuffers(1, &m_colorRbo) );
|
||||||
BX_CHECK(0 != m_colorRbo, "Failed to generate color renderbuffer id.");
|
BX_CHECK(0 != m_colorRbo, "Failed to generate color renderbuffer id.");
|
||||||
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
|
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, m_colorRbo) );
|
||||||
GL_CHECK(glRenderbufferStorageMultisample(GL_RENDERBUFFER, m_msaa, s_colorFormat[colorFormat][0], _width, _height) );
|
GL_CHECK(glRenderbufferStorageMultisample(GL_RENDERBUFFER, m_msaa, s_colorFormat[colorFormat].m_internalFmt, _width, _height) );
|
||||||
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
|
GL_CHECK(glBindRenderbuffer(GL_RENDERBUFFER, 0) );
|
||||||
|
|
||||||
GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER
|
GL_CHECK(glFramebufferRenderbuffer(GL_FRAMEBUFFER
|
||||||
|
|
Загрузка…
Ссылка в новой задаче