Bitmap: Make #get_pixel/#set_pixel more accurate

This gets rid of the "batch/flush" semantics for #set_pixel
and instead just directly uploads the pixel color to the
texture, circumventing the float conversion entirely.
Also makes a lot of code simpler in many places as calling
'flush()' is no longer required for bitmaps.
This commit is contained in:
Jonas Kulla 2014-01-31 10:19:16 +01:00
parent 1b0eb2797d
commit e0a4dfe372
10 changed files with 23 additions and 157 deletions

View file

@ -202,7 +202,7 @@ RB_METHOD(bitmapGetPixel)
return Qnil;
)
Vec4 value;
Color value;
GUARD_EXC( value = b->getPixel(x, y); );
Color *color = new Color(value);
@ -223,7 +223,7 @@ RB_METHOD(bitmapSetPixel)
color = getPrivateDataCheck<Color>(colorObj, ColorType);
GUARD_EXC( b->setPixel(x, y, color->norm); );
GUARD_EXC( b->setPixel(x, y, *color); );
return self;
}