X-Git-Url: http://git.mutantstargoat.com?p=demo;a=blobdiff_plain;f=src%2Fimage.cc;h=a99f75ade69ad7fc1c18e15e5560bffe74f36cd7;hp=01ee08f6952f3c40f8288627925ad483e42a3a70;hb=fd601d4218b63fdf92c5e4dfa32eac8adbda82fa;hpb=47982b199010496e34eefb95044275fb231cba18 diff --git a/src/image.cc b/src/image.cc index 01ee08f..a99f75a 100644 --- a/src/image.cc +++ b/src/image.cc @@ -119,4 +119,23 @@ bool Image::load(const char *fname) img_destroy(&ipm); return true; +} + +Vec4 Image::lookup_nearest(float u, float v) const +{ + int x = (int)(u * w) % w; + int y = (int)(v * h) % h; + + if(is_float) { + return ((Vec4*)pixels)[y * w + x]; + } + + Vec4 color; + unsigned char *pptr = ((unsigned char*)pixels) + (y * w + x) * 4; + color.x = pptr[0] / 255.0; + color.y = pptr[1] / 255.0; + color.z = pptr[2] / 255.0; + color.w = pptr[3] / 255.0; + + return color; } \ No newline at end of file