aboutsummaryrefslogtreecommitdiffstats
path: root/src/Vivant/Texture.hs
blob: dceba807143e292d737d81c3017876f846d62e4c (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 Data.ByteString           as BS
import qualified Data.Vector.Storable      as V
import qualified Graphics.Rendering.OpenGL as GL

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