X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpixelformat.cpp;h=91f102261cf63006d933b017427656adc8cb867d;hb=483f28cfaff846f74fd49cb73b9f45fe843011fe;hp=d968917b25956440bf0f8f096baffec4dcba7737;hpb=a5797c9babd17673285b3b15c7572c2d8fe1595c;p=libs%2Fgl.git diff --git a/source/pixelformat.cpp b/source/pixelformat.cpp index d968917b..91f10226 100644 --- a/source/pixelformat.cpp +++ b/source/pixelformat.cpp @@ -19,31 +19,31 @@ istream &operator>>(istream &in, PixelFormat &fmt) in>>word; if(word=="COLOR_INDEX") - fmt=COLOR_INDEX; + fmt = COLOR_INDEX; else if(word=="STENCIL_INDEX") - fmt=STENCIL_INDEX; + fmt = STENCIL_INDEX; else if(word=="DEPTH_COMPONENT") - fmt=DEPTH_COMPONENT; + fmt = DEPTH_COMPONENT; else if(word=="RED") - fmt=RED; + fmt = RED; else if(word=="GREEN") - fmt=GREEN; + fmt = GREEN; else if(word=="BLUE") - fmt=BLUE; + fmt = BLUE; else if(word=="ALPHA") - fmt=ALPHA; + fmt = ALPHA; else if(word=="RGB") - fmt=RGB; + fmt = RGB; else if(word=="RGBA") - fmt=RGBA; + fmt = RGBA; else if(word=="BGR") - fmt=BGR; + fmt = BGR; else if(word=="BGRA") - fmt=BGRA; + fmt = BGRA; else if(word=="LUMINANCE") - fmt=LUMINANCE; + fmt = LUMINANCE; else if(word=="LUMINANCE_ALPHA") - fmt=LUMINANCE_ALPHA; + fmt = LUMINANCE_ALPHA; else in.setstate(ios_base::failbit); @@ -65,5 +65,25 @@ PixelFormat pixelformat_from_graphics(Graphics::PixelFormat pf) } } +PixelFormat get_base_pixelformat(PixelFormat pf) +{ + switch(pf) + { + case RGB8: + case RGB16F: + case RGB32F: return RGB; + case RGBA8: + case RGBA16F: + case RGBA32F: return RGBA; + case LUMINANCE8: + case LUMINANCE16F: + case LUMINANCE32F: return LUMINANCE; + case LUMINANCE_ALPHA8: + case LUMINANCE_ALPHA16F: + case LUMINANCE_ALPHA32F: return LUMINANCE_ALPHA; + default: return pf; + } +} + } // namespace GL } // namespace Msp