Skip to content

Instantly share code, notes, and snippets.

View fenbf's full-sized avatar

Bartłomiej Filipek fenbf

View GitHub Profile
@fenbf
fenbf / CalcTexPixels.cpp
Created October 30, 2013 18:15
Function that will go through all texture object levels and count pixel counts and memory in bytes. Currently only Compressed textures formats are supported and RGB8 (RGB) or RGBA8 (RGBA)
void CalculateTextureObjectPixels(GLuint texID, unsigned long *pixelCount, unsigned long *memoryUsed)
{
int baseLevel = 0, maxLevel = 0;
glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, &baseLevel);
glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, &maxLevel);
long pixels = 0, bytes = 0, bpp = 0;
int texW = 0, texH = 0, texFmt = 0, compressed = 0, compressedBytes = 0;
for (int level = baseLevel; level <= maxLevel; ++level)
{