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