25 lines
557 B
Haskell
25 lines
557 B
Haskell
module Hetris.Base
|
|
where
|
|
import Shader.Data
|
|
import Shader.Compile
|
|
|
|
--import qualified Data.Vector.Unboxed.Mutable as MV
|
|
--import Control.Monad.Primitive
|
|
--import qualified Data.Array.Repa as R
|
|
import Linear.V2
|
|
|
|
data World = World
|
|
{ _placedBlocks :: [[V2 Float]]
|
|
, _polyShader :: FullShader
|
|
}
|
|
|
|
initWorld :: IO World
|
|
initWorld = do
|
|
let pb = replicate 20 [0,0,0,0,0,1,1,1,1,1]
|
|
theShader <- makeShader "twoD/basic" [vert,frag] [3,4] ETriangles
|
|
return $ World
|
|
{_placedBlocks = pb
|
|
,_polyShader = theShader
|
|
}
|
|
|