Added HDR texture formats
Former-commit-id: affa3c0842d3918977c48483bf485ac17e218448
This commit is contained in:
parent
866ff64548
commit
df8449c13e
|
|
@ -159,20 +159,18 @@ enum nzPixelFormat
|
||||||
nzPixelFormat_DXT5,
|
nzPixelFormat_DXT5,
|
||||||
nzPixelFormat_L8, // 1*nzUInt8
|
nzPixelFormat_L8, // 1*nzUInt8
|
||||||
nzPixelFormat_LA8, // 2*nzUInt8
|
nzPixelFormat_LA8, // 2*nzUInt8
|
||||||
/*
|
|
||||||
nzPixelFormat_RGB16F,
|
|
||||||
nzPixelFormat_RGB16I, // 4*nzUInt16
|
|
||||||
nzPixelFormat_RGB32F,
|
|
||||||
nzPixelFormat_RGB32I, // 4*nzUInt32
|
|
||||||
nzPixelFormat_RGBA16F,
|
|
||||||
nzPixelFormat_RGBA16I, // 4*nzUInt16
|
|
||||||
nzPixelFormat_RGBA32F,
|
|
||||||
nzPixelFormat_RGBA32I, // 4*nzUInt32
|
|
||||||
*/
|
|
||||||
nzPixelFormat_RGB5A1, // 1*nzUInt16
|
nzPixelFormat_RGB5A1, // 1*nzUInt16
|
||||||
nzPixelFormat_RGB8, // 3*nzUInt8
|
nzPixelFormat_RGB8, // 3*nzUInt8
|
||||||
|
nzPixelFormat_RGB16F,
|
||||||
|
nzPixelFormat_RGB16I, // 4*nzUInt16
|
||||||
|
nzPixelFormat_RGB32F, // 3*float
|
||||||
|
nzPixelFormat_RGB32I, // 4*nzUInt32
|
||||||
nzPixelFormat_RGBA4, // 1*nzUInt16
|
nzPixelFormat_RGBA4, // 1*nzUInt16
|
||||||
nzPixelFormat_RGBA8, // 4*nzUInt8
|
nzPixelFormat_RGBA8, // 4*nzUInt8
|
||||||
|
nzPixelFormat_RGBA16F,
|
||||||
|
nzPixelFormat_RGBA16I, // 4*nzUInt16
|
||||||
|
nzPixelFormat_RGBA32F, // 4*float
|
||||||
|
nzPixelFormat_RGBA32I, // 4*nzUInt32
|
||||||
nzPixelFormat_Depth16,
|
nzPixelFormat_Depth16,
|
||||||
nzPixelFormat_Depth24,
|
nzPixelFormat_Depth24,
|
||||||
nzPixelFormat_Depth24Stencil8,
|
nzPixelFormat_Depth24Stencil8,
|
||||||
|
|
|
||||||
|
|
@ -188,7 +188,7 @@ inline nzUInt8 NzPixelFormat::GetBitsPerPixel(nzPixelFormat format)
|
||||||
|
|
||||||
case nzPixelFormat_LA8:
|
case nzPixelFormat_LA8:
|
||||||
return 16;
|
return 16;
|
||||||
/*
|
|
||||||
case nzPixelFormat_RGB16F:
|
case nzPixelFormat_RGB16F:
|
||||||
return 48;
|
return 48;
|
||||||
|
|
||||||
|
|
@ -212,7 +212,7 @@ inline nzUInt8 NzPixelFormat::GetBitsPerPixel(nzPixelFormat format)
|
||||||
|
|
||||||
case nzPixelFormat_RGBA32I:
|
case nzPixelFormat_RGBA32I:
|
||||||
return 128;
|
return 128;
|
||||||
*/
|
|
||||||
case nzPixelFormat_RGBA4:
|
case nzPixelFormat_RGBA4:
|
||||||
return 16;
|
return 16;
|
||||||
|
|
||||||
|
|
@ -282,8 +282,16 @@ inline nzPixelFormatType NzPixelFormat::GetType(nzPixelFormat format)
|
||||||
case nzPixelFormat_LA8:
|
case nzPixelFormat_LA8:
|
||||||
case nzPixelFormat_RGB5A1:
|
case nzPixelFormat_RGB5A1:
|
||||||
case nzPixelFormat_RGB8:
|
case nzPixelFormat_RGB8:
|
||||||
|
case nzPixelFormat_RGB16F:
|
||||||
|
case nzPixelFormat_RGB16I:
|
||||||
|
case nzPixelFormat_RGB32F:
|
||||||
|
case nzPixelFormat_RGB32I:
|
||||||
case nzPixelFormat_RGBA4:
|
case nzPixelFormat_RGBA4:
|
||||||
case nzPixelFormat_RGBA8:
|
case nzPixelFormat_RGBA8:
|
||||||
|
case nzPixelFormat_RGBA16F:
|
||||||
|
case nzPixelFormat_RGBA16I:
|
||||||
|
case nzPixelFormat_RGBA32F:
|
||||||
|
case nzPixelFormat_RGBA32I:
|
||||||
return nzPixelFormatType_Color;
|
return nzPixelFormatType_Color;
|
||||||
|
|
||||||
case nzPixelFormat_Depth16:
|
case nzPixelFormat_Depth16:
|
||||||
|
|
@ -317,6 +325,10 @@ inline bool NzPixelFormat::HasAlpha(nzPixelFormat format)
|
||||||
case nzPixelFormat_DXT5:
|
case nzPixelFormat_DXT5:
|
||||||
case nzPixelFormat_LA8:
|
case nzPixelFormat_LA8:
|
||||||
case nzPixelFormat_RGB5A1:
|
case nzPixelFormat_RGB5A1:
|
||||||
|
case nzPixelFormat_RGBA16F:
|
||||||
|
case nzPixelFormat_RGBA16I:
|
||||||
|
case nzPixelFormat_RGBA32F:
|
||||||
|
case nzPixelFormat_RGBA32I:
|
||||||
case nzPixelFormat_RGBA4:
|
case nzPixelFormat_RGBA4:
|
||||||
case nzPixelFormat_RGBA8:
|
case nzPixelFormat_RGBA8:
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -325,6 +337,10 @@ inline bool NzPixelFormat::HasAlpha(nzPixelFormat format)
|
||||||
case nzPixelFormat_DXT1:
|
case nzPixelFormat_DXT1:
|
||||||
case nzPixelFormat_L8:
|
case nzPixelFormat_L8:
|
||||||
case nzPixelFormat_RGB8:
|
case nzPixelFormat_RGB8:
|
||||||
|
case nzPixelFormat_RGB16F:
|
||||||
|
case nzPixelFormat_RGB16I:
|
||||||
|
case nzPixelFormat_RGB32F:
|
||||||
|
case nzPixelFormat_RGB32I:
|
||||||
case nzPixelFormat_Depth16:
|
case nzPixelFormat_Depth16:
|
||||||
case nzPixelFormat_Depth24:
|
case nzPixelFormat_Depth24:
|
||||||
case nzPixelFormat_Depth24Stencil8:
|
case nzPixelFormat_Depth24Stencil8:
|
||||||
|
|
@ -352,14 +368,22 @@ inline bool NzPixelFormat::IsCompressed(nzPixelFormat format)
|
||||||
case nzPixelFormat_DXT5:
|
case nzPixelFormat_DXT5:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
case nzPixelFormat_BGR8:
|
||||||
case nzPixelFormat_BGRA8:
|
case nzPixelFormat_BGRA8:
|
||||||
|
case nzPixelFormat_L8:
|
||||||
case nzPixelFormat_LA8:
|
case nzPixelFormat_LA8:
|
||||||
case nzPixelFormat_RGB5A1:
|
case nzPixelFormat_RGB5A1:
|
||||||
|
case nzPixelFormat_RGB8:
|
||||||
|
case nzPixelFormat_RGB16F:
|
||||||
|
case nzPixelFormat_RGB16I:
|
||||||
|
case nzPixelFormat_RGB32F:
|
||||||
|
case nzPixelFormat_RGB32I:
|
||||||
case nzPixelFormat_RGBA4:
|
case nzPixelFormat_RGBA4:
|
||||||
case nzPixelFormat_RGBA8:
|
case nzPixelFormat_RGBA8:
|
||||||
case nzPixelFormat_BGR8:
|
case nzPixelFormat_RGBA16F:
|
||||||
case nzPixelFormat_L8:
|
case nzPixelFormat_RGBA16I:
|
||||||
case nzPixelFormat_RGB8:
|
case nzPixelFormat_RGBA32F:
|
||||||
|
case nzPixelFormat_RGBA32I:
|
||||||
case nzPixelFormat_Depth16:
|
case nzPixelFormat_Depth16:
|
||||||
case nzPixelFormat_Depth24:
|
case nzPixelFormat_Depth24:
|
||||||
case nzPixelFormat_Depth24Stencil8:
|
case nzPixelFormat_Depth24Stencil8:
|
||||||
|
|
@ -425,7 +449,13 @@ inline NzString NzPixelFormat::ToString(nzPixelFormat format)
|
||||||
|
|
||||||
case nzPixelFormat_LA8:
|
case nzPixelFormat_LA8:
|
||||||
return "LA8";
|
return "LA8";
|
||||||
/*
|
|
||||||
|
case nzPixelFormat_RGB5A1:
|
||||||
|
return "RGB5A1";
|
||||||
|
|
||||||
|
case nzPixelFormat_RGB8:
|
||||||
|
return "RGB8";
|
||||||
|
|
||||||
case nzPixelFormat_RGB16F:
|
case nzPixelFormat_RGB16F:
|
||||||
return "RGB16F";
|
return "RGB16F";
|
||||||
|
|
||||||
|
|
@ -438,6 +468,12 @@ inline NzString NzPixelFormat::ToString(nzPixelFormat format)
|
||||||
case nzPixelFormat_RGB32I:
|
case nzPixelFormat_RGB32I:
|
||||||
return "RGB32I";
|
return "RGB32I";
|
||||||
|
|
||||||
|
case nzPixelFormat_RGBA4:
|
||||||
|
return "RGBA4";
|
||||||
|
|
||||||
|
case nzPixelFormat_RGBA8:
|
||||||
|
return "RGBA8";
|
||||||
|
|
||||||
case nzPixelFormat_RGBA16F:
|
case nzPixelFormat_RGBA16F:
|
||||||
return "RGBA16F";
|
return "RGBA16F";
|
||||||
|
|
||||||
|
|
@ -449,18 +485,6 @@ inline NzString NzPixelFormat::ToString(nzPixelFormat format)
|
||||||
|
|
||||||
case nzPixelFormat_RGBA32I:
|
case nzPixelFormat_RGBA32I:
|
||||||
return "RGBA32I";
|
return "RGBA32I";
|
||||||
*/
|
|
||||||
case nzPixelFormat_RGBA4:
|
|
||||||
return "RGBA4";
|
|
||||||
|
|
||||||
case nzPixelFormat_RGB5A1:
|
|
||||||
return "RGB5A1";
|
|
||||||
|
|
||||||
case nzPixelFormat_RGB8:
|
|
||||||
return "RGB8";
|
|
||||||
|
|
||||||
case nzPixelFormat_RGBA8:
|
|
||||||
return "RGBA8";
|
|
||||||
|
|
||||||
case nzPixelFormat_Depth16:
|
case nzPixelFormat_Depth16:
|
||||||
return "Depth16";
|
return "Depth16";
|
||||||
|
|
|
||||||
|
|
@ -1388,6 +1388,30 @@ bool NzOpenGL::TranslateFormat(nzPixelFormat pixelFormat, Format* format, Format
|
||||||
format->internalFormat = GL_RGB8;
|
format->internalFormat = GL_RGB8;
|
||||||
return true;
|
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:
|
case nzPixelFormat_RGBA4:
|
||||||
format->dataFormat = GL_RGBA;
|
format->dataFormat = GL_RGBA;
|
||||||
format->dataType = GL_UNSIGNED_SHORT_4_4_4_4;
|
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;
|
format->internalFormat = GL_RGBA8;
|
||||||
return true;
|
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:
|
case nzPixelFormat_Depth16:
|
||||||
format->dataFormat = GL_DEPTH_COMPONENT;
|
format->dataFormat = GL_DEPTH_COMPONENT;
|
||||||
format->dataType = GL_UNSIGNED_BYTE;
|
format->dataType = GL_UNSIGNED_BYTE;
|
||||||
|
|
|
||||||
|
|
@ -1306,6 +1306,17 @@ bool NzTexture::IsFormatSupported(nzPixelFormat format)
|
||||||
case nzPixelFormat_RGBA4:
|
case nzPixelFormat_RGBA4:
|
||||||
return true;
|
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)
|
// Formats de profondeur (Supportés avec les FBOs)
|
||||||
case nzPixelFormat_Depth16:
|
case nzPixelFormat_Depth16:
|
||||||
case nzPixelFormat_Depth24:
|
case nzPixelFormat_Depth24:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue