module Texture (textureSet) where import Graphics.Rendering.OpenGL import Graphics.UI.GLUT import Foreign import Data.Maybe import Data.Bitmap.IO import Data.Bitmap.OpenGL import Codec.Image.STB import System.Exit import TextureObjects import Data.IORef ------テクスチャグループのセット textureSet :: (IORef TexObjsGroup) -> IO () textureSet tOGp = do let fname00 = "./images/flora2.jpg" fname01 = "./images/flora_ite.jpg" fname10 = "./images/reisia4.jpg" fname11= "./images/reisia_ite.jpg" fname20 = "./images/diena3.jpg" fname21= "./images/diena_ite.jpg" teximg00 <- loadImage fname00 >>= \result -> case result of Left err -> putStrLn err >> exitFailure Right img -> return img texObj00 <- makeSimpleBitmapTexture teximg00 teximg01 <- loadImage fname01 >>= \result -> case result of Left err -> putStrLn err >> exitFailure Right img -> return img texObj01 <- makeSimpleBitmapTexture teximg01 teximg10 <- loadImage fname10 >>= \result -> case result of Left err2 -> putStrLn err2 >> exitFailure Right img2 -> return img2 texObj10 <- makeSimpleBitmapTexture teximg10 teximg11 <- loadImage fname11 >>= \result -> case result of Left err2 -> putStrLn err2 >> exitFailure Right img2 -> return img2 texObj11 <- makeSimpleBitmapTexture teximg11 teximg20 <- loadImage fname20 >>= \result -> case result of Left err3 -> putStrLn err3 >> exitFailure Right img3 -> return img3 texObj20 <- makeSimpleBitmapTexture teximg20 teximg21 <- loadImage fname21 >>= \result -> case result of Left err3 -> putStrLn err3 >> exitFailure Right img3 -> return img3 texObj21 <- makeSimpleBitmapTexture teximg21 tOGp $= [[texObj00,texObj01],[texObj10,texObj11],[texObj20,texObj21]]