From 1a2fc7c715c77246f36fd97accd91956561eb6ec Mon Sep 17 00:00:00 2001 From: justin Date: Thu, 23 Mar 2023 15:24:02 +0000 Subject: [PATCH] Continue work on texture binding --- src/Shader/AuxAddition.hs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/Shader/AuxAddition.hs b/src/Shader/AuxAddition.hs index dfea89e21..8dacd85f1 100644 --- a/src/Shader/AuxAddition.hs +++ b/src/Shader/AuxAddition.hs @@ -86,27 +86,13 @@ initTexture2DArray nlev minfilt magfilt fp = do let wtex = fromIntegral $ imageWidth texdata htex = fromIntegral $ imageHeight texdata z = htex `div` wtex - checkGLError - putStrLn "x" texname <- mglCreate $ glCreateTextures GL_TEXTURE_2D_ARRAY - checkGLError - putStrLn "y" glTextureStorage3D texname nlev GL_RGBA8 wtex wtex z - checkGLError - putStrLn "z" VS.unsafeWith (imageData texdata) $ \ptr -> do glTextureSubImage3D texname 0 0 0 0 wtex wtex z GL_RGBA GL_UNSIGNED_BYTE ptr - checkGLError - putStrLn "i" glGenerateTextureMipmap texname - checkGLError - putStrLn "q" glTextureParameteri texname GL_TEXTURE_MIN_FILTER (unsafeCoerce minfilt) - checkGLError - putStrLn "w" glTextureParameteri texname GL_TEXTURE_MAG_FILTER (unsafeCoerce magfilt) - checkGLError - putStrLn "e" return $ TO texname -- | for transforming a 256x256 image containing 64 tiles of 16x16 pixels into @@ -133,6 +119,11 @@ addBindTextureArray :: GLuint -> String -> GLsizei -> GLsizei -> GLsizei -> GLsi addBindTextureArray bindpoint fp nlev w h d minfilt magfilt = do Right cmap <- readImage fp let texdata = convertRGBA8 cmap + initTexture2DArrayData bindpoint texdata nlev w h d minfilt magfilt + +initTexture2DArrayData :: GLuint -> Image PixelRGBA8 -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum + -> IO () +initTexture2DArrayData bindpoint texdata nlev w h d minfilt magfilt = do texname <- mglCreate $ glCreateTextures GL_TEXTURE_2D_ARRAY glTextureStorage3D texname nlev GL_RGBA8 w h d VS.unsafeWith (imageData texdata) $ \ptr -> do