add Bitmap texture coordinate sampling convenience method

his has some off-by-one issues ... ? looks like it mostly works fine,
but i need to investigate more
This commit is contained in:
Gered 2023-04-01 00:49:52 -04:00
parent a106228517
commit ed58dc39cd

View file

@ -66,6 +66,13 @@ impl<PixelType: Pixel> Bitmap<PixelType> {
*(self.pixels_at_ptr_unchecked(x, y))
}
#[inline]
pub fn sample_at(&self, u: f32, v: f32) -> PixelType {
let x = (u * self.width as f32) as i32 % self.width as i32;
let y = (v * self.height as f32) as i32 % self.height as i32;
unsafe { self.get_pixel_unchecked(x, y) }
}
/// Renders a single character using the font given.
#[inline]
pub fn print_char<T: Font>(&mut self, ch: char, x: i32, y: i32, opts: FontRenderOpts<PixelType>, font: &T) {