fix mixer on iOS, work with RGBA16F buffers on iOS instead of fallback to RGBA8

This commit is contained in:
2018-08-05 16:27:26 +02:00
parent 2137de66ff
commit 0fb6658373
6 changed files with 27 additions and 15 deletions

View File

@@ -58,10 +58,13 @@ bool RTT::create(int width, int height, int tex/* = -1*/, GLint internal_format)
texID = tex;
}
auto ifmt = GL_UNSIGNED_BYTE;
if (internal_format == GL_RGBA32F) ifmt = GL_FLOAT;
if (internal_format == GL_RGBA16F) ifmt = GL_HALF_FLOAT;
glBindTexture(GL_TEXTURE_2D, texID);
if (tex == -1)
glTexImage2D(GL_TEXTURE_2D, 0, internal_format, width, height, 0, GL_RGBA,
internal_format == GL_RGBA32F ? GL_FLOAT : GL_UNSIGNED_BYTE, 0);
glTexImage2D(GL_TEXTURE_2D, 0, internal_format, width, height, 0, GL_RGBA, ifmt, 0);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);