Added HDR texture formats

Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
This commit is contained in:
Lynix
2013-08-28 03:05:46 +02:00
parent 866ff64548
commit df8449c13e
4 changed files with 109 additions and 28 deletions

View File

@@ -1388,6 +1388,30 @@ bool NzOpenGL::TranslateFormat(nzPixelFormat pixelFormat, Format* format, Format
format->internalFormat = GL_RGB8;
return true;
case nzPixelFormat_RGB16F:
format->dataFormat = GL_RGB;
format->dataType = GL_FLOAT;
format->internalFormat = GL_RGB16F;
return true;
case nzPixelFormat_RGB16I:
format->dataFormat = GL_RGB;
format->dataType = GL_INT;
format->internalFormat = GL_RGB16I;
return true;
case nzPixelFormat_RGB32F:
format->dataFormat = GL_RGB;
format->dataType = GL_FLOAT;
format->internalFormat = GL_RGB32F;
return true;
case nzPixelFormat_RGB32I:
format->dataFormat = GL_RGB;
format->dataType = GL_INT;
format->internalFormat = GL_RGB32I;
return true;
case nzPixelFormat_RGBA4:
format->dataFormat = GL_RGBA;
format->dataType = GL_UNSIGNED_SHORT_4_4_4_4;
@@ -1400,6 +1424,30 @@ bool NzOpenGL::TranslateFormat(nzPixelFormat pixelFormat, Format* format, Format
format->internalFormat = GL_RGBA8;
return true;
case nzPixelFormat_RGBA16F:
format->dataFormat = GL_RGBA;
format->dataType = GL_FLOAT;
format->internalFormat = GL_RGBA16F;
return true;
case nzPixelFormat_RGBA16I:
format->dataFormat = GL_RGBA;
format->dataType = GL_INT;
format->internalFormat = GL_RGBA32I;
return true;
case nzPixelFormat_RGBA32F:
format->dataFormat = GL_RGBA;
format->dataType = GL_FLOAT;
format->internalFormat = GL_RGBA32F;
return true;
case nzPixelFormat_RGBA32I:
format->dataFormat = GL_RGB;
format->dataType = GL_INT;
format->internalFormat = GL_RGB32I;
return true;
case nzPixelFormat_Depth16:
format->dataFormat = GL_DEPTH_COMPONENT;
format->dataType = GL_UNSIGNED_BYTE;

View File

@@ -1306,6 +1306,17 @@ bool NzTexture::IsFormatSupported(nzPixelFormat format)
case nzPixelFormat_RGBA4:
return true;
// Formats supportés depuis OpenGL 3
case nzPixelFormat_RGB16F:
case nzPixelFormat_RGB16I:
case nzPixelFormat_RGB32F:
case nzPixelFormat_RGB32I:
case nzPixelFormat_RGBA16F:
case nzPixelFormat_RGBA16I:
case nzPixelFormat_RGBA32F:
case nzPixelFormat_RGBA32I:
return NzOpenGL::GetVersion() >= 300;
// Formats de profondeur (Supportés avec les FBOs)
case nzPixelFormat_Depth16:
case nzPixelFormat_Depth24: