luminance-samples 0.7 → 0.8
raw patch · 9 files changed
+37/−66 lines, 9 filesdep ~luminance
Dependency ranges changed: luminance
Files
- luminance-samples.cabal +8/−8
- src/Blending.hs +5/−7
- src/Blit.hs +3/−5
- src/Common.hs +2/−4
- src/DepthTest.hs +6/−15
- src/HelloWorld.hs +3/−12
- src/HelloWorldUniform.hs +4/−6
- src/Texture.hs +3/−4
- src/UBO.hs +3/−5
luminance-samples.cabal view
@@ -1,5 +1,5 @@ name: luminance-samples-version: 0.7+version: 0.8 synopsis: Luminance samples description: Luminance samples used as tutorial help homepage: https://github.com/phaazon/luminance-samples@@ -31,7 +31,7 @@ , FlexibleContexts build-depends: base >= 4.8 && < 4.9- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -53,7 +53,7 @@ , ScopedTypeVariables build-depends: base >= 4.8 && < 4.9- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -76,7 +76,7 @@ build-depends: base >= 4.8 && < 4.9 , contravariant >= 1.3 && < 1.4- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -99,7 +99,7 @@ build-depends: base >= 4.8 && < 4.9 , contravariant >= 1.3 && < 1.4- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -123,7 +123,7 @@ build-depends: base >= 4.8 && < 4.9 , contravariant >= 1.3 && < 1.4 , JuicyPixels >= 3.2 && < 3.4- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -146,7 +146,7 @@ build-depends: base >= 4.8 && < 4.9 , contravariant >= 1.3 && < 1.4- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2@@ -171,7 +171,7 @@ build-depends: base >= 4.8 && < 4.9 , contravariant >= 1.3 && < 1.4 , linear >= 1.20 && < 1.21- , luminance >= 0.6 && < 0.8+ , luminance >= 0.8 && < 0.9 , GLFW-b >= 1.4 && < 1.5 , mtl >= 2.2 && < 2.3 , resourcet >= 1.1 && < 1.2
src/Blending.hs view
@@ -1,6 +1,5 @@ import Common import Control.Monad-import Control.Monad.IO.Class import Data.Functor.Contravariant.Divisible import Graphics.Luminance.Batch import Graphics.Luminance.Cmd@@ -11,18 +10,17 @@ import Graphics.Luminance.Shader.Program import Graphics.Luminance.Shader.Stage import Graphics.Luminance.Vertex-import Graphics.UI.GLFW main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource- (program,colorOffsetU) <- createProgram [vs,fs] $ \uni _ -> do- colorU <- uni $ Left "color"- offsetU <- uni $ Left "offset"+ (program,colorOffsetU) <- createProgram [vs,fs] $ \uni -> do+ colorU <- uni (UniformName "color")+ offsetU <- uni (UniformName "offset") pure $ divided colorU offsetU- mainLoop $ do+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch . shaderProgramBatch_ program $ [
src/Blit.hs view
@@ -1,5 +1,4 @@ import Common-import Control.Monad.IO.Class import Graphics.Luminance.Batch import Graphics.Luminance.Cmd import Graphics.Luminance.Framebuffer@@ -11,16 +10,15 @@ import Graphics.Luminance.Shader.Stage import Graphics.Luminance.Texture import Graphics.Luminance.Vertex-import Graphics.UI.GLFW main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource- fb :: Framebuffer RW RGBA32F () <- createFramebuffer windowW windowH 1 program <- createProgram_ [vs,fs]- mainLoop $ do+ fb :: Framebuffer RW RGBA32F () <- createFramebuffer windowW windowH 1+ loop $ do _ <- runCmd $ do _ <- draw $ framebufferBatch fb [anySPBatch $ shaderProgramBatch_ program [stdRenderCmd_ triangle]]
src/Common.hs view
@@ -20,8 +20,7 @@ | AppStageCompilationFailed String | AppUnsupportedStage StageType | AppProgramLinkFailed String- | AppInactiveUniform String- | AppInactiveUniformBlock String+ | AppInactiveUniform SomeUniformName | TextureLoadFailed String | CLIUsage String deriving (Eq,Show)@@ -37,8 +36,7 @@ instance HasProgramError AppError where fromProgramError e = case e of LinkFailed s -> AppProgramLinkFailed s- InactiveUniform u -> AppInactiveUniform (show u)- InactiveUniformBlock s -> AppInactiveUniformBlock s+ InactiveUniform name -> AppInactiveUniform name windowW,windowH :: (Num a) => a windowW = 800
src/DepthTest.hs view
@@ -1,27 +1,18 @@ import Common import Control.Monad-import Control.Monad.IO.Class import Data.Functor.Contravariant.Divisible-import Graphics.Luminance.Batch-import Graphics.Luminance.Cmd-import Graphics.Luminance.Framebuffer-import Graphics.Luminance.Geometry-import Graphics.Luminance.RenderCmd-import Graphics.Luminance.Shader.Program-import Graphics.Luminance.Shader.Stage-import Graphics.Luminance.Vertex-import Graphics.UI.GLFW+import Graphics.Luminance main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource- (program,colorOffsetU) <- createProgram [vs,fs] $ \uni _ -> do- colorU <- uni $ Left "color"- offsetU <- uni $ Left "offset"+ (program,colorOffsetU) <- createProgram [vs,fs] $ \uni -> do+ colorU <- uni (UniformName "color")+ offsetU <- uni (UniformName "offset") pure $ divided colorU offsetU- mainLoop $ do+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch . shaderProgramBatch_ program $ [
src/HelloWorld.hs view
@@ -1,21 +1,12 @@ import Common import Control.Monad-import Control.Monad.IO.Class-import Graphics.Luminance.Batch-import Graphics.Luminance.Cmd-import Graphics.Luminance.Framebuffer-import Graphics.Luminance.Geometry-import Graphics.Luminance.RenderCmd-import Graphics.Luminance.Shader.Program-import Graphics.Luminance.Shader.Stage-import Graphics.Luminance.Vertex-import Graphics.UI.GLFW+import Graphics.Luminance main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle program <- sequenceA [createStage VertexShader vsSource,createStage FragmentShader fsSource] >>= createProgram_- mainLoop $ do+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch $ shaderProgramBatch_ program [stdRenderCmd_ triangle]] endFrame window
src/HelloWorldUniform.hs view
@@ -1,17 +1,15 @@ import Common import Control.Monad-import Control.Monad.IO.Class import Graphics.Luminance-import Graphics.UI.GLFW main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource- (program,colorsU :: U [(Float,Float,Float)]) <- createProgram [vs,fs] $ \uni _ ->- uni (Left "colors")- mainLoop $ do+ (program,colorsU :: U [(Float,Float,Float)]) <- createProgram [vs,fs] $ \uni ->+ uni (UniformName "colors")+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch $ shaderProgramBatch program colorsU colors [stdRenderCmd_ triangle]] endFrame window
src/Texture.hs view
@@ -6,19 +6,18 @@ import Control.Monad.IO.Class import Control.Monad.Trans.Resource import Graphics.Luminance-import Graphics.UI.GLFW import System.Environment ( getArgs ) main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do args <- liftIO getArgs when (null args) . throwError $ CLIUsage "expecting a texture path as argument!" tex <- loadTexture (head args) quad <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource- (program,texU) <- createProgram [vs,fs] $ \uni _ -> uni $ Left "srcTex"- mainLoop $ do+ (program,texU) <- createProgram [vs,fs] $ \uni -> uni (UniformName "srcTex")+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch $ shaderProgramBatch program texU tex [stdRenderCmd_ quad]] endFrame window
src/UBO.hs view
@@ -1,20 +1,18 @@ import Common import Control.Monad-import Control.Monad.IO.Class import GHC.Generics ( Generic ) import Graphics.Luminance-import Graphics.UI.GLFW import Linear main :: IO ()-main = startup $ \window mainLoop -> do+main = startup $ \window loop -> do triangle <- createGeometry vertices Nothing Triangle vs <- createStage VertexShader vsSource fs <- createStage FragmentShader fsSource colorBuffer :: Region RW (UB Color) <- createBuffer (newRegion 3) writeWhole colorBuffer (map UB colors)- (program,colorsU) <- createProgram [vs,fs] $ \_ uniBlock -> uniBlock "Colors"- mainLoop $ do+ (program,colorsU) <- createProgram [vs,fs] $ \uni -> uni (UniformBlockName"Colors")+ loop $ do void . runCmd . draw $ framebufferBatch defaultFramebuffer [anySPBatch $ shaderProgramBatch program colorsU colorBuffer [stdRenderCmd_ triangle]] endFrame window