ofFbo supported colour modes

Hey all!

been a while since been on the forum, good to be back :slight_smile:

I’m playing with something at the moment where i need to render a single pixel as an unsigned short and read the value back.

i’m trying on osx…

		indexBuffer.allocate(1, 1, GL_LUMINANCE16);  

which is strange, as I’m using that target type (unsigned 16bit) in DirectX on the same machine/graphics card without error, so i presume the card supports it (though noted osx/ogl differs from dx). I’m thinking maybe either i’m using the wrong GL constants, or there’s extension modes that i need to use (e.g. like the way ofFbo example uses GL_RGBA32F_ARB)

Other colour modes that throw the same error FRAMEBUFFER_UNSUPPORTED:



  • GL_LUMINANCE16 (above)


ones that work:

  • GL_RGB


  • GL_RGB32F

  • GL_RGBA32F



  • GL_R16

  • GL_R16UI

  • GL_RGB10

  • GL_RGB12

i can live with GL_RGBA32F for the time being.

Is this something:

  1. The way oF is setup with openGL
  2. Specific implementation missing from ofFbo/ofTexture
  3. My machine (mid-2008 MacBook Pro w/NVidia 9400,9600 GPU, NOTE: i’m using the 9600 for testing)


These modes all work in DX on the same machine (except haven’t checked 10bit,12bit modes)

It seems the ‘FRAMEBUFFER_UNSUPPORTED’ list should all be working, however…
afaik GL_LUMINANCE16 is supposed to be depreciated in favour or GL_R16.

Elliot, i just remembered that kyle and i had this problem in osx too with some code that used GL_LUMINANCE in an fbo, the code worked in linux but not in osx, but can’t give you any more clues :confused:

im working on a iOS project which is using a few ofFbo objects…
i thought id try to change to the ofFbo internal format to GL_LUMINANCE and only use a quarter of memory, but im also getting the following error [ error ] ofFbo: FRAMEBUFFER_UNSUPPORTED.
can confirm this is also happening on OSX.
id like to have a dig around and try to fix it but really pressed for time with this project,
does anyone else have a solution for this?

github issue logged here,