aboutsummaryrefslogtreecommitdiffstats
path: root/src/Vivant/Texture.hs
blob: 7328c87aa3a97b3bbfe9b6f95a2a31d3f74b35f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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