From c44c350892a4955c7457abe1cbb81bbf0a22a86c Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Wed, 4 Jul 2018 23:49:06 +0300 Subject: [PATCH] Allow RED and RG pixel formats in RenderTargetFormat --- source/rendertarget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/rendertarget.cpp b/source/rendertarget.cpp index c651e665..239180f5 100644 --- a/source/rendertarget.cpp +++ b/source/rendertarget.cpp @@ -46,7 +46,7 @@ RenderTargetFormat RenderTargetFormat::operator,(PixelFormat f) const } else { - if(unsized!=RGB && unsized!=RGBA) + if(unsized!=RED && unsized!=RG && unsized!=RGB && unsized!=RGBA) throw invalid_argument("RenderTargetformat::operator,"); if(size>3) --size; @@ -72,7 +72,6 @@ int RenderTargetFormat::index(RenderOutput o) const PixelFormat get_output_pixelformat(unsigned char o) { - unsigned ncomp = (o&3)+1; unsigned size = ((o>>2)&3); PixelFormat base; if(get_output_type(o)>=get_output_type(RENDER_DEPTH)) @@ -83,7 +82,8 @@ PixelFormat get_output_pixelformat(unsigned char o) } else { - base = (ncomp==4 ? RGBA : RGB); + static PixelFormat base_formats[4] = { RED, RG, RGB, RGBA }; + base = base_formats[o&3]; if(size==3) ++size; } -- 2.43.0