Rename fadeCircle shaders to lightmapCircle
This commit is contained in:
@@ -0,0 +1,12 @@
|
|||||||
|
#version 430 core
|
||||||
|
in vec2 cenPosT;
|
||||||
|
in vec2 gParams;
|
||||||
|
out vec4 fColor;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec2 pos = gl_FragCoord.xy;
|
||||||
|
float dist = min(1 , 2*distance(pos,cenPosT) / (gParams.x));
|
||||||
|
float c = gParams.y * pow(1-dist,2);
|
||||||
|
fColor = vec4( c,c,c ,c );
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#version 430 core
|
||||||
|
layout (points) in;
|
||||||
|
layout (triangle_strip, max_vertices = 4) out;
|
||||||
|
in vec2 vParams [];
|
||||||
|
out vec2 gParams;
|
||||||
|
out vec2 cenPosT;
|
||||||
|
|
||||||
|
uniform vec2 winSize;
|
||||||
|
uniform float zoom;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec3 cenPos = gl_in[0].gl_Position.xyz;
|
||||||
|
gParams = vec2( vParams[0].x * zoom * 2, vParams[0].y);
|
||||||
|
float gRad = gParams.x;
|
||||||
|
|
||||||
|
cenPosT = vec2 ( (cenPos.x + 1) * 0.5 * winSize.x , (cenPos.y + 1) * 0.5 * winSize.y);
|
||||||
|
|
||||||
|
gl_Position = vec4 (cenPos.x + gRad/winSize.x, cenPos.y + gRad/winSize.y, 0.9 , 1);
|
||||||
|
EmitVertex();
|
||||||
|
gl_Position = vec4 (cenPos.x - gRad/winSize.x, cenPos.y + gRad/winSize.y, 0.9 , 1);
|
||||||
|
EmitVertex();
|
||||||
|
gl_Position = vec4 (cenPos.x + gRad/winSize.x, cenPos.y - gRad/winSize.y, 0.9 , 1);
|
||||||
|
EmitVertex();
|
||||||
|
gl_Position = vec4 (cenPos.x - gRad/winSize.x, cenPos.y - gRad/winSize.y, 0.9 , 1);
|
||||||
|
EmitVertex();
|
||||||
|
|
||||||
|
EndPrimitive();
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#version 430 core
|
||||||
|
layout (location = 0) in vec4 position;
|
||||||
|
out vec2 vParams;
|
||||||
|
|
||||||
|
uniform vec2 winSize;
|
||||||
|
uniform float zoom;
|
||||||
|
uniform vec2 translation;
|
||||||
|
uniform float rotation;
|
||||||
|
uniform mat4 worldMat;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position = vec4(position.xy,0,1);
|
||||||
|
vParams = position.zw;
|
||||||
|
}
|
||||||
@@ -277,8 +277,6 @@ drawEquipment cr = pictures $ map f $ IM.toList (_crInv cr)
|
|||||||
|
|
||||||
frontArmouredPict = const $ pictures [ color (greyN 0.8) $ circleSolid 20
|
frontArmouredPict = const $ pictures [ color (greyN 0.8) $ circleSolid 20
|
||||||
, color red $ circLine 20
|
, color red $ circLine 20
|
||||||
-- ,color (greyN 0.1) $ thickArc 0 90 20 5
|
|
||||||
-- ,color (greyN 0.1) $ thickArc 270 360 20 5
|
|
||||||
]
|
]
|
||||||
|
|
||||||
--packCrits :: (Int -> World -> World) -> [Int] -> [Creature]
|
--packCrits :: (Int -> World -> World) -> [Int] -> [Creature]
|
||||||
|
|||||||
@@ -564,7 +564,7 @@ startZoomOutLongGun _ w = w & creatures . ix 0 . crInv . ix (_crInvSel (_creatu
|
|||||||
|
|
||||||
|
|
||||||
poisonSprayer = defaultAutoGun
|
poisonSprayer = defaultAutoGun
|
||||||
{ _itName = "POISONSPRAYER"
|
{ _itName = "POISONSPRAY"
|
||||||
, _itIdentity = PoisonSprayer
|
, _itIdentity = PoisonSprayer
|
||||||
, _wpMaxAmmo = 500
|
, _wpMaxAmmo = 500
|
||||||
, _wpLoadedAmmo = 500
|
, _wpLoadedAmmo = 500
|
||||||
@@ -586,7 +586,7 @@ poisonSprayer = defaultAutoGun
|
|||||||
}
|
}
|
||||||
|
|
||||||
flamer = defaultAutoGun
|
flamer = defaultAutoGun
|
||||||
{ _itName = "FLAMETHROWER"
|
{ _itName = "FLAMER"
|
||||||
, _itIdentity = Flamethrower
|
, _itIdentity = Flamethrower
|
||||||
, _wpMaxAmmo = 250
|
, _wpMaxAmmo = 250
|
||||||
, _wpLoadedAmmo = 250
|
, _wpLoadedAmmo = 250
|
||||||
@@ -1058,8 +1058,8 @@ moveFlame rotd w pt =
|
|||||||
rfl wl p = Just $ pt {_btTimer' = time -1, _btPos' = pOut p
|
rfl wl p = Just $ pt {_btTimer' = time -1, _btPos' = pOut p
|
||||||
, _btVel' = reflV wl, _ptPict' = thepic $ pOut p
|
, _btVel' = reflV wl, _ptPict' = thepic $ pOut p
|
||||||
}
|
}
|
||||||
glow p' = onLayerL [levLayer UPtLayer,0] $ uncurry translate p'
|
glow p' = setLayer 2 $ onLayerL [levLayer UPtLayer,0] $ uncurry translate p'
|
||||||
$ color (withAlpha 0.02 orange)
|
$ color (withAlpha 0.01 orange)
|
||||||
$ circleSolid 50
|
$ circleSolid 50
|
||||||
pOut p = p +.+ safeNormalizeV (sp -.- p)
|
pOut p = p +.+ safeNormalizeV (sp -.- p)
|
||||||
--reflV wall = (0.6 *.* reflectIn (_wlLine wall !! 1 -.- _wlLine wall !! 0)
|
--reflV wall = (0.6 *.* reflectIn (_wlLine wall !! 1 -.- _wlLine wall !! 0)
|
||||||
|
|||||||
@@ -475,7 +475,6 @@ crGlareWidth :: Float -> Color -> Float -> Point2 -> Creature -> Particle'
|
|||||||
crGlareWidth wdth col alphay p cr =
|
crGlareWidth wdth col alphay p cr =
|
||||||
Particle'
|
Particle'
|
||||||
{ _ptPict' = onLayerL [levLayer GloomLayer + 2] $ l cp
|
{ _ptPict' = onLayerL [levLayer GloomLayer + 2] $ l cp
|
||||||
--{ _ptPict' = [(blank, [levLayer WlLayer + 2])]
|
|
||||||
, _ptUpdate' = \w pt -> (w, Just $ pt {_ptPict' = onLayerL [levLayer GloomLayer + 2] $ upp cid w
|
, _ptUpdate' = \w pt -> (w, Just $ pt {_ptPict' = onLayerL [levLayer GloomLayer + 2] $ upp cid w
|
||||||
,_ptUpdate' = ptTimer' 0
|
,_ptUpdate' = ptTimer' 0
|
||||||
}
|
}
|
||||||
@@ -489,7 +488,6 @@ crGlareWidth wdth col alphay p cr =
|
|||||||
cid = _crID cr
|
cid = _crID cr
|
||||||
upp cid' w' = case w' ^? creatures . ix cid . crPos of
|
upp cid' w' = case w' ^? creatures . ix cid . crPos of
|
||||||
Just y -> l y
|
Just y -> l y
|
||||||
--Just p -> uncurry translate p $ circleSolid 5
|
|
||||||
_ -> blank
|
_ -> blank
|
||||||
|
|
||||||
muzFlareAt :: Point2 -> World -> World
|
muzFlareAt :: Point2 -> World -> World
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ data RenderData = RenderData
|
|||||||
, _textShader :: (Program, [UniformLocation])
|
, _textShader :: (Program, [UniformLocation])
|
||||||
, _circShader :: (Program, [UniformLocation])
|
, _circShader :: (Program, [UniformLocation])
|
||||||
, _arcShader :: (Program, [UniformLocation])
|
, _arcShader :: (Program, [UniformLocation])
|
||||||
, _fadeCircleShader :: (Program, [UniformLocation])
|
, _lightmapCircleShader :: (Program, [UniformLocation])
|
||||||
, _backShader :: (Program, [UniformLocation])
|
, _backShader :: (Program, [UniformLocation])
|
||||||
, _wallShadowShader :: (Program, [UniformLocation])
|
, _wallShadowShader :: (Program, [UniformLocation])
|
||||||
, _triVAO :: VAO
|
, _triVAO :: VAO
|
||||||
@@ -100,7 +100,7 @@ preloadRender = do
|
|||||||
ts <- makeSourcedShader "character" [VertexShader,GeometryShader,FragmentShader]
|
ts <- makeSourcedShader "character" [VertexShader,GeometryShader,FragmentShader]
|
||||||
cs <- makeSourcedShader "circle" [VertexShader,GeometryShader,FragmentShader]
|
cs <- makeSourcedShader "circle" [VertexShader,GeometryShader,FragmentShader]
|
||||||
as <- makeSourcedShader "arc" [VertexShader,GeometryShader,FragmentShader]
|
as <- makeSourcedShader "arc" [VertexShader,GeometryShader,FragmentShader]
|
||||||
fcs <- makeSourcedShader "fadeCircle" [VertexShader,GeometryShader,FragmentShader]
|
fcs <- makeSourcedShader "lightmapCircle" [VertexShader,GeometryShader,FragmentShader]
|
||||||
bgs <- makeSourcedShader "background" [VertexShader,GeometryShader,FragmentShader]
|
bgs <- makeSourcedShader "background" [VertexShader,GeometryShader,FragmentShader]
|
||||||
wss <- makeSourcedShader "wallShadow" [VertexShader,GeometryShader,FragmentShader]
|
wss <- makeSourcedShader "wallShadow" [VertexShader,GeometryShader,FragmentShader]
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ preloadRender = do
|
|||||||
, _textShader = ts
|
, _textShader = ts
|
||||||
, _circShader = cs
|
, _circShader = cs
|
||||||
, _arcShader = as
|
, _arcShader = as
|
||||||
, _fadeCircleShader = fcs
|
, _lightmapCircleShader = fcs
|
||||||
, _backShader = bgs
|
, _backShader = bgs
|
||||||
, _wallShadowShader = wss
|
, _wallShadowShader = wss
|
||||||
, _triVAO = trivao
|
, _triVAO = trivao
|
||||||
|
|||||||
@@ -364,7 +364,7 @@ renderPicture' pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints p
|
|||||||
,_textShader pdata
|
,_textShader pdata
|
||||||
,_circShader pdata
|
,_circShader pdata
|
||||||
,_arcShader pdata
|
,_arcShader pdata
|
||||||
,_fadeCircleShader pdata
|
,_lightmapCircleShader pdata
|
||||||
,_backShader pdata
|
,_backShader pdata
|
||||||
,_wallShadowShader pdata
|
,_wallShadowShader pdata
|
||||||
] $ \shad -> do
|
] $ \shad -> do
|
||||||
@@ -400,7 +400,7 @@ renderPicture' pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints p
|
|||||||
-- glDrawElements GL_POINTS (fromIntegral $ length wallPoints) GL_UNSIGNED_BYTE ptr
|
-- glDrawElements GL_POINTS (fromIntegral $ length wallPoints) GL_UNSIGNED_BYTE ptr
|
||||||
drawArrays Points (fromIntegral 0) (fromIntegral $ nWalls)
|
drawArrays Points (fromIntegral 0) (fromIntegral $ nWalls)
|
||||||
cullFace $= Nothing
|
cullFace $= Nothing
|
||||||
currentProgram $= Just (fst $ _fadeCircleShader pdata)
|
currentProgram $= Just (fst $ _lightmapCircleShader pdata)
|
||||||
bindVertexArrayObject $= Just (_vao $ _fadeCircVAO pdata)
|
bindVertexArrayObject $= Just (_vao $ _fadeCircVAO pdata)
|
||||||
let fadeCircPtr = (\(_,ptr,_) -> ptr) $ head $ _vaoBufferTargets $ _fadeCircVAO pdata
|
let fadeCircPtr = (\(_,ptr,_) -> ptr) $ head $ _vaoBufferTargets $ _fadeCircVAO pdata
|
||||||
pokeFourOff fadeCircPtr 0 (x,y,r,lum)
|
pokeFourOff fadeCircPtr 0 (x,y,r,lum)
|
||||||
@@ -437,9 +437,6 @@ renderPicture' pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints p
|
|||||||
,_textShader pdata
|
,_textShader pdata
|
||||||
,_circShader pdata
|
,_circShader pdata
|
||||||
,_arcShader pdata
|
,_arcShader pdata
|
||||||
-- ,_fadeCircleShader pdata
|
|
||||||
-- ,_backShader pdata
|
|
||||||
-- ,_wallShadowShader pdata
|
|
||||||
] $ \shad -> do
|
] $ \shad -> do
|
||||||
currentProgram $= Just (fst shad)
|
currentProgram $= Just (fst shad)
|
||||||
uniform (snd shad !! 0) $= Vector2 (2::Float) 2
|
uniform (snd shad !! 0) $= Vector2 (2::Float) 2
|
||||||
|
|||||||
+3
-3
@@ -64,9 +64,9 @@ makeArcShader = do
|
|||||||
|
|
||||||
makeFadeShader :: IO Program
|
makeFadeShader :: IO Program
|
||||||
makeFadeShader = do
|
makeFadeShader = do
|
||||||
vsSource <- BS.readFile "shader/fadeCircle.vert"
|
vsSource <- BS.readFile "shader/lightmapCircle.vert"
|
||||||
gsSource <- BS.readFile "shader/fadeCircle.geom"
|
gsSource <- BS.readFile "shader/lightmapCircle.geom"
|
||||||
fsSource <- BS.readFile "shader/fadeCircle.frag"
|
fsSource <- BS.readFile "shader/lightmapCircle.frag"
|
||||||
|
|
||||||
makeShaderProgram [(VertexShader, vsSource )
|
makeShaderProgram [(VertexShader, vsSource )
|
||||||
,(GeometryShader, gsSource )
|
,(GeometryShader, gsSource )
|
||||||
|
|||||||
Reference in New Issue
Block a user