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
|
||||
, 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]
|
||||
|
||||
@@ -564,7 +564,7 @@ startZoomOutLongGun _ w = w & creatures . ix 0 . crInv . ix (_crInvSel (_creatu
|
||||
|
||||
|
||||
poisonSprayer = defaultAutoGun
|
||||
{ _itName = "POISONSPRAYER"
|
||||
{ _itName = "POISONSPRAY"
|
||||
, _itIdentity = PoisonSprayer
|
||||
, _wpMaxAmmo = 500
|
||||
, _wpLoadedAmmo = 500
|
||||
@@ -586,7 +586,7 @@ poisonSprayer = defaultAutoGun
|
||||
}
|
||||
|
||||
flamer = defaultAutoGun
|
||||
{ _itName = "FLAMETHROWER"
|
||||
{ _itName = "FLAMER"
|
||||
, _itIdentity = Flamethrower
|
||||
, _wpMaxAmmo = 250
|
||||
, _wpLoadedAmmo = 250
|
||||
@@ -1058,8 +1058,8 @@ moveFlame rotd w pt =
|
||||
rfl wl p = Just $ pt {_btTimer' = time -1, _btPos' = pOut p
|
||||
, _btVel' = reflV wl, _ptPict' = thepic $ pOut p
|
||||
}
|
||||
glow p' = onLayerL [levLayer UPtLayer,0] $ uncurry translate p'
|
||||
$ color (withAlpha 0.02 orange)
|
||||
glow p' = setLayer 2 $ onLayerL [levLayer UPtLayer,0] $ uncurry translate p'
|
||||
$ color (withAlpha 0.01 orange)
|
||||
$ circleSolid 50
|
||||
pOut p = p +.+ safeNormalizeV (sp -.- p)
|
||||
--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 =
|
||||
Particle'
|
||||
{ _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' = ptTimer' 0
|
||||
}
|
||||
@@ -489,7 +488,6 @@ crGlareWidth wdth col alphay p cr =
|
||||
cid = _crID cr
|
||||
upp cid' w' = case w' ^? creatures . ix cid . crPos of
|
||||
Just y -> l y
|
||||
--Just p -> uncurry translate p $ circleSolid 5
|
||||
_ -> blank
|
||||
|
||||
muzFlareAt :: Point2 -> World -> World
|
||||
|
||||
@@ -23,7 +23,7 @@ data RenderData = RenderData
|
||||
, _textShader :: (Program, [UniformLocation])
|
||||
, _circShader :: (Program, [UniformLocation])
|
||||
, _arcShader :: (Program, [UniformLocation])
|
||||
, _fadeCircleShader :: (Program, [UniformLocation])
|
||||
, _lightmapCircleShader :: (Program, [UniformLocation])
|
||||
, _backShader :: (Program, [UniformLocation])
|
||||
, _wallShadowShader :: (Program, [UniformLocation])
|
||||
, _triVAO :: VAO
|
||||
@@ -100,7 +100,7 @@ preloadRender = do
|
||||
ts <- makeSourcedShader "character" [VertexShader,GeometryShader,FragmentShader]
|
||||
cs <- makeSourcedShader "circle" [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]
|
||||
wss <- makeSourcedShader "wallShadow" [VertexShader,GeometryShader,FragmentShader]
|
||||
|
||||
@@ -163,7 +163,7 @@ preloadRender = do
|
||||
, _textShader = ts
|
||||
, _circShader = cs
|
||||
, _arcShader = as
|
||||
, _fadeCircleShader = fcs
|
||||
, _lightmapCircleShader = fcs
|
||||
, _backShader = bgs
|
||||
, _wallShadowShader = wss
|
||||
, _triVAO = trivao
|
||||
|
||||
@@ -364,7 +364,7 @@ renderPicture' pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints p
|
||||
,_textShader pdata
|
||||
,_circShader pdata
|
||||
,_arcShader pdata
|
||||
,_fadeCircleShader pdata
|
||||
,_lightmapCircleShader pdata
|
||||
,_backShader pdata
|
||||
,_wallShadowShader pdata
|
||||
] $ \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
|
||||
drawArrays Points (fromIntegral 0) (fromIntegral $ nWalls)
|
||||
cullFace $= Nothing
|
||||
currentProgram $= Just (fst $ _fadeCircleShader pdata)
|
||||
currentProgram $= Just (fst $ _lightmapCircleShader pdata)
|
||||
bindVertexArrayObject $= Just (_vao $ _fadeCircVAO pdata)
|
||||
let fadeCircPtr = (\(_,ptr,_) -> ptr) $ head $ _vaoBufferTargets $ _fadeCircVAO pdata
|
||||
pokeFourOff fadeCircPtr 0 (x,y,r,lum)
|
||||
@@ -437,9 +437,6 @@ renderPicture' pdata rot zoom (tranx,trany) (winx,winy) wallPoints lightPoints p
|
||||
,_textShader pdata
|
||||
,_circShader pdata
|
||||
,_arcShader pdata
|
||||
-- ,_fadeCircleShader pdata
|
||||
-- ,_backShader pdata
|
||||
-- ,_wallShadowShader pdata
|
||||
] $ \shad -> do
|
||||
currentProgram $= Just (fst shad)
|
||||
uniform (snd shad !! 0) $= Vector2 (2::Float) 2
|
||||
|
||||
+3
-3
@@ -64,9 +64,9 @@ makeArcShader = do
|
||||
|
||||
makeFadeShader :: IO Program
|
||||
makeFadeShader = do
|
||||
vsSource <- BS.readFile "shader/fadeCircle.vert"
|
||||
gsSource <- BS.readFile "shader/fadeCircle.geom"
|
||||
fsSource <- BS.readFile "shader/fadeCircle.frag"
|
||||
vsSource <- BS.readFile "shader/lightmapCircle.vert"
|
||||
gsSource <- BS.readFile "shader/lightmapCircle.geom"
|
||||
fsSource <- BS.readFile "shader/lightmapCircle.frag"
|
||||
|
||||
makeShaderProgram [(VertexShader, vsSource )
|
||||
,(GeometryShader, gsSource )
|
||||
|
||||
Reference in New Issue
Block a user