Work on cloud/window transparency
This commit is contained in:
@@ -11,6 +11,8 @@ void main()
|
|||||||
if (d > 1) {discard;}
|
if (d > 1) {discard;}
|
||||||
fCol = vec4(vCol.xyz,vCol.w*(1-d));
|
fCol = vec4(vCol.xyz,vCol.w*(1-d));
|
||||||
fPos = vec4(vPosID.xyz, vCol.w*(1-d));
|
fPos = vec4(vPosID.xyz, vCol.w*(1-d));
|
||||||
|
//fPos = vec4(vPosID.xy,vPosID.z*0.5, vCol.w*(1-d));
|
||||||
fNorm = vec4(-vControls.xy, -0.1 + 0.2 * d ,fPos.w);
|
fNorm = vec4(-vControls.xy, -0.1 + 0.2 * d ,fPos.w);
|
||||||
|
//fNorm = vec4(-vControls.xy, -0.1 + 2 * d ,vCol.w * (1.01-(d*d*d)));
|
||||||
//fNorm = vec4(-vControls.xy, -0.1 + d , fPos.w);
|
//fNorm = vec4(-vControls.xy, -0.1 + d , fPos.w);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#version 450 core
|
||||||
|
in vec2 vTexPos;
|
||||||
|
out vec4 fColor;
|
||||||
|
layout(binding = 0) uniform sampler2D t0;
|
||||||
|
layout(binding = 1) uniform sampler2D t1;
|
||||||
|
layout(binding = 2) uniform sampler2D t2;
|
||||||
|
layout(binding = 3) uniform sampler2D t3;
|
||||||
|
vec4 blend (vec4 src, vec4 dst) {
|
||||||
|
return src + (1-src.a) * dst;
|
||||||
|
}
|
||||||
|
void main() {
|
||||||
|
//fColor = texture(t0, vTexPos) + texture(t2, vTexPos);
|
||||||
|
vec4 x = texture(t0, vTexPos);
|
||||||
|
float xz = texture(t1, vTexPos).z;
|
||||||
|
vec4 y = texture(t2, vTexPos);
|
||||||
|
float yz = texture(t3, vTexPos).z;
|
||||||
|
fColor = ( xz > yz ? blend(x,y) : blend(y,x)) ;
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#version 450 core
|
||||||
|
layout(location = 0) in vec2 pos;
|
||||||
|
layout(location = 1) in vec2 texPos;
|
||||||
|
out vec2 vTexPos;
|
||||||
|
void main() {
|
||||||
|
gl_Position = vec4(pos, 0.0, 1.0);
|
||||||
|
vTexPos = texPos;
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ void main()
|
|||||||
fCol = gColor;
|
fCol = gColor;
|
||||||
//fPos = gPos;// + vec4(0,0,50,0);
|
//fPos = gPos;// + vec4(0,0,50,0);
|
||||||
//fNorm = vec4 (0,0,10,10);
|
//fNorm = vec4 (0,0,10,10);
|
||||||
fPos = vec4(0,0,50,1);
|
//fPos = vec4(0,0,50,1);
|
||||||
|
fPos = gPos;
|
||||||
fNorm = vec4 (0,0,10,10);
|
fNorm = vec4 (0,0,10,10);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ data RenderData = RenderData
|
|||||||
, _alphaDivideShader :: Shader
|
, _alphaDivideShader :: Shader
|
||||||
, _windowShader :: Shader
|
, _windowShader :: Shader
|
||||||
, _fullscreenShader :: Shader
|
, _fullscreenShader :: Shader
|
||||||
|
, _transparencyCompShader :: Shader
|
||||||
, _bloomBlurShader :: Shader
|
, _bloomBlurShader :: Shader
|
||||||
, _colorBlurShader :: Shader
|
, _colorBlurShader :: Shader
|
||||||
, _barrelShader :: (Shader,VBO)
|
, _barrelShader :: (Shader,VBO)
|
||||||
@@ -33,7 +34,7 @@ data RenderData = RenderData
|
|||||||
, _fboHalf2 :: (FBO, TO)
|
, _fboHalf2 :: (FBO, TO)
|
||||||
, _fboBase :: (FBO, (TO, TO, TO))
|
, _fboBase :: (FBO, (TO, TO, TO))
|
||||||
, _fboCloud :: (FBO, (TO, TO, TO))
|
, _fboCloud :: (FBO, (TO, TO, TO))
|
||||||
-- , _fboWindow :: (FBO, (TO, TO, TO))
|
, _fboWindow :: (FBO, (TO, TO))
|
||||||
, _fboBloom :: (FBO, TO)
|
, _fboBloom :: (FBO, TO)
|
||||||
, _fboPos :: (FBO, TO)
|
, _fboPos :: (FBO, TO)
|
||||||
, _fboLighting :: (FBO, TO)
|
, _fboLighting :: (FBO, TO)
|
||||||
|
|||||||
+18
-18
@@ -39,15 +39,15 @@ data Config = Config
|
|||||||
{ _volume_master :: Float
|
{ _volume_master :: Float
|
||||||
, _volume_sound :: Float
|
, _volume_sound :: Float
|
||||||
, _volume_music :: Float
|
, _volume_music :: Float
|
||||||
, _graphics_cloud_shadows :: Bool
|
, _gr_cloud_shadows :: Bool
|
||||||
, _graphics_distortions :: Bool
|
, _gr_distortions :: Bool
|
||||||
, _graphics_bloom :: Bool
|
, _gr_bloom :: Bool
|
||||||
, _graphics_shadow_rendering :: ShadowRendering
|
, _gr_shadow_rendering :: ShadowRendering
|
||||||
, _graphics_shadow_size :: Importance
|
, _gr_shadow_size :: Importance
|
||||||
, _graphics_downsize_resolution :: ResFactor
|
, _gr_downsize_res :: ResFactor
|
||||||
, _graphics_world_resolution :: ResFactor
|
, _gr_world_res :: ResFactor
|
||||||
, _graphics_distortion_resolution :: ResFactor
|
, _gr_distortion_res :: ResFactor
|
||||||
, _graphics_num_shadow_casters :: NumShadowCasters
|
, _gr_num_shadow_casters :: NumShadowCasters
|
||||||
, _windowX :: Int --size
|
, _windowX :: Int --size
|
||||||
, _windowY :: Int
|
, _windowY :: Int
|
||||||
, _windowPosX :: Int --position in os
|
, _windowPosX :: Int --position in os
|
||||||
@@ -133,15 +133,15 @@ defaultConfig =
|
|||||||
{ _volume_master = 1
|
{ _volume_master = 1
|
||||||
, _volume_sound = 1
|
, _volume_sound = 1
|
||||||
, _volume_music = 0
|
, _volume_music = 0
|
||||||
, _graphics_cloud_shadows = True
|
, _gr_cloud_shadows = True
|
||||||
, _graphics_bloom = True
|
, _gr_bloom = True
|
||||||
, _graphics_shadow_rendering = GeoObjShads
|
, _gr_shadow_rendering = GeoObjShads
|
||||||
, _graphics_shadow_size = Typical
|
, _gr_shadow_size = Typical
|
||||||
, _graphics_distortions = True
|
, _gr_distortions = True
|
||||||
, _graphics_downsize_resolution = EighthRes
|
, _gr_downsize_res = EighthRes
|
||||||
, _graphics_world_resolution = QuarterRes
|
, _gr_world_res = QuarterRes
|
||||||
, _graphics_distortion_resolution = FullRes
|
, _gr_distortion_res = FullRes
|
||||||
, _graphics_num_shadow_casters = toEnum 10
|
, _gr_num_shadow_casters = toEnum 10
|
||||||
, _windowX = 800
|
, _windowX = 800
|
||||||
, _windowY = 600
|
, _windowY = 600
|
||||||
, _windowPosX = 0
|
, _windowPosX = 0
|
||||||
|
|||||||
+9
-15
@@ -187,21 +187,15 @@ graphicsMenu = titleOptionsMenu "OPTIONS:GRAPHICS" graphicsMenuOptions
|
|||||||
|
|
||||||
graphicsMenuOptions :: [MenuOption]
|
graphicsMenuOptions :: [MenuOption]
|
||||||
graphicsMenuOptions =
|
graphicsMenuOptions =
|
||||||
[ makeEnumOption graphics_world_resolution "World resolution" (uvIOEffects .~ updatePreload)
|
[ makeEnumOption gr_world_res "World resolution" (uvIOEffects .~ updatePreload)
|
||||||
, makeEnumOption
|
, makeEnumOption gr_downsize_res "Downsize resolution" (uvIOEffects .~ updatePreload)
|
||||||
graphics_downsize_resolution
|
, makeEnumOption gr_distortion_res "Distortion resolution" (uvIOEffects .~ updatePreload)
|
||||||
"Downsize resolution"
|
, makeEnumOption gr_shadow_rendering "SHADOW RENDERING" id
|
||||||
(uvIOEffects .~ updatePreload)
|
, makeEnumOption gr_shadow_size "SHADOW DETAIL" id
|
||||||
, makeEnumOption
|
, makeEnumOption gr_distortions "ENABLE DISTORTIONS" id
|
||||||
graphics_distortion_resolution
|
, makeEnumOption gr_bloom "ENABLE BLOOM" id
|
||||||
"Distortion resolution"
|
, makeBoolOption gr_cloud_shadows "CLOUD SHADOWS"
|
||||||
(uvIOEffects .~ updatePreload)
|
, makeEnumOption gr_num_shadow_casters "NUM SHADOW CASTERS" id
|
||||||
, makeEnumOption graphics_shadow_rendering "SHADOW RENDERING" id
|
|
||||||
, makeEnumOption graphics_shadow_size "SHADOW DETAIL" id
|
|
||||||
, makeEnumOption graphics_distortions "ENABLE DISTORTIONS" id
|
|
||||||
, makeEnumOption graphics_bloom "ENABLE BLOOM" id
|
|
||||||
, makeBoolOption graphics_cloud_shadows "CLOUD SHADOWS"
|
|
||||||
, makeEnumOption graphics_num_shadow_casters "NUM SHADOW CASTERS" id
|
|
||||||
]
|
]
|
||||||
|
|
||||||
gameOverMenu :: Universe -> ScreenLayer
|
gameOverMenu :: Universe -> ScreenLayer
|
||||||
|
|||||||
+55
-26
@@ -76,7 +76,7 @@ doDrawing' win pdata u = do
|
|||||||
wallsToPoke
|
wallsToPoke
|
||||||
)
|
)
|
||||||
( pokeShape
|
( pokeShape
|
||||||
(drawShadowsByImportance $ cfig ^. graphics_shadow_size)
|
(drawShadowsByImportance $ cfig ^. gr_shadow_size)
|
||||||
(_vboPtr $ _vboShapes pdata)
|
(_vboPtr $ _vboShapes pdata)
|
||||||
(_eboPtr $ _shapeEBO pdata)
|
(_eboPtr $ _shapeEBO pdata)
|
||||||
(_eboPtr $ _silhouetteEBO pdata)
|
(_eboPtr $ _silhouetteEBO pdata)
|
||||||
@@ -111,7 +111,7 @@ doDrawing' win pdata u = do
|
|||||||
]
|
]
|
||||||
-- set the coordinate uniform ready for drawing elements using world coordinates
|
-- set the coordinate uniform ready for drawing elements using world coordinates
|
||||||
bufferPerspectiveMatrixUBO cfig (w ^. wCam) (pdata ^. matUBO)
|
bufferPerspectiveMatrixUBO cfig (w ^. wCam) (pdata ^. matUBO)
|
||||||
setViewport _graphics_world_resolution cfig
|
setViewport _gr_world_res cfig
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
||||||
glDepthMask GL_TRUE
|
glDepthMask GL_TRUE
|
||||||
glDisable GL_BLEND
|
glDisable GL_BLEND
|
||||||
@@ -257,7 +257,7 @@ doDrawing' win pdata u = do
|
|||||||
|
|
||||||
--setup downscale viewport for blurring bloom
|
--setup downscale viewport for blurring bloom
|
||||||
--setViewportSize (round winx `div` (2 * resFact)) (round winy `div` (2 * resFact))
|
--setViewportSize (round winx `div` (2 * resFact)) (round winy `div` (2 * resFact))
|
||||||
setViewport _graphics_downsize_resolution cfig
|
setViewport _gr_downsize_res cfig
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboHalf1 pdata)))
|
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboHalf1 pdata)))
|
||||||
glDepthFunc GL_ALWAYS
|
glDepthFunc GL_ALWAYS
|
||||||
glBindTextureUnit 0 (pdata ^. fboBloom . _2 . unTO)
|
glBindTextureUnit 0 (pdata ^. fboBloom . _2 . unTO)
|
||||||
@@ -271,11 +271,11 @@ doDrawing' win pdata u = do
|
|||||||
-- glClearNamedFramebufferfv (pdata ^. fboHalf2 . _1 . unFBO) GL_COLOR 0
|
-- glClearNamedFramebufferfv (pdata ^. fboHalf2 . _1 . unFBO) GL_COLOR 0
|
||||||
-- glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA
|
-- glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA
|
||||||
drawShader (_bloomBlurShader pdata) 4
|
drawShader (_bloomBlurShader pdata) 4
|
||||||
when (cfig ^. graphics_bloom) $ do
|
when (cfig ^. gr_bloom) $ do
|
||||||
replicateM_ 2 $ pingPongBetween
|
replicateM_ 2 $ pingPongBetween
|
||||||
(_fboHalf1 pdata) (_fboHalf2 pdata) (_bloomBlurShader pdata)
|
(_fboHalf1 pdata) (_fboHalf2 pdata) (_bloomBlurShader pdata)
|
||||||
glEnable GL_BLEND
|
glEnable GL_BLEND
|
||||||
setViewport _graphics_world_resolution cfig
|
setViewport _gr_world_res cfig
|
||||||
--draw clouds onto cloud buffer
|
--draw clouds onto cloud buffer
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboCloud . _1 . unFBO)
|
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboCloud . _1 . unFBO)
|
||||||
glDepthFunc GL_LEQUAL
|
glDepthFunc GL_LEQUAL
|
||||||
@@ -297,15 +297,15 @@ doDrawing' win pdata u = do
|
|||||||
(fromIntegral nCloudIs)
|
(fromIntegral nCloudIs)
|
||||||
GL_UNSIGNED_SHORT
|
GL_UNSIGNED_SHORT
|
||||||
nullPtr
|
nullPtr
|
||||||
glEnable GL_CULL_FACE
|
-- glEnable GL_CULL_FACE
|
||||||
glEnable GL_DEPTH_CLAMP
|
-- glEnable GL_DEPTH_CLAMP
|
||||||
glCullFace GL_BACK
|
-- glCullFace GL_BACK
|
||||||
drawShader (_windowShader pdata) nWins
|
---- drawShader (_windowShader pdata) nWins
|
||||||
glDisable GL_DEPTH_CLAMP
|
-- glDisable GL_DEPTH_CLAMP
|
||||||
glDisable GL_CULL_FACE
|
-- glDisable GL_CULL_FACE
|
||||||
when (_graphics_cloud_shadows cfig) $ do
|
when (_gr_cloud_shadows cfig) $ do
|
||||||
----render transparency depths
|
----render transparency depths
|
||||||
glDepthMask GL_TRUE
|
-- glDepthMask GL_TRUE
|
||||||
glDepthFunc GL_ALWAYS
|
glDepthFunc GL_ALWAYS
|
||||||
glDisable GL_BLEND
|
glDisable GL_BLEND
|
||||||
withArray [GL_NONE, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2] $
|
withArray [GL_NONE, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2] $
|
||||||
@@ -317,24 +317,25 @@ doDrawing' win pdata u = do
|
|||||||
glEnable GL_BLEND
|
glEnable GL_BLEND
|
||||||
-- we sum the positions weighted by alpha, and sum the alpha
|
-- we sum the positions weighted by alpha, and sum the alpha
|
||||||
glBlendFuncSeparatei 1 GL_SRC_ALPHA GL_ONE GL_ONE GL_ONE
|
glBlendFuncSeparatei 1 GL_SRC_ALPHA GL_ONE GL_ONE GL_ONE
|
||||||
|
--glBlendFuncSeparatei 1 GL_ONE GL_ZERO GL_ONE GL_ZERO
|
||||||
-- and sum the normals weighted by alpha
|
-- and sum the normals weighted by alpha
|
||||||
--glBlendFunci 2 GL_SRC_ALPHA GL_ONE
|
--glBlendFunci 2 GL_SRC_ALPHA GL_ONE
|
||||||
glBlendFunci 2 GL_SRC_ALPHA GL_ONE
|
glBlendFunci 2 GL_SRC_ALPHA GL_ONE
|
||||||
glUseProgram (pdata ^. cloudShader . shaderUINT)
|
glUseProgram (pdata ^. cloudShader . shaderUINT)
|
||||||
glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName
|
glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName
|
||||||
glDepthMask GL_TRUE
|
-- glDepthMask GL_TRUE
|
||||||
glDrawElements
|
glDrawElements
|
||||||
(pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode)
|
(pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode)
|
||||||
(fromIntegral nCloudIs)
|
(fromIntegral nCloudIs)
|
||||||
GL_UNSIGNED_SHORT
|
GL_UNSIGNED_SHORT
|
||||||
nullPtr
|
nullPtr
|
||||||
---
|
---
|
||||||
glEnable GL_CULL_FACE
|
-- glEnable GL_CULL_FACE
|
||||||
glEnable GL_DEPTH_CLAMP
|
-- glEnable GL_DEPTH_CLAMP
|
||||||
glCullFace GL_BACK
|
-- glCullFace GL_BACK
|
||||||
drawShader (_windowShader pdata) nWins
|
---- drawShader (_windowShader pdata) nWins
|
||||||
glDisable GL_DEPTH_CLAMP
|
-- glDisable GL_DEPTH_CLAMP
|
||||||
glDisable GL_CULL_FACE
|
-- glDisable GL_CULL_FACE
|
||||||
-- drawShader (_windowShader pdata) nWins
|
-- drawShader (_windowShader pdata) nWins
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboPos . _1 . unFBO)
|
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboPos . _1 . unFBO)
|
||||||
withArray [0, 0, 0, 0] $ \ptr ->
|
withArray [0, 0, 0, 0] $ \ptr ->
|
||||||
@@ -360,6 +361,22 @@ doDrawing' win pdata u = do
|
|||||||
(pdata ^. fboCloud . _2 . _3)
|
(pdata ^. fboCloud . _2 . _3)
|
||||||
lightPoints
|
lightPoints
|
||||||
pdata
|
pdata
|
||||||
|
--draw windows onto window buffer
|
||||||
|
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboWindow . _1 . unFBO)
|
||||||
|
withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1] $
|
||||||
|
glNamedFramebufferDrawBuffers (pdata ^. fboWindow . _1 . unFBO) 2
|
||||||
|
withArray [0, 0, 0, 0] $
|
||||||
|
glClearNamedFramebufferfv (pdata ^. fboWindow . _1 . unFBO) GL_COLOR 0
|
||||||
|
withArray [0, 0, 0, 0] $
|
||||||
|
glClearNamedFramebufferfv (pdata ^. fboWindow . _1 . unFBO) GL_COLOR 1
|
||||||
|
glEnable GL_CULL_FACE
|
||||||
|
glEnable GL_DEPTH_CLAMP
|
||||||
|
glDepthFunc GL_LEQUAL
|
||||||
|
glCullFace GL_BACK
|
||||||
|
glDisable GL_BLEND
|
||||||
|
drawShader (_windowShader pdata) nWins
|
||||||
|
glDisable GL_DEPTH_CLAMP
|
||||||
|
glDisable GL_CULL_FACE
|
||||||
glInvalidateBufferData (pdata ^. vboShapes . vboName)
|
glInvalidateBufferData (pdata ^. vboShapes . vboName)
|
||||||
--apply lightmap to cloud buffer
|
--apply lightmap to cloud buffer
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboCloud pdata)))
|
glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboCloud pdata)))
|
||||||
@@ -374,13 +391,24 @@ doDrawing' win pdata u = do
|
|||||||
drawShader (_fullscreenShader pdata) 4
|
drawShader (_fullscreenShader pdata) 4
|
||||||
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
||||||
|
|
||||||
|
|
||||||
-- bind base buffer for drawing clouds and bloom
|
-- bind base buffer for drawing clouds and bloom
|
||||||
--glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboBase pdata)))
|
--glBindFramebuffer GL_FRAMEBUFFER (_unFBO (fst (_fboBase pdata)))
|
||||||
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
|
||||||
|
|
||||||
--draw shadowed clouds onto base buffer
|
-- --draw shadowed clouds onto base buffer
|
||||||
glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _1 . unTO)
|
-- glBindTextureUnit 0 (pdata ^. fboCloud . _2 . _1 . unTO)
|
||||||
drawShader (_fullscreenShader pdata) 4
|
-- drawShader (_fullscreenShader pdata) 4
|
||||||
|
|
||||||
|
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
||||||
|
-- --draw windows onto base buffer
|
||||||
|
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
||||||
|
glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _1 . unTO)
|
||||||
|
glBindTextureUnit 1 (pdata ^. fboWindow . _2 . _2 . unTO)
|
||||||
|
glBindTextureUnit 2 (pdata ^. fboCloud . _2 . _1 . unTO)
|
||||||
|
--glBindTextureUnit 3 (pdata ^. fboCloud . _2 . _2 . unTO)
|
||||||
|
glBindTextureUnit 3 (pdata ^. fboPos . _2 . unTO)
|
||||||
|
drawShader (_transparencyCompShader pdata) 4
|
||||||
|
|
||||||
--Draw blurred bloom onto base buffer
|
--Draw blurred bloom onto base buffer
|
||||||
glEnable GL_BLEND
|
glEnable GL_BLEND
|
||||||
@@ -388,7 +416,8 @@ doDrawing' win pdata u = do
|
|||||||
--glBlendFunc GL_ONE GL_ONE
|
--glBlendFunc GL_ONE GL_ONE
|
||||||
glBindTextureUnit 0 (_unTO . snd $ _fboHalf1 pdata)
|
glBindTextureUnit 0 (_unTO . snd $ _fboHalf1 pdata)
|
||||||
drawShader (_fullscreenShader pdata) 4
|
drawShader (_fullscreenShader pdata) 4
|
||||||
glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
-- glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
|
||||||
|
|
||||||
|
|
||||||
--set viewport for radial distortion
|
--set viewport for radial distortion
|
||||||
--setViewportSize (round winx) (round winy)
|
--setViewportSize (round winx) (round winy)
|
||||||
@@ -397,7 +426,7 @@ doDrawing' win pdata u = do
|
|||||||
glBlendFunc GL_ONE GL_ZERO
|
glBlendFunc GL_ONE GL_ZERO
|
||||||
-- perform any radial distortion
|
-- perform any radial distortion
|
||||||
-- this is hideous
|
-- this is hideous
|
||||||
case (getDistortions cfig w, cfig ^. graphics_distortions) of
|
case (getDistortions cfig w, cfig ^. gr_distortions) of
|
||||||
(rds, x) | null rds || not x -> do
|
(rds, x) | null rds || not x -> do
|
||||||
glBindTextureUnit 0 $ pdata ^. fboBase . _2 . _1 . unTO
|
glBindTextureUnit 0 $ pdata ^. fboBase . _2 . _1 . unTO
|
||||||
glBindFramebuffer GL_FRAMEBUFFER 0
|
glBindFramebuffer GL_FRAMEBUFFER 0
|
||||||
@@ -440,7 +469,7 @@ bufferPerspectiveMatrixUBO cfig cam uboid = withArray
|
|||||||
|
|
||||||
getDistortions :: Config -> World -> [Distortion]
|
getDistortions :: Config -> World -> [Distortion]
|
||||||
getDistortions cfig w
|
getDistortions cfig w
|
||||||
| cfig ^. graphics_distortions = w ^. cWorld . lWorld . distortions
|
| cfig ^. gr_distortions = w ^. cWorld . lWorld . distortions
|
||||||
| otherwise = []
|
| otherwise = []
|
||||||
|
|
||||||
setViewport :: (Config -> ResFactor) -> Config -> IO ()
|
setViewport :: (Config -> ResFactor) -> Config -> IO ()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import Control.Lens
|
|||||||
|
|
||||||
lightsToRender :: Config -> Camera -> LWorld -> [(Point3, Float, Point3)]
|
lightsToRender :: Config -> Camera -> LWorld -> [(Point3, Float, Point3)]
|
||||||
{-# INLINE lightsToRender #-}
|
{-# INLINE lightsToRender #-}
|
||||||
lightsToRender cfig campos w = take (fromEnum $ cfig ^. graphics_num_shadow_casters) $
|
lightsToRender cfig campos w = take (fromEnum $ cfig ^. gr_num_shadow_casters) $
|
||||||
sortOn (\(_,x,_) -> negate x) $
|
sortOn (\(_,x,_) -> negate x) $
|
||||||
mapMaybe getLS (IM.elems $ w ^. lightSources)
|
mapMaybe getLS (IM.elems $ w ^. lightSources)
|
||||||
++ mapMaybe getlsparam (w ^. lights)
|
++ mapMaybe getlsparam (w ^. lights)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
module Dodge.WindowSize where
|
module Dodge.WindowSize (getWindowSize) where
|
||||||
|
|
||||||
import Dodge.Data.Config
|
import Dodge.Data.Config
|
||||||
|
|
||||||
|
|||||||
+63
-69
@@ -3,15 +3,13 @@
|
|||||||
{- | Concerns resizing framebuffers on the fly.
|
{- | Concerns resizing framebuffers on the fly.
|
||||||
- Seems to need to be called at least once.
|
- Seems to need to be called at least once.
|
||||||
-}
|
-}
|
||||||
module Framebuffer.Update (
|
module Framebuffer.Update (sizeFBOs) where
|
||||||
sizeFBOs,
|
|
||||||
) where
|
|
||||||
|
|
||||||
import Dodge.WindowSize
|
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Data.Preload.Render
|
import Data.Preload.Render
|
||||||
import Dodge.Data.Config
|
import Dodge.Data.Config
|
||||||
|
import Dodge.WindowSize
|
||||||
import Foreign.Marshal.Array
|
import Foreign.Marshal.Array
|
||||||
import Framebuffer.Check
|
import Framebuffer.Check
|
||||||
import GLHelp
|
import GLHelp
|
||||||
@@ -19,16 +17,13 @@ import Graphics.GL.Core45
|
|||||||
import Shader.Data
|
import Shader.Data
|
||||||
import Unsafe.Coerce
|
import Unsafe.Coerce
|
||||||
|
|
||||||
sizeFBOs ::
|
sizeFBOs :: Config -> RenderData -> IO RenderData
|
||||||
Config ->
|
|
||||||
RenderData ->
|
|
||||||
IO RenderData
|
|
||||||
sizeFBOs cfig rdata =
|
sizeFBOs cfig rdata =
|
||||||
uncurry (resizeRBO (_rboBaseBloom rdata)) (getWindowSize _graphics_world_resolution cfig)
|
uncurry (resizeRBO (_rboBaseBloom rdata)) (getWindowSize _gr_world_res cfig)
|
||||||
>> foldM
|
>> foldM
|
||||||
( uncurry
|
( uncurry
|
||||||
updateFBOTO3
|
updateFBOTO3
|
||||||
(getWindowSize _graphics_world_resolution cfig)
|
(getWindowSize _gr_world_res cfig)
|
||||||
GL_NEAREST
|
GL_NEAREST
|
||||||
GL_NEAREST
|
GL_NEAREST
|
||||||
GL_RGBA8
|
GL_RGBA8
|
||||||
@@ -38,43 +33,40 @@ sizeFBOs cfig rdata =
|
|||||||
rdata
|
rdata
|
||||||
[fboBase, fboCloud]
|
[fboBase, fboCloud]
|
||||||
>>= foldUpdateFBOTO
|
>>= foldUpdateFBOTO
|
||||||
_graphics_world_resolution
|
_gr_world_res
|
||||||
GL_NEAREST
|
GL_NEAREST
|
||||||
GL_NEAREST
|
GL_NEAREST
|
||||||
GL_RGBA8
|
GL_RGBA8
|
||||||
[fboLighting]
|
[fboLighting]
|
||||||
>>= foldUpdateFBOTO
|
>>= foldUpdateFBOTO
|
||||||
_graphics_world_resolution
|
_gr_world_res
|
||||||
GL_LINEAR_MIPMAP_LINEAR
|
GL_LINEAR_MIPMAP_LINEAR
|
||||||
GL_LINEAR
|
GL_LINEAR
|
||||||
GL_RGBA16F
|
GL_RGBA16F
|
||||||
[fboBloom, fboPos]
|
[fboBloom, fboPos]
|
||||||
>>= foldUpdateFBOTO
|
>>= foldUpdateFBOTO
|
||||||
_graphics_distortion_resolution
|
_gr_distortion_res
|
||||||
GL_LINEAR
|
GL_LINEAR
|
||||||
GL_NEAREST
|
GL_NEAREST
|
||||||
GL_RGBA8
|
GL_RGBA8
|
||||||
[fbo2, fbo3]
|
[fbo2, fbo3]
|
||||||
>>= foldUpdateFBOTO
|
>>= foldUpdateFBOTO
|
||||||
_graphics_downsize_resolution
|
_gr_downsize_res
|
||||||
GL_LINEAR_MIPMAP_LINEAR
|
GL_LINEAR_MIPMAP_LINEAR
|
||||||
GL_LINEAR
|
GL_LINEAR
|
||||||
GL_RGBA16F
|
GL_RGBA16F
|
||||||
[fboHalf1, fboHalf2]
|
[fboHalf1, fboHalf2]
|
||||||
|
>>= uncurry updateFBOTO2
|
||||||
|
(getWindowSize _gr_world_res cfig)
|
||||||
|
GL_NEAREST
|
||||||
|
GL_NEAREST
|
||||||
|
GL_RGBA8
|
||||||
|
GL_RGBA16F
|
||||||
|
fboWindow
|
||||||
where
|
where
|
||||||
updateFBOTO' f =
|
updateFBOTO' f = uncurry updateFBOTO (getWindowSize f cfig)
|
||||||
uncurry
|
foldUpdateFBOTO f minfilt magfilt format =
|
||||||
updateFBOTO
|
ffoldM ( updateFBOTO' f minfilt magfilt format)
|
||||||
(getWindowSize f cfig)
|
|
||||||
foldUpdateFBOTO f minfilt magfilt format l =
|
|
||||||
ffoldM
|
|
||||||
( updateFBOTO'
|
|
||||||
f
|
|
||||||
minfilt
|
|
||||||
magfilt
|
|
||||||
format
|
|
||||||
)
|
|
||||||
l
|
|
||||||
|
|
||||||
ffoldM :: (Foldable t, Monad m) => (a1 -> a2 -> m a1) -> t a2 -> a1 -> m a1
|
ffoldM :: (Foldable t, Monad m) => (a1 -> a2 -> m a1) -> t a2 -> a1 -> m a1
|
||||||
ffoldM f = flip $ foldM f
|
ffoldM f = flip $ foldM f
|
||||||
@@ -98,23 +90,25 @@ updateFBOTO xsize ysize minfilt magfilt inFormat pdata target = do
|
|||||||
newfbo2 <- resizeFBOTO (pdata ^# target) xsize ysize minfilt magfilt inFormat
|
newfbo2 <- resizeFBOTO (pdata ^# target) xsize ysize minfilt magfilt inFormat
|
||||||
return $ storing target newfbo2 pdata
|
return $ storing target newfbo2 pdata
|
||||||
|
|
||||||
--updateFBOTO2 ::
|
-- note that the ordering of arguments is different to the other update
|
||||||
-- Int ->
|
-- functions... this all needs rethinking
|
||||||
-- Int ->
|
updateFBOTO2 ::
|
||||||
-- -- | minification filter
|
Int ->
|
||||||
-- GLenum ->
|
Int ->
|
||||||
-- -- | magnification filter
|
-- | minification filter
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- -- | internal color format texture1
|
-- | magnification filter
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- -- | internal color format texture2
|
-- | internal color format texture1
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- RenderData ->
|
-- | internal color format texture2
|
||||||
-- ALens' RenderData (FBO, (TO, TO)) ->
|
GLenum ->
|
||||||
-- IO RenderData
|
ALens' RenderData (FBO, (TO, TO)) ->
|
||||||
--updateFBOTO2 xsize ysize minfilt magfilt inFormat1 inFormat2 pdata target = do
|
RenderData ->
|
||||||
-- newfbo2 <- resizeFBOTO2 (pdata ^# target) xsize ysize minfilt magfilt inFormat1 inFormat2
|
IO RenderData
|
||||||
-- return $ storing target newfbo2 pdata
|
updateFBOTO2 xsize ysize minfilt magfilt inFormat1 inFormat2 target pdata = do
|
||||||
|
newfbo2 <- resizeFBOTO2 (pdata ^# target) xsize ysize minfilt magfilt inFormat1 inFormat2
|
||||||
|
return $ storing target newfbo2 pdata
|
||||||
|
|
||||||
updateFBOTO3 ::
|
updateFBOTO3 ::
|
||||||
Int ->
|
Int ->
|
||||||
@@ -136,29 +130,29 @@ updateFBOTO3 xsize ysize minfilt magfilt inFormat1 inFormat2 inFormat3 pdata tar
|
|||||||
newfbo2 <- resizeFBOTO3 (pdata ^# target) xsize ysize minfilt magfilt inFormat1 inFormat2 inFormat3
|
newfbo2 <- resizeFBOTO3 (pdata ^# target) xsize ysize minfilt magfilt inFormat1 inFormat2 inFormat3
|
||||||
return $ storing target newfbo2 pdata
|
return $ storing target newfbo2 pdata
|
||||||
|
|
||||||
--resizeFBOTO2 ::
|
resizeFBOTO2 ::
|
||||||
-- (FBO, (TO, TO)) ->
|
(FBO, (TO, TO)) ->
|
||||||
-- Int ->
|
Int ->
|
||||||
-- Int ->
|
Int ->
|
||||||
-- -- | minification filter
|
-- | minification filter
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- -- | magnification filter
|
-- | magnification filter
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- -- | internal color format1
|
-- | internal color format1
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- -- | internal color format2
|
-- | internal color format2
|
||||||
-- GLenum ->
|
GLenum ->
|
||||||
-- IO (FBO, (TO, TO))
|
IO (FBO, (TO, TO))
|
||||||
--resizeFBOTO2 (fbo, (toOld1, toOld2)) xsize ysize minfilt magfilt inFormat1 inFormat2 = do
|
resizeFBOTO2 (fbo, (toOld1, toOld2)) xsize ysize minfilt magfilt inFormat1 inFormat2 = do
|
||||||
-- glBindFramebuffer GL_FRAMEBUFFER (_unFBO fbo)
|
glBindFramebuffer GL_FRAMEBUFFER (_unFBO fbo)
|
||||||
-- mglDelete glDeleteTextures $ _unTO toOld1
|
mglDelete glDeleteTextures $ _unTO toOld1
|
||||||
-- mglDelete glDeleteTextures $ _unTO toOld2
|
mglDelete glDeleteTextures $ _unTO toOld2
|
||||||
-- to1 <- initializeTexture2D fbo GL_COLOR_ATTACHMENT0 xsize ysize minfilt magfilt inFormat1
|
to1 <- initializeTexture2D fbo GL_COLOR_ATTACHMENT0 xsize ysize minfilt magfilt inFormat1
|
||||||
-- to2 <- initializeTexture2D fbo GL_COLOR_ATTACHMENT1 xsize ysize minfilt magfilt inFormat2
|
to2 <- initializeTexture2D fbo GL_COLOR_ATTACHMENT1 xsize ysize minfilt magfilt inFormat2
|
||||||
-- withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1] $ \ptr ->
|
withArray [GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1] $ \ptr ->
|
||||||
-- glNamedFramebufferDrawBuffers (_unFBO fbo) 2 ptr
|
glNamedFramebufferDrawBuffers (_unFBO fbo) 2 ptr
|
||||||
-- checkFBO fbo
|
checkFBO fbo
|
||||||
-- return (fbo, (TO to1, TO to2))
|
return (fbo, (TO to1, TO to2))
|
||||||
|
|
||||||
resizeFBOTO3 ::
|
resizeFBOTO3 ::
|
||||||
(FBO, (TO, TO, TO)) ->
|
(FBO, (TO, TO, TO)) ->
|
||||||
@@ -219,5 +213,5 @@ initializeTexture2D fbo attachpoint x y minfilt magfilt informat = do
|
|||||||
|
|
||||||
--getWindowSize :: Integral a => (Config -> ResFactor) -> Config -> (a, a)
|
--getWindowSize :: Integral a => (Config -> ResFactor) -> Config -> (a, a)
|
||||||
--getWindowSize f cfig = (g _windowX, g _windowY)
|
--getWindowSize f cfig = (g _windowX, g _windowY)
|
||||||
-- where
|
-- where
|
||||||
-- g h = fromIntegral $ h cfig `div` resFactorNum (f cfig)
|
-- g h = fromIntegral $ h cfig `div` resFactorNum (f cfig)
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ import Foreign.Storable
|
|||||||
import Graphics.GL.Core45
|
import Graphics.GL.Core45
|
||||||
|
|
||||||
mglCreate :: (GLsizei -> Ptr GLuint -> IO ()) -> IO GLuint
|
mglCreate :: (GLsizei -> Ptr GLuint -> IO ()) -> IO GLuint
|
||||||
mglCreate f = do
|
mglCreate f =
|
||||||
alloca $ \nameptr -> do
|
alloca $ \nameptr -> do
|
||||||
f 1 nameptr
|
f 1 nameptr
|
||||||
peek nameptr
|
peek nameptr
|
||||||
|
|||||||
@@ -112,6 +112,8 @@ preloadRender = do
|
|||||||
(_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
(_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList)
|
||||||
alphadivideshader <- makeShaderUsingVAO "texture2D/alphaDivide" [vert, frag] pmTriangleStrip screentexturevao
|
alphadivideshader <- makeShaderUsingVAO "texture2D/alphaDivide" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] pmTriangleStrip screentexturevao
|
fsShad <- makeShaderUsingVAO "texture/simple" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
|
transcompshader <- makeShaderUsingVAO
|
||||||
|
"fullscreen/transparencyComp" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] pmTriangleStrip screentexturevao
|
bloomBlurShad <- makeShaderUsingVAO "texture/bloomBlur" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] pmTriangleStrip screentexturevao
|
colorBlurShad <- makeShaderUsingVAO "texture/colorBlur" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao
|
grayscaleShad <- makeShaderUsingVAO "texture/grayscale" [vert, frag] pmTriangleStrip screentexturevao
|
||||||
@@ -152,8 +154,10 @@ preloadRender = do
|
|||||||
800
|
800
|
||||||
600
|
600
|
||||||
|
|
||||||
|
-- if adding to this list, recall you need to sizeFBOs
|
||||||
fboBaseName <- setupFramebuffer3GivenStencil rboBaseBloomName
|
fboBaseName <- setupFramebuffer3GivenStencil rboBaseBloomName
|
||||||
fboCloudName <- setupFramebuffer3GivenStencil rboBaseBloomName
|
fboCloudName <- setupFramebuffer3GivenStencil rboBaseBloomName
|
||||||
|
fbowindow <- setupFramebuffer2GivenStencil rboBaseBloomName
|
||||||
fboBloomName <- setupFramebufferGivenStencil rboBaseBloomName
|
fboBloomName <- setupFramebufferGivenStencil rboBaseBloomName
|
||||||
fboPosName <- setupFramebufferGivenStencil rboBaseBloomName
|
fboPosName <- setupFramebufferGivenStencil rboBaseBloomName
|
||||||
fboLightingName <- setupFramebufferGivenStencil rboBaseBloomName
|
fboLightingName <- setupFramebufferGivenStencil rboBaseBloomName
|
||||||
@@ -178,6 +182,7 @@ preloadRender = do
|
|||||||
, _ceilingStencilShader = ceilingstencilshader
|
, _ceilingStencilShader = ceilingstencilshader
|
||||||
, _windowShader = windowshader
|
, _windowShader = windowshader
|
||||||
, _fullscreenShader = fsShad
|
, _fullscreenShader = fsShad
|
||||||
|
, _transparencyCompShader = transcompshader
|
||||||
, _alphaDivideShader = alphadivideshader
|
, _alphaDivideShader = alphadivideshader
|
||||||
, _lightingTextureShader = lightingTextureShad
|
, _lightingTextureShader = lightingTextureShad
|
||||||
, _bloomBlurShader = bloomBlurShad
|
, _bloomBlurShader = bloomBlurShad
|
||||||
@@ -190,6 +195,7 @@ preloadRender = do
|
|||||||
, _fboHalf2 = fboHalf2Name
|
, _fboHalf2 = fboHalf2Name
|
||||||
, _fboLighting = fboLightingName
|
, _fboLighting = fboLightingName
|
||||||
, _fboBase = fboBaseName
|
, _fboBase = fboBaseName
|
||||||
|
, _fboWindow = fbowindow
|
||||||
, _fboCloud = fboCloudName
|
, _fboCloud = fboCloudName
|
||||||
, _fboBloom = fboBloomName
|
, _fboBloom = fboBloomName
|
||||||
, _fboPos = fboPosName
|
, _fboPos = fboPosName
|
||||||
|
|||||||
@@ -23,15 +23,12 @@ updatePreload u =
|
|||||||
(renderDataResizeUpdate (u ^. uvConfig))
|
(renderDataResizeUpdate (u ^. uvConfig))
|
||||||
u
|
u
|
||||||
|
|
||||||
renderDataResizeUpdate ::
|
renderDataResizeUpdate :: Config -> RenderData -> IO RenderData
|
||||||
Config ->
|
|
||||||
RenderData ->
|
|
||||||
IO RenderData
|
|
||||||
renderDataResizeUpdate cfig rdata = do
|
renderDataResizeUpdate cfig rdata = do
|
||||||
rdata' <- sizeFBOs cfig rdata
|
rdata' <- sizeFBOs cfig rdata
|
||||||
bbVert <- BS.readFile "shader/texture/bloomBlur.vert"
|
bbVert <- BS.readFile "shader/texture/bloomBlur.vert"
|
||||||
bbFrag <- BS.readFile "shader/texture/bloomBlur.frag"
|
bbFrag <- BS.readFile "shader/texture/bloomBlur.frag"
|
||||||
let (xsize, ysize) = getWindowSize _graphics_downsize_resolution cfig :: (Int, Int)
|
let (xsize, ysize) = getWindowSize _gr_downsize_res cfig :: (Int, Int)
|
||||||
(bh, bmid) = BS.breakSubstring "(" bbFrag
|
(bh, bmid) = BS.breakSubstring "(" bbFrag
|
||||||
(_, btt) = BS.breakSubstring ")" bmid
|
(_, btt) = BS.breakSubstring ")" bmid
|
||||||
bbFrag' = BS.append bh $ BS.append (BSC.pack $ '(' : show xsize ++ "," ++ show ysize) btt
|
bbFrag' = BS.append bh $ BS.append (BSC.pack $ '(' : show xsize ++ "," ++ show ysize) btt
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ createLightMap cfig = case shadrendertype of
|
|||||||
NoLighting -> const . const . const . const . const . const renderFlatLighting
|
NoLighting -> const . const . const . const . const . const renderFlatLighting
|
||||||
_ -> renderShadows shadrendertype
|
_ -> renderShadows shadrendertype
|
||||||
where
|
where
|
||||||
shadrendertype = cfig ^. graphics_shadow_rendering
|
shadrendertype = cfig ^. gr_shadow_rendering
|
||||||
|
|
||||||
renderLightingNoShadows ::
|
renderLightingNoShadows ::
|
||||||
TO ->
|
TO ->
|
||||||
|
|||||||
@@ -1779,6 +1779,7 @@ _fboHalf1 src/Data/Preload/Render.hs 32;" f
|
|||||||
_fboHalf2 src/Data/Preload/Render.hs 33;" f
|
_fboHalf2 src/Data/Preload/Render.hs 33;" f
|
||||||
_fboLighting src/Data/Preload/Render.hs 39;" f
|
_fboLighting src/Data/Preload/Render.hs 39;" f
|
||||||
_fboPos src/Data/Preload/Render.hs 38;" f
|
_fboPos src/Data/Preload/Render.hs 38;" f
|
||||||
|
_fboWindow src/Data/Preload/Render.hs 36;" f
|
||||||
_flItPos src/Dodge/Data/FloorItem.hs 11;" f
|
_flItPos src/Dodge/Data/FloorItem.hs 11;" f
|
||||||
_flItRot src/Dodge/Data/FloorItem.hs 11;" f
|
_flItRot src/Dodge/Data/FloorItem.hs 11;" f
|
||||||
_flPos src/Dodge/Data/Flame.hs 13;" f
|
_flPos src/Dodge/Data/Flame.hs 13;" f
|
||||||
@@ -1818,15 +1819,15 @@ _grLinkDirs src/Dodge/GameRoom.hs 18;" f
|
|||||||
_grName src/Dodge/GameRoom.hs 19;" f
|
_grName src/Dodge/GameRoom.hs 19;" f
|
||||||
_grViewpoints src/Dodge/GameRoom.hs 13;" f
|
_grViewpoints src/Dodge/GameRoom.hs 13;" f
|
||||||
_grViewpointsEx src/Dodge/GameRoom.hs 14;" f
|
_grViewpointsEx src/Dodge/GameRoom.hs 14;" f
|
||||||
_graphics_bloom src/Dodge/Data/Config.hs 44;" f
|
_gr_bloom src/Dodge/Data/Config.hs 44;" f
|
||||||
_graphics_cloud_shadows src/Dodge/Data/Config.hs 42;" f
|
_gr_cloud_shadows src/Dodge/Data/Config.hs 42;" f
|
||||||
_graphics_distortion_resolution src/Dodge/Data/Config.hs 49;" f
|
_gr_distortion_res src/Dodge/Data/Config.hs 49;" f
|
||||||
_graphics_distortions src/Dodge/Data/Config.hs 43;" f
|
_gr_distortions src/Dodge/Data/Config.hs 43;" f
|
||||||
_graphics_downsize_resolution src/Dodge/Data/Config.hs 47;" f
|
_gr_downsize_res src/Dodge/Data/Config.hs 47;" f
|
||||||
_graphics_num_shadow_casters src/Dodge/Data/Config.hs 50;" f
|
_gr_num_shadow_casters src/Dodge/Data/Config.hs 50;" f
|
||||||
_graphics_shadow_rendering src/Dodge/Data/Config.hs 45;" f
|
_gr_shadow_rendering src/Dodge/Data/Config.hs 45;" f
|
||||||
_graphics_shadow_size src/Dodge/Data/Config.hs 46;" f
|
_gr_shadow_size src/Dodge/Data/Config.hs 46;" f
|
||||||
_graphics_world_resolution src/Dodge/Data/Config.hs 48;" f
|
_gr_world_res src/Dodge/Data/Config.hs 48;" f
|
||||||
_grayscaleShader src/Data/Preload/Render.hs 25;" f
|
_grayscaleShader src/Data/Preload/Render.hs 25;" f
|
||||||
_gsZoning src/Dodge/Data/World.hs 54;" f
|
_gsZoning src/Dodge/Data/World.hs 54;" f
|
||||||
_guID src/Dodge/Data/Gust.hs 12;" f
|
_guID src/Dodge/Data/Gust.hs 12;" f
|
||||||
@@ -2700,7 +2701,7 @@ brightX src/Color.hs 116;" f
|
|||||||
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
|
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
|
||||||
btText src/Dodge/Inventory/SelectionList.hs 237;" f
|
btText src/Dodge/Inventory/SelectionList.hs 237;" f
|
||||||
bufferEBO src/Shader/Bind.hs 28;" f
|
bufferEBO src/Shader/Bind.hs 28;" f
|
||||||
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 435;" f
|
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 456;" f
|
||||||
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
||||||
bufferShaderLayers src/Shader/Bind.hs 36;" f
|
bufferShaderLayers src/Shader/Bind.hs 36;" f
|
||||||
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
||||||
@@ -2793,7 +2794,7 @@ clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
|
|||||||
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
|
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
|
||||||
cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f
|
cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f
|
||||||
cleanUpPreload src/Preload.hs 10;" f
|
cleanUpPreload src/Preload.hs 10;" f
|
||||||
cleanUpRenderPreload src/Preload/Render.hs 237;" f
|
cleanUpRenderPreload src/Preload/Render.hs 240;" f
|
||||||
cleanUpSoundPreload src/Preload.hs 15;" f
|
cleanUpSoundPreload src/Preload.hs 15;" f
|
||||||
cleanupHalted src/Sound.hs 117;" f
|
cleanupHalted src/Sound.hs 117;" f
|
||||||
cleatLabel src/Dodge/Cleat.hs 30;" f
|
cleatLabel src/Dodge/Cleat.hs 30;" f
|
||||||
@@ -2879,7 +2880,7 @@ copier src/Dodge/Item/Scope.hs 88;" f
|
|||||||
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
|
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
|
||||||
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
|
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
|
||||||
corDoor src/Dodge/Room/Room.hs 385;" f
|
corDoor src/Dodge/Room/Room.hs 385;" f
|
||||||
cornerList src/Preload/Render.hs 214;" f
|
cornerList src/Preload/Render.hs 217;" f
|
||||||
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
|
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
|
||||||
corridor src/Dodge/Room/Corridor.hs 17;" f
|
corridor src/Dodge/Room/Corridor.hs 17;" f
|
||||||
corridorBoss src/Dodge/LockAndKey.hs 133;" f
|
corridorBoss src/Dodge/LockAndKey.hs 133;" f
|
||||||
@@ -3127,8 +3128,8 @@ digitalRect src/Geometry.hs 302;" f
|
|||||||
dim src/Color.hs 112;" f
|
dim src/Color.hs 112;" f
|
||||||
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
|
dirtPoly src/Dodge/Room/RoadBlock.hs 74;" f
|
||||||
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
|
disconnectItemS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 650;" f
|
||||||
displayConfig src/Dodge/Menu.hs 230;" f
|
displayConfig src/Dodge/Menu.hs 224;" f
|
||||||
displayControls src/Dodge/Menu.hs 246;" f
|
displayControls src/Dodge/Menu.hs 240;" f
|
||||||
displayFrameTicks src/Dodge/Render/Picture.hs 51;" f
|
displayFrameTicks src/Dodge/Render/Picture.hs 51;" f
|
||||||
displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f
|
displayFreeSlots src/Dodge/DisplayInventory.hs 192;" f
|
||||||
displayIndents src/Dodge/DisplayInventory.hs 110;" f
|
displayIndents src/Dodge/DisplayInventory.hs 110;" f
|
||||||
@@ -3445,7 +3446,7 @@ facesToVF src/Polyhedra/Geodesic.hs 69;" f
|
|||||||
farWallDistDirection src/Dodge/Update/Camera.hs 244;" f
|
farWallDistDirection src/Dodge/Update/Camera.hs 244;" f
|
||||||
fdiv src/ShortShow.hs 41;" f
|
fdiv src/ShortShow.hs 41;" f
|
||||||
feet src/Dodge/Creature/Picture.hs 51;" f
|
feet src/Dodge/Creature/Picture.hs 51;" f
|
||||||
ffoldM src/Framebuffer/Update.hs 79;" f
|
ffoldM src/Framebuffer/Update.hs 71;" f
|
||||||
filter3 src/FoldableHelp.hs 76;" f
|
filter3 src/FoldableHelp.hs 76;" f
|
||||||
filterSectionsPair src/Dodge/DisplayInventory.hs 157;" f
|
filterSectionsPair src/Dodge/DisplayInventory.hs 157;" f
|
||||||
findBlips src/Dodge/RadarSweep.hs 63;" f
|
findBlips src/Dodge/RadarSweep.hs 63;" f
|
||||||
@@ -3527,7 +3528,7 @@ g src/ShortShow.hs 48;" f
|
|||||||
gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
|
gLauncher src/Dodge/Item/Held/Launcher.hs 24;" f
|
||||||
gRandify src/Dodge/Randify.hs 11;" f
|
gRandify src/Dodge/Randify.hs 11;" f
|
||||||
gadgetEffect src/Dodge/HeldUse.hs 47;" f
|
gadgetEffect src/Dodge/HeldUse.hs 47;" f
|
||||||
gameOverMenu src/Dodge/Menu.hs 207;" f
|
gameOverMenu src/Dodge/Menu.hs 201;" f
|
||||||
gameRoomFromRoom src/Dodge/Layout.hs 152;" f
|
gameRoomFromRoom src/Dodge/Layout.hs 152;" f
|
||||||
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
|
gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
|
||||||
gameRoomsFromRooms src/Dodge/Layout.hs 149;" f
|
gameRoomsFromRooms src/Dodge/Layout.hs 149;" f
|
||||||
@@ -3558,7 +3559,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
|
|||||||
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
|
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
|
||||||
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
|
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
|
||||||
getDebugMouseOver src/Dodge/Update.hs 377;" f
|
getDebugMouseOver src/Dodge/Update.hs 377;" f
|
||||||
getDistortions src/Dodge/Render.hs 441;" f
|
getDistortions src/Dodge/Render.hs 462;" f
|
||||||
getEdgesCrossing src/Dodge/Path.hs 42;" f
|
getEdgesCrossing src/Dodge/Path.hs 42;" f
|
||||||
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
|
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
|
||||||
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
|
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
|
||||||
@@ -3710,10 +3711,10 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f
|
|||||||
initialRoomTree src/Dodge/Floor.hs 24;" f
|
initialRoomTree src/Dodge/Floor.hs 24;" f
|
||||||
initialWorld src/Dodge/Initialisation.hs 15;" f
|
initialWorld src/Dodge/Initialisation.hs 15;" f
|
||||||
initialisePlaying src/Sound.hs 77;" f
|
initialisePlaying src/Sound.hs 77;" f
|
||||||
initializeGLState src/Preload/Render.hs 232;" f
|
initializeGLState src/Preload/Render.hs 235;" f
|
||||||
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
|
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
|
||||||
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
|
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
|
||||||
initializeTexture2D src/Framebuffer/Update.hs 209;" f
|
initializeTexture2D src/Framebuffer/Update.hs 201;" f
|
||||||
inorderNumberTree src/TreeHelp.hs 190;" f
|
inorderNumberTree src/TreeHelp.hs 190;" f
|
||||||
insertAt src/Padding.hs 63;" f
|
insertAt src/Padding.hs 63;" f
|
||||||
insertIMInZone src/Dodge/Base.hs 54;" f
|
insertIMInZone src/Dodge/Base.hs 54;" f
|
||||||
@@ -3949,8 +3950,8 @@ lineThick src/Picture/Base.hs 234;" f
|
|||||||
lineUp src/Dodge/Creature/Boid.hs 150;" f
|
lineUp src/Dodge/Creature/Boid.hs 150;" f
|
||||||
linksDAGToPath src/Dodge/Room/Path.hs 13;" f
|
linksDAGToPath src/Dodge/Room/Path.hs 13;" f
|
||||||
linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
|
linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
|
||||||
listConfig src/Dodge/Menu.hs 239;" f
|
listConfig src/Dodge/Menu.hs 233;" f
|
||||||
listControls src/Dodge/Menu.hs 251;" f
|
listControls src/Dodge/Menu.hs 245;" f
|
||||||
listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
|
listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
|
||||||
listGuard src/Dodge/Creature/ReaderUpdate.hs 195;" f
|
listGuard src/Dodge/Creature/ReaderUpdate.hs 195;" f
|
||||||
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
|
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
|
||||||
@@ -4626,9 +4627,10 @@ resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
|
|||||||
resetPLUse src/Dodge/PlacementSpot.hs 92;" f
|
resetPLUse src/Dodge/PlacementSpot.hs 92;" f
|
||||||
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
|
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
|
||||||
resetTerminal src/Dodge/WorldEffect.hs 109;" f
|
resetTerminal src/Dodge/WorldEffect.hs 109;" f
|
||||||
resizeFBOTO src/Framebuffer/Update.hs 191;" f
|
resizeFBOTO src/Framebuffer/Update.hs 183;" f
|
||||||
resizeFBOTO3 src/Framebuffer/Update.hs 163;" f
|
resizeFBOTO2 src/Framebuffer/Update.hs 131;" f
|
||||||
resizeRBO src/Framebuffer/Update.hs 82;" f
|
resizeFBOTO3 src/Framebuffer/Update.hs 155;" f
|
||||||
|
resizeRBO src/Framebuffer/Update.hs 74;" f
|
||||||
respawn src/Dodge/SpawnAt.hs 12;" f
|
respawn src/Dodge/SpawnAt.hs 12;" f
|
||||||
restrictInLinks src/Dodge/RoomLink.hs 44;" f
|
restrictInLinks src/Dodge/RoomLink.hs 44;" f
|
||||||
restrictLinkType src/Dodge/RoomLink.hs 34;" f
|
restrictLinkType src/Dodge/RoomLink.hs 34;" f
|
||||||
@@ -4827,7 +4829,7 @@ setTiles src/Dodge/Layout.hs 67;" f
|
|||||||
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
|
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
|
||||||
setViewDistance src/Dodge/Update/Camera.hs 239;" f
|
setViewDistance src/Dodge/Update/Camera.hs 239;" f
|
||||||
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
|
||||||
setViewport src/Dodge/Render.hs 446;" f
|
setViewport src/Dodge/Render.hs 467;" f
|
||||||
setVol src/Dodge/Config.hs 47;" f
|
setVol src/Dodge/Config.hs 47;" f
|
||||||
setWristShieldPos src/Dodge/Equipment.hs 49;" f
|
setWristShieldPos src/Dodge/Equipment.hs 49;" f
|
||||||
setWristShieldPos src/Dodge/Euse.hs 38;" f
|
setWristShieldPos src/Dodge/Euse.hs 38;" f
|
||||||
@@ -4927,7 +4929,7 @@ singleDT src/Dodge/DoubleTree.hs 10;" f
|
|||||||
singleLDT src/Dodge/DoubleTree.hs 13;" f
|
singleLDT src/Dodge/DoubleTree.hs 13;" f
|
||||||
singleton src/DoubleStack.hs 11;" f
|
singleton src/DoubleStack.hs 11;" f
|
||||||
singletonTrie src/SimpleTrie.hs 20;" f
|
singletonTrie src/SimpleTrie.hs 20;" f
|
||||||
sizeFBOs src/Framebuffer/Update.hs 22;" f
|
sizeFBOs src/Framebuffer/Update.hs 20;" f
|
||||||
skColor src/Dodge/Spark/Draw.hs 14;" f
|
skColor src/Dodge/Spark/Draw.hs 14;" f
|
||||||
skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 512;" f
|
skwareFadeTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 512;" f
|
||||||
slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f
|
slap1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 670;" f
|
||||||
@@ -5281,7 +5283,7 @@ unfoldrMID src/MonadHelp.hs 33;" f
|
|||||||
unigate src/Dodge/Item/Scope.hs 102;" f
|
unigate src/Dodge/Item/Scope.hs 102;" f
|
||||||
unitVectorAtAngle src/Geometry/Vector.hs 101;" f
|
unitVectorAtAngle src/Geometry/Vector.hs 101;" f
|
||||||
unlockInv src/Dodge/Inventory/Lock.hs 12;" f
|
unlockInv src/Dodge/Inventory/Lock.hs 12;" f
|
||||||
unpause src/Dodge/Menu.hs 212;" f
|
unpause src/Dodge/Menu.hs 206;" f
|
||||||
unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f
|
unsafeBlinkAction src/Dodge/Creature/Action/Blink.hs 57;" f
|
||||||
unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f
|
unsafeBlinker src/Dodge/Item/Held/Utility.hs 33;" f
|
||||||
unsafeSwapKeys src/IntMapHelp.hs 75;" f
|
unsafeSwapKeys src/IntMapHelp.hs 75;" f
|
||||||
@@ -5332,8 +5334,9 @@ updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
|
|||||||
updateEnergyBalls src/Dodge/Update.hs 661;" f
|
updateEnergyBalls src/Dodge/Update.hs 661;" f
|
||||||
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
|
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
|
||||||
updateExpBarrel src/Dodge/Barreloid.hs 21;" f
|
updateExpBarrel src/Dodge/Barreloid.hs 21;" f
|
||||||
updateFBOTO src/Framebuffer/Update.hs 85;" f
|
updateFBOTO src/Framebuffer/Update.hs 77;" f
|
||||||
updateFBOTO3 src/Framebuffer/Update.hs 119;" f
|
updateFBOTO2 src/Framebuffer/Update.hs 93;" f
|
||||||
|
updateFBOTO3 src/Framebuffer/Update.hs 111;" f
|
||||||
updateFlame src/Dodge/Flame.hs 19;" f
|
updateFlame src/Dodge/Flame.hs 19;" f
|
||||||
updateFlames src/Dodge/Update.hs 658;" f
|
updateFlames src/Dodge/Update.hs 658;" f
|
||||||
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
|
updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f
|
||||||
|
|||||||
Reference in New Issue
Block a user