[rlgl] add RL_PIXELFORMAT_UNCOMPRESSED_DEPTH to enum rlPixelFormat
This commit is contained in:
parent
99cab6d3a7
commit
2356cb8785
52
src/rlgl.h
52
src/rlgl.h
|
|
@ -461,6 +461,7 @@ typedef enum {
|
||||||
RL_PIXELFORMAT_UNCOMPRESSED_R16, // 16 bpp (1 channel - half float)
|
RL_PIXELFORMAT_UNCOMPRESSED_R16, // 16 bpp (1 channel - half float)
|
||||||
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16, // 16*3 bpp (3 channels - half float)
|
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16, // 16*3 bpp (3 channels - half float)
|
||||||
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, // 16*4 bpp (4 channels - half float)
|
RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, // 16*4 bpp (4 channels - half float)
|
||||||
|
RL_PIXELFORMAT_UNCOMPRESSED_DEPTH, // Depth component (24 or 16 bit, depending on OpenGL version)
|
||||||
RL_PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha)
|
RL_PIXELFORMAT_COMPRESSED_DXT1_RGB, // 4 bpp (no alpha)
|
||||||
RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha)
|
RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha)
|
||||||
RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp
|
RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA, // 8 bpp
|
||||||
|
|
@ -3630,6 +3631,36 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
case RL_PIXELFORMAT_UNCOMPRESSED_DEPTH:
|
||||||
|
if (RLGL.ExtSupported.texDepth)
|
||||||
|
{
|
||||||
|
*glFormat = GL_DEPTH_COMPONENT;
|
||||||
|
|
||||||
|
if (RLGL.ExtSupported.texDepthWebGL)
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT;
|
||||||
|
*glType = GL_UNSIGNED_SHORT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (RLGL.ExtSupported.maxDepthBits == 32)
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT32_OES;
|
||||||
|
*glType = GL_UNSIGNED_INT;
|
||||||
|
}
|
||||||
|
else if (RLGL.ExtSupported.maxDepthBits == 24)
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT24_OES;
|
||||||
|
*glType = GL_UNSIGNED_INT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT16_OES;
|
||||||
|
*glType = GL_UNSIGNED_SHORT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
#elif defined(GRAPHICS_API_OPENGL_33)
|
#elif defined(GRAPHICS_API_OPENGL_33)
|
||||||
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break;
|
case RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: *glInternalFormat = GL_R8; *glFormat = GL_RED; *glType = GL_UNSIGNED_BYTE; break;
|
||||||
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_RG8; *glFormat = GL_RG; *glType = GL_UNSIGNED_BYTE; break;
|
case RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: *glInternalFormat = GL_RG8; *glFormat = GL_RG; *glType = GL_UNSIGNED_BYTE; break;
|
||||||
|
|
@ -3644,6 +3675,27 @@ void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned
|
||||||
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_R16F; *glFormat = GL_RED; *glType = GL_HALF_FLOAT; break;
|
case RL_PIXELFORMAT_UNCOMPRESSED_R16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_R16F; *glFormat = GL_RED; *glType = GL_HALF_FLOAT; break;
|
||||||
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB16F; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT; break;
|
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGB16F; *glFormat = GL_RGB; *glType = GL_HALF_FLOAT; break;
|
||||||
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA16F; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT; break;
|
case RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: if (RLGL.ExtSupported.texFloat16) *glInternalFormat = GL_RGBA16F; *glFormat = GL_RGBA; *glType = GL_HALF_FLOAT; break;
|
||||||
|
case RL_PIXELFORMAT_UNCOMPRESSED_DEPTH:
|
||||||
|
if (RLGL.ExtSupported.texDepth)
|
||||||
|
{
|
||||||
|
*glFormat = GL_DEPTH_COMPONENT;
|
||||||
|
if (RLGL.ExtSupported.maxDepthBits == 32)
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT32F;
|
||||||
|
*glType = GL_FLOAT;
|
||||||
|
}
|
||||||
|
else if (RLGL.ExtSupported.maxDepthBits == 24)
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT24;
|
||||||
|
*glType = GL_UNSIGNED_INT;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*glInternalFormat = GL_DEPTH_COMPONENT16;
|
||||||
|
*glType = GL_UNSIGNED_SHORT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if !defined(GRAPHICS_API_OPENGL_11)
|
#if !defined(GRAPHICS_API_OPENGL_11)
|
||||||
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break;
|
case RL_PIXELFORMAT_COMPRESSED_DXT1_RGB: if (RLGL.ExtSupported.texCompDXT) *glInternalFormat = GL_COMPRESSED_RGB_S3TC_DXT1_EXT; break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user