Readd dust cloud rendering
This commit is contained in:
@@ -18,7 +18,6 @@ void main()
|
|||||||
uint i = gl_VertexID / 6;
|
uint i = gl_VertexID / 6;
|
||||||
uint k = gl_VertexID % 6;
|
uint k = gl_VertexID % 6;
|
||||||
vCol = data[i].col;
|
vCol = data[i].col;
|
||||||
// vCol = vec4(1,0.5,0,1);
|
|
||||||
vControls = indices[k];
|
vControls = indices[k];
|
||||||
vPos = vec3(data[i].pos.xy + 20*vControls, data[i].pos.z);
|
vPos = vec3(data[i].pos.xy + 20*vControls, data[i].pos.z);
|
||||||
gl_Position = theMat * vec4(vPos,1);
|
gl_Position = theMat * vec4(vPos,1);
|
||||||
|
|||||||
+10
-28
@@ -4,7 +4,6 @@ module Dodge.Render (
|
|||||||
getWindowSize,
|
getWindowSize,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Shape.Parameters
|
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import qualified Control.Monad.Parallel as MP
|
import qualified Control.Monad.Parallel as MP
|
||||||
@@ -61,11 +60,6 @@ doDrawing' win pdata u = do
|
|||||||
let wswp = wallSPics <> worldSPic cfig u
|
let wswp = wallSPics <> worldSPic cfig u
|
||||||
ws = wswp ^. _1
|
ws = wswp ^. _1
|
||||||
wp = wswp ^. _2
|
wp = wswp ^. _2
|
||||||
nCloudVs <-
|
|
||||||
V.foldM'
|
|
||||||
(pokeCloud (pdata ^. cloudVBO . vboPtr))
|
|
||||||
0
|
|
||||||
(V.fromList $ w ^. cWorld . lWorld . clouds)
|
|
||||||
((nWins, trueNWalls), (nShapeVs, nIndices, nSilIndices)) <-
|
((nWins, trueNWalls), (nShapeVs, nIndices, nSilIndices)) <-
|
||||||
MP.liftM3
|
MP.liftM3
|
||||||
(\_ a b -> (a, b))
|
(\_ a b -> (a, b))
|
||||||
@@ -88,28 +82,16 @@ doDrawing' win pdata u = do
|
|||||||
(0, 0, 0)
|
(0, 0, 0)
|
||||||
ws
|
ws
|
||||||
)
|
)
|
||||||
-- (nCloudVs', nCloudIs') <-
|
nCloudVs' <-
|
||||||
-- -- Might want to sort the clouds based on z depth, not sure
|
V.foldM'
|
||||||
-- V.foldM'
|
(pokeCloud (pdata ^. cloudVBO . vboPtr))
|
||||||
-- (pokeCloud (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . uiboPtr))
|
0
|
||||||
-- (0, 0)
|
(V.fromList $ w ^. cWorld . lWorld . clouds)
|
||||||
-- (V.fromList $ w ^. cWorld . lWorld . clouds)
|
nCloudVs <-
|
||||||
-- (nCloudVs, nCloudIs) <-
|
V.foldM'
|
||||||
-- V.foldM'
|
(pokeDust (pdata ^. cloudVBO . vboPtr))
|
||||||
-- (pokeDust (pdata ^. cloudVBO . vboPtr) (pdata ^. cloudEBO . uiboPtr))
|
nCloudVs'
|
||||||
-- (nCloudVs', nCloudIs')
|
(V.fromList $ w ^. cWorld . lWorld . dusts)
|
||||||
-- (V.fromList $ w ^. cWorld . lWorld . dusts)
|
|
||||||
--nCloudVs' <-
|
|
||||||
-- nCloudVs <-
|
|
||||||
-- V.foldM'
|
|
||||||
-- (pokeCloud (pdata ^. cloudVBO . vboPtr))
|
|
||||||
-- 0
|
|
||||||
-- (V.fromList $ w ^. cWorld . lWorld . clouds)
|
|
||||||
-- nCloudVs <-
|
|
||||||
-- V.foldM'
|
|
||||||
-- (pokeDust (pdata ^. cloudVBO . vboPtr))
|
|
||||||
-- nCloudVs'
|
|
||||||
-- (V.fromList $ w ^. cWorld . lWorld . dusts)
|
|
||||||
-- bind wall points, silhouette data, surface geometry
|
-- bind wall points, silhouette data, surface geometry
|
||||||
bufferShaderLayers shadV pokeCounts
|
bufferShaderLayers shadV pokeCounts
|
||||||
mapM_
|
mapM_
|
||||||
|
|||||||
@@ -156,8 +156,11 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
|||||||
-- for each of the lights:
|
-- for each of the lights:
|
||||||
-- 1. stencil out the shadows from this light's point of view
|
-- 1. stencil out the shadows from this light's point of view
|
||||||
-- 2. calculate lighting based on each fragment's position and normal
|
-- 2. calculate lighting based on each fragment's position and normal
|
||||||
|
-- TODO stencil out square around light!
|
||||||
|
-- glEnable GL_SCISSOR_TEST
|
||||||
flip VFSM.mapM_ (VFSM.fromList lightPoints) $ \(V3 x y z, rad, V3 r g b) -> do
|
flip VFSM.mapM_ (VFSM.fromList lightPoints) $ \(V3 x y z, rad, V3 r g b) -> do
|
||||||
-- note that the stencil shadows rely on the depth buffer
|
-- note that the stencil shadows rely on the depth buffer
|
||||||
|
-- glScissor 0 0 200 200
|
||||||
glDepthFunc GL_LESS
|
glDepthFunc GL_LESS
|
||||||
glColorMask GL_FALSE GL_FALSE GL_FALSE GL_FALSE
|
glColorMask GL_FALSE GL_FALSE GL_FALSE GL_FALSE
|
||||||
-- setup stencil
|
-- setup stencil
|
||||||
@@ -234,6 +237,7 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li
|
|||||||
(fromIntegral (4 :: Int))
|
(fromIntegral (4 :: Int))
|
||||||
--cleanup: may not be necessary, depending on what comes after...
|
--cleanup: may not be necessary, depending on what comes after...
|
||||||
-- glDisable GL_STENCIL_TEST
|
-- glDisable GL_STENCIL_TEST
|
||||||
|
-- glDisable GL_SCISSOR_TEST
|
||||||
glStencilFunc GL_NOTEQUAL 128 255
|
glStencilFunc GL_NOTEQUAL 128 255
|
||||||
glStencilOp GL_KEEP GL_KEEP GL_KEEP
|
glStencilOp GL_KEEP GL_KEEP GL_KEEP
|
||||||
glColorMask GL_TRUE GL_TRUE GL_TRUE GL_TRUE
|
glColorMask GL_TRUE GL_TRUE GL_TRUE GL_TRUE
|
||||||
|
|||||||
@@ -2642,7 +2642,7 @@ beltMag src/Dodge/Item/Ammo.hs 39;" f
|
|||||||
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
|
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
|
||||||
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
|
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
|
||||||
bgunSound src/Dodge/HeldUse.hs 514;" f
|
bgunSound src/Dodge/HeldUse.hs 514;" f
|
||||||
bindFBO src/Render.hs 266;" f
|
bindFBO src/Render.hs 270;" f
|
||||||
bingate src/Dodge/Item/Scope.hs 109;" f
|
bingate src/Dodge/Item/Scope.hs 109;" f
|
||||||
black src/Color.hs 27;" f
|
black src/Color.hs 27;" f
|
||||||
blank src/Picture/Base.hs 59;" f
|
blank src/Picture/Base.hs 59;" f
|
||||||
@@ -2698,7 +2698,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 490;" f
|
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 499;" f
|
||||||
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
bufferPokedVBO src/Shader/Bind.hs 19;" f
|
||||||
bufferShaderLayers src/Shader/Bind.hs 32;" f
|
bufferShaderLayers src/Shader/Bind.hs 32;" f
|
||||||
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
|
||||||
@@ -2876,7 +2876,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 246;" f
|
cornerList src/Preload/Render.hs 249;" 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
|
||||||
@@ -3552,7 +3552,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 374;" f
|
getDebugMouseOver src/Dodge/Update.hs 374;" f
|
||||||
getDistortions src/Dodge/Render.hs 496;" f
|
getDistortions src/Dodge/Render.hs 505;" f
|
||||||
getEdgesCrossing src/Dodge/Path.hs 37;" f
|
getEdgesCrossing src/Dodge/Path.hs 37;" 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
|
||||||
@@ -3703,7 +3703,7 @@ 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 264;" f
|
initializeGLState src/Preload/Render.hs 267;" 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 205;" f
|
initializeTexture2D src/Framebuffer/Update.hs 205;" f
|
||||||
@@ -4329,7 +4329,7 @@ pincerP src/Dodge/Creature/Boid.hs 63;" f
|
|||||||
pincerP' src/Dodge/Creature/Boid.hs 96;" f
|
pincerP' src/Dodge/Creature/Boid.hs 96;" f
|
||||||
pincerP'' src/Dodge/Creature/Boid.hs 106;" f
|
pincerP'' src/Dodge/Creature/Boid.hs 106;" f
|
||||||
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
|
pincerP''' src/Dodge/Creature/Boid.hs 77;" f
|
||||||
pingPongBetween src/Render.hs 242;" f
|
pingPongBetween src/Render.hs 246;" f
|
||||||
pipe src/Dodge/Item/Craftable.hs 32;" f
|
pipe src/Dodge/Item/Craftable.hs 32;" f
|
||||||
pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
pistol src/Dodge/Item/Held/Stick.hs 40;" f
|
||||||
pistolerRoom src/Dodge/Room/Room.hs 330;" f
|
pistolerRoom src/Dodge/Room/Room.hs 330;" f
|
||||||
@@ -4604,7 +4604,7 @@ renderDataResizeUpdate src/Preload/Update.hs 26;" f
|
|||||||
renderFlatLighting src/Render.hs 107;" f
|
renderFlatLighting src/Render.hs 107;" f
|
||||||
renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
|
renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f
|
||||||
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
|
renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f
|
||||||
renderLayer src/Render.hs 255;" f
|
renderLayer src/Render.hs 259;" f
|
||||||
renderLightingNoShadows src/Render.hs 48;" f
|
renderLightingNoShadows src/Render.hs 48;" f
|
||||||
renderListAt src/Dodge/Render/List.hs 192;" f
|
renderListAt src/Dodge/Render/List.hs 192;" f
|
||||||
renderShadows src/Render.hs 122;" f
|
renderShadows src/Render.hs 122;" f
|
||||||
@@ -4816,7 +4816,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 501;" f
|
setViewport src/Dodge/Render.hs 510;" 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
|
||||||
|
|||||||
Reference in New Issue
Block a user