aboutsummaryrefslogtreecommitdiffstats
path: root/src/Vivant/Texture.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Vivant/Texture.hs')
-rw-r--r--src/Vivant/Texture.hs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Vivant/Texture.hs b/src/Vivant/Texture.hs
new file mode 100644
index 0000000..7328c87
--- /dev/null
+++ b/src/Vivant/Texture.hs
@@ -0,0 +1,19 @@
+module Vivant.Texture (initTexture, loadTexture) where
+
+import Codec.Picture.Jpg (decodeJpeg)
+import Codec.Picture.Types (convertImage)
+import qualified Graphics.Rendering.OpenGL as GL
+import qualified Data.ByteString as BS
+import qualified Data.Vector.Storable as V
+
+import Paths_vivant (getDataDir)
+
+initTexture = do
+ GL.textureWrapMode GL.Texture2D GL.S $= (GL.Mirrored, GL.Repeat)
+ GL.textureWrapMode GL.Texture2D GL.T $= (GL.Mirrored, GL.Repeat)
+ GL.textureBorderColor GL.Texture2D $= GL.Color4 1 1 1 1
+ GL.textureFilter GL.Texture2D $= ((GL.Nearest, Nothing), GL.Linear')
+
+loadTexture = do
+ image <- BS.readFile $ datadir <> "/assets/wall.jpg"
+ convertImage $ decodeJpeg image