better noise-function
This commit is contained in:
parent
7dd79f095c
commit
a91aad5daa
@ -133,7 +133,8 @@ void main()
|
|||||||
float i2 = (1-gl_TessCoord.z)*gl_TessCoord.z * length(cross(tcNormal[2],tessNormal));
|
float i2 = (1-gl_TessCoord.z)*gl_TessCoord.z * length(cross(tcNormal[2],tessNormal));
|
||||||
float standout = i0+i1+i2;
|
float standout = i0+i1+i2;
|
||||||
tePosition = tePosition+tessNormal*standout;
|
tePosition = tePosition+tessNormal*standout;
|
||||||
tePosition = tePosition+0.05*snoise(tePosition);
|
vec3 tmp = tePosition+1*snoise(tePosition/20);
|
||||||
|
tePosition = vec3(tePosition.x, tmp.y, tePosition.z);
|
||||||
gl_Position = ProjectionMatrix * ViewMatrix * vec4(tePosition, 1);
|
gl_Position = ProjectionMatrix * ViewMatrix * vec4(tePosition, 1);
|
||||||
fogDist = gl_Position.z;
|
fogDist = gl_Position.z;
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import Render.Misc
|
|||||||
import Render.Types
|
import Render.Types
|
||||||
import Graphics.GLUtil.BufferObjects (makeBuffer)
|
import Graphics.GLUtil.BufferObjects (makeBuffer)
|
||||||
import Importer.IQM.Parser
|
import Importer.IQM.Parser
|
||||||
|
import Importer.IQM.Types
|
||||||
|
|
||||||
mapVertexShaderFile :: String
|
mapVertexShaderFile :: String
|
||||||
mapVertexShaderFile = "shaders/map/vertex.shader"
|
mapVertexShaderFile = "shaders/map/vertex.shader"
|
||||||
@ -34,9 +35,9 @@ mapFragmentShaderFile :: String
|
|||||||
mapFragmentShaderFile = "shaders/map/fragment.shader"
|
mapFragmentShaderFile = "shaders/map/fragment.shader"
|
||||||
|
|
||||||
objectVertexShaderFile :: String
|
objectVertexShaderFile :: String
|
||||||
objectVertexShaderFile = "shaders/objects/vertex.shader"
|
objectVertexShaderFile = "shaders/mapobjects/vertex.shader"
|
||||||
objectFragmentShaderFile :: String
|
objectFragmentShaderFile :: String
|
||||||
objectFragmentShaderFile = "shaders/objects/fragment.shader"
|
objectFragmentShaderFile = "shaders/mapobjects/fragment.shader"
|
||||||
|
|
||||||
uiVertexShaderFile :: String
|
uiVertexShaderFile :: String
|
||||||
uiVertexShaderFile = "shaders/ui/vertex.shader"
|
uiVertexShaderFile = "shaders/ui/vertex.shader"
|
||||||
@ -122,7 +123,7 @@ initMapShader tessFac (buf, vertDes) = do
|
|||||||
testobj <- parseIQM "sample.iqm"
|
testobj <- parseIQM "sample.iqm"
|
||||||
|
|
||||||
let
|
let
|
||||||
objs = [GLObject testobj (Coord3D 0 10 0)]
|
objs = [MapObject testobj (L.V3 0 10 0) (MapObjectState ())]
|
||||||
|
|
||||||
! vertexSource' <- B.readFile objectVertexShaderFile
|
! vertexSource' <- B.readFile objectVertexShaderFile
|
||||||
! fragmentSource' <- B.readFile objectFragmentShaderFile
|
! fragmentSource' <- B.readFile objectFragmentShaderFile
|
||||||
@ -288,9 +289,15 @@ renderOverview = do
|
|||||||
checkError "draw map"
|
checkError "draw map"
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
|
||||||
|
-- | renders an IQM-Model at Position with scaling
|
||||||
|
renderIQM :: IQM -> L.V3 CFloat -> L.V3 CFloat -> IO ()
|
||||||
|
renderIQM m p@(L.V3 x y z) s@(L.V3 sx sy sz) = do
|
||||||
|
return ()
|
||||||
|
|
||||||
renderObject :: MapObject -> IO ()
|
renderObject :: MapObject -> IO ()
|
||||||
renderObject (MapObject model (L.V3 x y z) _{-state-}) =
|
renderObject (MapObject model pos@(L.V3 x y z) _{-state-}) =
|
||||||
undefined
|
renderIQM model pos (L.V3 1 1 1)
|
||||||
|
|
||||||
|
|
||||||
render :: Pioneers ()
|
render :: Pioneers ()
|
||||||
@ -390,7 +397,7 @@ render = do
|
|||||||
|
|
||||||
---- RENDER MAPOBJECTS --------------------------------------------
|
---- RENDER MAPOBJECTS --------------------------------------------
|
||||||
|
|
||||||
currentProgram $= Just (state ^. gl.glMap.objectsProgram)
|
currentProgram $= Just (state ^. gl.glMap.objectProgram)
|
||||||
|
|
||||||
mapM_ renderObject (state ^. gl.glMap.mapObjects)
|
mapM_ renderObject (state ^. gl.glMap.mapObjects)
|
||||||
|
|
||||||
|
@ -118,11 +118,6 @@ data GLMapState = GLMapState
|
|||||||
, _overviewTexture :: !TextureObject
|
, _overviewTexture :: !TextureObject
|
||||||
, _mapTextures :: ![TextureObject] --TODO: Fix size on list?
|
, _mapTextures :: ![TextureObject] --TODO: Fix size on list?
|
||||||
, _objectProgram :: !GL.Program
|
, _objectProgram :: !GL.Program
|
||||||
, _mapObjects :: ![GLObject]
|
|
||||||
}
|
|
||||||
|
|
||||||
data GLObject = GLObject IQM (Coord3D Double)
|
|
||||||
, _objectsProgram :: !GL.Program
|
|
||||||
, _mapObjects :: ![MapObject]
|
, _mapObjects :: ![MapObject]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user