From 5332c0ae54eeb591762e0b348d2fcf8132988b1d Mon Sep 17 00:00:00 2001 From: Csaba Hruska Date: Fri, 23 Dec 2016 14:13:56 +0100 Subject: make renderable graphics order optional --- src/LambdaCube/GL/Backend.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/LambdaCube/GL/Backend.hs') diff --git a/src/LambdaCube/GL/Backend.hs b/src/LambdaCube/GL/Backend.hs index 37b38c0..c682723 100644 --- a/src/LambdaCube/GL/Backend.hs +++ b/src/LambdaCube/GL/Backend.hs @@ -750,14 +750,16 @@ renderFrame glp = do case input of Nothing -> putStrLn "Warning: No pipeline input!" >> return () Just ic -> do - GLSlot _ objs _ <- readIORef (slotVector (icInput ic) ! (icSlotMapPipelineToInput ic ! slotIdx)) - --putStrLn $ "Rendering " ++ show (V.length objs) ++ " objects" - V.forM_ objs $ \(_,obj) -> do - enabled <- readIORef $ objEnabled obj - when enabled $ do + let draw obj = do + enabled <- readIORef $ objEnabled obj + when enabled $ do cmd <- readIORef $ objCommands obj --putStrLn "Render object" renderSlot ((cmd ! icId ic) ! progIdx) + --putStrLn $ "Rendering " ++ show (V.length objs) ++ " objects" + readIORef (slotVector (icInput ic) ! (icSlotMapPipelineToInput ic ! slotIdx)) >>= \case + GLSlot _ objs Ordered -> forM_ objs $ draw . snd + GLSlot objMap _ _ -> forM_ objMap draw {- GLSetSampler GLSaveImage -- cgit v1.2.3