From cb467dc2a9a9c9ac438a68c3bd03ec201b6f75d6 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 28 Aug 2026 15:48:16 +0200 Subject: refactor(opengl-bindings): make texture::Builder create* fns take images as byte slices --- opengl-bindings/src/texture.rs | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/opengl-bindings/src/texture.rs b/opengl-bindings/src/texture.rs index b0b729f..6bb576f 100644 --- a/opengl-bindings/src/texture.rs +++ b/opengl-bindings/src/texture.rs @@ -28,15 +28,13 @@ impl Builder pub fn create_2d<'image>( &self, current_context: &MaybeCurrentContextWithFns, - image: Option>>, + image: Option<&[u8]>, pixel_data_format: PixelDataFormat, ) -> Result { - let image = image.map(Into::into); - if let Some(image) = &image { check_image_buffer_len_correct_for_size( - image.as_ref(), + image, [self.size.width, self.size.height, 1], pixel_data_format, )?; @@ -48,14 +46,14 @@ impl Builder texture.alloc_2d(current_context, self.mipmap_levels, pixel_data_format, size); - if let Some(image) = &image { + if let Some(image) = image { texture.sub_image_2d( current_context, 0, [0, 0], size, pixel_data_format, - image.as_ref(), + image, ); texture.generate_mipmap(current_context); @@ -65,18 +63,13 @@ impl Builder } #[must_use] - pub fn create_cube_map<'image, Image>( + pub fn create_cube_map<'image>( &self, current_context: &MaybeCurrentContextWithFns, - images: Option<[(CubeMapFace, Image); 6]>, + images: Option<[(CubeMapFace, &[u8]); 6]>, pixel_data_format: PixelDataFormat, ) -> Result - where - Image: Into>, { - let images = - images.map(|images| images.map(|(face, image)| (face, image.into()))); - for (_, image) in images.iter().flatten() { check_image_buffer_len_correct_for_size( image.as_ref(), @@ -98,7 +91,7 @@ impl Builder [0, 0, *face as crate::sys::types::GLint], [size[0], size[1], 1], pixel_data_format, - image.as_ref(), + *image, ); } -- cgit v1.2.3-18-g5258