Hopefully fully excise streaming
This commit is contained in:
+1
-1
@@ -58,7 +58,7 @@ dependencies:
|
|||||||
- directory
|
- directory
|
||||||
- extra
|
- extra
|
||||||
- primitive
|
- primitive
|
||||||
- streaming
|
#- streaming
|
||||||
#- repa
|
#- repa
|
||||||
- monad-parallel
|
- monad-parallel
|
||||||
- parallel
|
- parallel
|
||||||
|
|||||||
@@ -18,10 +18,6 @@ import Data.Maybe
|
|||||||
import Data.List
|
import Data.List
|
||||||
import Data.Bifunctor
|
import Data.Bifunctor
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
--import qualified Streaming.Prelude as S
|
|
||||||
|
|
||||||
--picMap :: (Verx -> Verx) -> Picture -> Picture
|
|
||||||
--picMap = map
|
|
||||||
|
|
||||||
picFormat :: [Verx] -> Picture
|
picFormat :: [Verx] -> Picture
|
||||||
picFormat = id
|
picFormat = id
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ import qualified Data.Vector.Mutable as MV
|
|||||||
import Control.Monad.Primitive
|
import Control.Monad.Primitive
|
||||||
import Graphics.GL.Core43
|
import Graphics.GL.Core43
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import qualified Streaming.Prelude as S
|
import qualified Data.Vector.Fusion.Stream.Monadic as VFSM
|
||||||
|
|
||||||
divideSize :: Int -> Size -> Size
|
divideSize :: Int -> Size -> Size
|
||||||
divideSize i (Size x y) = Size (div x $ fromIntegral i) (div y $ fromIntegral i)
|
divideSize i (Size x y) = Size (div x $ fromIntegral i) (div y $ fromIntegral i)
|
||||||
@@ -53,7 +53,7 @@ createLightMap pdata lightPoints nWalls nSils nCaps drawObjShads toPos = do
|
|||||||
-- to consider: adding normals/a "material" for each fragment
|
-- to consider: adding normals/a "material" for each fragment
|
||||||
blendFunc $= (Zero, OneMinusSrcColor)
|
blendFunc $= (Zero, OneMinusSrcColor)
|
||||||
stencilTest $= Enabled
|
stencilTest $= Enabled
|
||||||
flip S.mapM_ (S.each 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
|
||||||
depthFunc $= Just Less
|
depthFunc $= Just Less
|
||||||
-- setup stencil
|
-- setup stencil
|
||||||
colorMask $= Color4 Disabled Disabled Disabled Disabled
|
colorMask $= Color4 Disabled Disabled Disabled Disabled
|
||||||
|
|||||||
+3
-3
@@ -10,9 +10,9 @@ import Graphics.Rendering.OpenGL hiding (Line,translate,scale,imageHeight,Polygo
|
|||||||
import Foreign hiding (rotate)
|
import Foreign hiding (rotate)
|
||||||
import qualified Data.Vector.Unboxed.Mutable as UMV
|
import qualified Data.Vector.Unboxed.Mutable as UMV
|
||||||
import qualified Data.Vector.Mutable as MV
|
import qualified Data.Vector.Mutable as MV
|
||||||
|
import qualified Data.Vector.Fusion.Stream.Monadic as VFSM
|
||||||
import Control.Monad.Primitive
|
import Control.Monad.Primitive
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import qualified Streaming.Prelude as S
|
|
||||||
|
|
||||||
bindArrayBuffers :: Int -> VBO -> IO ()
|
bindArrayBuffers :: Int -> VBO -> IO ()
|
||||||
{-# INLINABLE bindArrayBuffers #-}
|
{-# INLINABLE bindArrayBuffers #-}
|
||||||
@@ -32,8 +32,8 @@ bindShaderLayers shads counts = MV.imapM_ f shads
|
|||||||
let theVBO = _vaoVBO $ _shadVAO shad
|
let theVBO = _vaoVBO $ _shadVAO shad
|
||||||
stride = sum $ _vboAttribSizes theVBO
|
stride = sum $ _vboAttribSizes theVBO
|
||||||
bindBuffer ArrayBuffer $= (Just . _vbo $ theVBO)
|
bindBuffer ArrayBuffer $= (Just . _vbo $ theVBO)
|
||||||
--VS.mapM_ (g stride theVBO) $ VS.enumFromStepN 0 1 6 -- [0..5]
|
VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 6 -- [0..5]
|
||||||
S.mapM_ (g stride theVBO) $ S.each [0..5]
|
--S.mapM_ (g stride theVBO) $ S.each [0..5]
|
||||||
|
|
||||||
where
|
where
|
||||||
g stride theVBO lay = do
|
g stride theVBO lay = do
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ module Shape
|
|||||||
import Geometry
|
import Geometry
|
||||||
import Shape.Data
|
import Shape.Data
|
||||||
import Color
|
import Color
|
||||||
--import qualified Streaming.Prelude as S
|
|
||||||
|
|
||||||
singleShape :: ShapeObj -> Shape
|
singleShape :: ShapeObj -> Shape
|
||||||
{-# INLINE singleShape #-}
|
{-# INLINE singleShape #-}
|
||||||
|
|||||||
@@ -12,8 +12,6 @@ import Control.Lens
|
|||||||
import Data.Aeson
|
import Data.Aeson
|
||||||
import Data.Aeson.TH
|
import Data.Aeson.TH
|
||||||
import Geometry.Data
|
import Geometry.Data
|
||||||
--import Streaming
|
|
||||||
|
|
||||||
|
|
||||||
{-# INLINE shVfromList #-}
|
{-# INLINE shVfromList #-}
|
||||||
shVfromList = id
|
shVfromList = id
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ import Geometry
|
|||||||
|
|
||||||
import Data.Bifunctor
|
import Data.Bifunctor
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
--import qualified Streaming.Prelude as S
|
|
||||||
|
|
||||||
|
|
||||||
shMap :: (ShapeObj -> ShapeObj) -> Shape -> Shape
|
shMap :: (ShapeObj -> ShapeObj) -> Shape -> Shape
|
||||||
shMap = map
|
shMap = map
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ import qualified SDL.Mixer as Mix
|
|||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
import qualified IntMapHelp as IM
|
import qualified IntMapHelp as IM
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
--import qualified Streaming.Prelude as S
|
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Control.Monad.Trans
|
import Control.Monad.Trans
|
||||||
import Control.Monad.Trans.Maybe
|
import Control.Monad.Trans.Maybe
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
module StreamingHelp
|
|
||||||
( minStreamOn
|
|
||||||
, sortStreamOn
|
|
||||||
, module Streaming
|
|
||||||
, module StreamingHelp.Data
|
|
||||||
) where
|
|
||||||
import Streaming
|
|
||||||
import StreamingHelp.Data
|
|
||||||
import qualified Streaming.Prelude as S
|
|
||||||
import qualified Control.Foldl as L
|
|
||||||
import Data.Function (on)
|
|
||||||
|
|
||||||
|
|
||||||
minStreamOn :: Ord a => (b -> a) -> StreamOf b -> Maybe b
|
|
||||||
{-# INLINE minStreamOn #-}
|
|
||||||
minStreamOn f = runIdentity
|
|
||||||
. L.purely S.fold_ (L.minimumBy (compare `on` f))
|
|
||||||
|
|
||||||
-- this hopefully also nub the stream in most cases
|
|
||||||
--orderStreamOn :: Ord b => (a -> b) -> Stream (Of a) Identity () -> Identity (Of (M.Map b a) ())
|
|
||||||
sortStreamOn :: Ord a => (b -> a) -> StreamOf b -> Stream (Of b) Identity ()
|
|
||||||
{-# INLINE sortStreamOn #-}
|
|
||||||
sortStreamOn f = S.each . runIdentity . L.purely S.fold_ L.map . S.map g
|
|
||||||
where
|
|
||||||
g x = (f x,x)
|
|
||||||
|
|
||||||
--applyUnzip
|
|
||||||
-- :: (Stream (Of a) IO () -> IO r)
|
|
||||||
-- -> (Stream (Of b) IO () -> IO ())
|
|
||||||
-- -> Stream (Of a) (Stream g IO) ()
|
|
||||||
-- -> IO r
|
|
||||||
--applyUnzip f g s = h s
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
module StreamingHelp.Data where
|
|
||||||
import Streaming
|
|
||||||
type StreamOf a = Stream (Of a) Identity ()
|
|
||||||
|
|
||||||
newtype StreamOf' a = StreamOf' (Stream (Of a) Identity ())
|
|
||||||
Reference in New Issue
Block a user