GLGETPIXELMAP(3G)

πŸ“¦ version 1.1, in centos-stream 9, fedora 43, fedora 44

✨ GLGETPIXELMAP ✨

okay bestie, this is the GLGETPIXELMAP(3G) page from the 3G manual, and it's literally all about pulling pixel maps back out of OpenGL πŸ’– no cap, it's shorter than it looks, so let's go 🫢


πŸŽ€ NAME πŸŽ€

glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv β€” return the specified pixel map πŸ’…


🌸 C SPECIFICATION 🌸

void glGetPixelMapfv( GLenum map,
                      GLfloat *values )
void glGetPixelMapuiv( GLenum map,
                       GLuint *values )
void glGetPixelMapusv( GLenum map,
                       GLushort *values )

πŸ¦‹ PARAMETERS πŸ¦‹

  • map β€” the name of the pixel map you wanna get back, bestie. The accepted values are GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, and GL_PIXEL_MAP_A_TO_A. that's the whole menu, no substitutions πŸ”₯
  • values β€” returns the pixel map contents. it's the lil output bucket, she's giving results ✨

πŸ’œ DESCRIPTION πŸ’œ

okay so, for a full rundown of what's allowed in the map parameter, go check the glPixelMap reference page β€” that's where the lore lives. glGetPixelMap returns in values the contents of the pixel map you named in map. πŸ’–

and like, what even are pixel maps for? they get used during the execution of glReadPixels, glDrawPixels, glCopyPixels, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glCopyTexImage1D, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glCopyTexSubImage3D, glColorTable, glColorSubTable, glCopyColorTable, glCopyColorSubTable, glConvolutionFilter1D, glConvolutionFilter2D, glSeparableFilter2D, glGetHistogram, glGetMinmax, and glGetTexImage β€” and what they do there is map color indices, stencil indices, color components, and depth components to other values. that's a lot of functions but they're all just vibing off the same map, iykyk πŸ‘‘

if you ask for unsigned integer values, they get linearly mapped from the internal fixed or floating-point representation, in a very specific way: 1.0 maps to the largest representable integer value, and 0.0 maps to 0. 🌈

⚠️ but listen β€” returned unsigned integer values are undefined if the map value was not in the range [0,1]. not "kinda weird", not "off by a little", undefined. be careful out there πŸ₯Ί

and to figure out how big map needs to be, call glGet with the appropriate symbolic constant. easy πŸ’…


🌟 NOTES 🌟

if an error gets generated, no change is made to the contents of values. she stays untouched, periodt πŸ’€


πŸ“ ERRORS πŸ“

  • GL_INVALID_ENUM is generated if map is not an accepted value. (like, she checked the list, you're not on it πŸ’€)
  • GL_INVALID_OPERATION is generated if glGetPixelMap is executed between the execution of glBegin and the corresponding execution of glEnd. so don't be doing this mid-glBegin, bestie, that's a whole violation 😭

πŸ‘‘ ASSOCIATED GETS πŸ‘‘

here's the entire squad of size lookups 🫢

  • glGet with argument GL_PIXEL_MAP_I_TO_I_SIZE
  • glGet with argument GL_PIXEL_MAP_S_TO_S_SIZE
  • glGet with argument GL_PIXEL_MAP_I_TO_R_SIZE
  • glGet with argument GL_PIXEL_MAP_I_TO_G_SIZE
  • glGet with argument GL_PIXEL_MAP_I_TO_B_SIZE
  • glGet with argument GL_PIXEL_MAP_I_TO_A_SIZE
  • glGet with argument GL_PIXEL_MAP_R_TO_R_SIZE
  • glGet with argument GL_PIXEL_MAP_G_TO_G_SIZE
  • glGet with argument GL_PIXEL_MAP_B_TO_B_SIZE
  • glGet with argument GL_PIXEL_MAP_A_TO_A_SIZE
  • glGet with argument GL_MAX_PIXEL_MAP_TABLE

🧚 SEE ALSO 🧚

the whole friend group, go say hi 🌸

  • glColorSubTable(3G), glColorTable(3G), glConvolutionFilter1D(3G), glConvolutionFilter2D(3G), glCopyColorSubTable(3G), glCopyColorTable(3G), glCopyPixels(3G), glCopyTexImage1D(3G), glCopyTexImage2D(3G), glCopyTexSubImage1D(3G), glCopyTexSubImage2D(3G), glCopyTexSubImage3D(3G), glDrawPixels(3G), glGetHistogram(3G), glGetMinmax(3G), glGetTexImage(3G), glPixelMap(3G), glPixelTransfer(3G), glReadPixels(3G), glSeparableFilter2D(3G), glTexImage1D(3G), glTexImage2D(3G) glTexImage3D(3G), glTexSubImage1D(3G), glTexSubImage2D(3G), glTexSubImage3D(3G)

and that's the whole page, bestie!! πŸ’– this was GLGETPIXELMAP(3G) from the 3G manual, footer and all β€” mwah, go forth and map those pixels responsibly πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from