aboutsummaryrefslogtreecommitdiff
path: root/Resources.hs
diff options
context:
space:
mode:
authorJoshua Rahm <joshua.rahm@colorado.edu>2014-04-18 01:28:35 -0600
committerJoshua Rahm <joshua.rahm@colorado.edu>2014-04-18 01:28:35 -0600
commite4754131548a55fea393d6fc9245b20fcd60c62c (patch)
tree8ad371c87c22844a4e1762ef5396c894cbd813f1 /Resources.hs
parent915cda147b565880fecefe5f82ca242bad6114fc (diff)
downloadterralloc-e4754131548a55fea393d6fc9245b20fcd60c62c.tar.gz
terralloc-e4754131548a55fea393d6fc9245b20fcd60c62c.tar.bz2
terralloc-e4754131548a55fea393d6fc9245b20fcd60c62c.zip
starting tesselation shader
Diffstat (limited to 'Resources.hs')
-rw-r--r--Resources.hs14
1 files changed, 12 insertions, 2 deletions
diff --git a/Resources.hs b/Resources.hs
index c32de5f..532878c 100644
--- a/Resources.hs
+++ b/Resources.hs
@@ -229,6 +229,15 @@ loadProgramSafe' s1 s2 s3 = do
when (isNothing progMaybe) $ exitWith (ExitFailure 111)
return $ fromJust progMaybe
+loadProgramFullSafe' ::
+ (IsShaderSource tc, IsShaderSource te,
+ IsShaderSource g, IsShaderSource v,
+ IsShaderSource f) => Maybe (tc, te) -> Maybe g -> v -> f -> IO Program
+loadProgramFullSafe' a b c d = do
+ progMaybe <- loadProgramFullSafe a b c d
+ when (isNothing progMaybe) $ exitWith (ExitFailure 111)
+ return $ fromJust progMaybe
+
buildTerrainObject :: BuilderM GLfloat b -> IO (GlyphObject ())
buildTerrainObject builder = do
let terrainList = map ("terrain/"++)
@@ -302,8 +311,9 @@ makeResources :: SDL.Surface -> BuilderM GLfloat b ->
BuilderM GLfloat a -> IO Resources
makeResources surf builder forestB jungleB water = do
let pMatrix' = perspectiveMatrix 50 1.8 0.1 100
- waterProg <- loadProgramSafe'
- "shaders/water.vert" "shaders/water.frag" (Nothing::Maybe String)
+ waterProg <- loadProgramFullSafe'
+ (Just ("shaders/water.tcs","shaders/water.tes"))
+ (Nothing::Maybe String) "shaders/water.vert" "shaders/water.frag"
waterTexture <- load "textures/water.jpg" >>= textureFromSurface
location <- get (uniformLocation waterProg "texture")
Resources