lambdacube-engine 0.2.3 → 0.2.4
raw patch · 4 files changed
+23/−6 lines, 4 filesdep ~bitmapdep ~stb-imagedep ~zip-archivenew-uploader
Dependency ranges changed: bitmap, stb-image, zip-archive
Files
- Graphics/LambdaCube/Loader/StbImage.hs +3/−1
- Graphics/LambdaCube/MeshUtil.hs +2/−0
- Graphics/LambdaCube/SceneGraph.hs +2/−2
- lambdacube-engine.cabal +16/−3
Graphics/LambdaCube/Loader/StbImage.hs view
@@ -2,6 +2,7 @@ import Data.Bitmap import Data.ByteString.Lazy hiding (putStrLn)+import Foreign.Ptr import qualified Codec.Image.STB as STB import qualified Data.ByteString as SB @@ -23,6 +24,7 @@ (w,h) = bitmapSize img putStrLn $ "StbImage loader " ++ "\"" ++ name ++ "\" loaded" putStrLn $ "StbImage loader " ++ "resolution = " ++ show w ++ " x " ++ show h ++ ", " ++ show (bitmapPixelSizeInBytes img) ++ " bytes per pixel"+ imgData <- withBitmap img $ \_ _ _ ptr -> SB.packCStringLen (castPtr ptr,bitmapSizeInBytes img) return $ Just Image { imName = name , imHeight = w@@ -30,5 +32,5 @@ , imDepth = 1 , imNumMipmaps = 0 -- TODO , imFormat = pf- , imData = bitmapToByteString img+ , imData = imgData }
Graphics/LambdaCube/MeshUtil.hs view
@@ -53,6 +53,8 @@ groupByGeometry :: [[MeshGroup]] -> [[MeshGroup]] groupByGeometry l = groupSetBy compareMeshItem =<< l where+ compareMeshItem (_,_,Just _,_,_) (_,_,Nothing,_,_) = GT+ compareMeshItem (_,_,Nothing,_,_) (_,_,Just _,_,_) = LT compareMeshItem (_,a1,_,_,a2) (_,b1,_,_,b2) = compare (V.map vectorVertexType a1, a2) (V.map vectorVertexType b1, b2) joinGroup :: [MeshGroup] -> VSubMesh
Graphics/LambdaCube/SceneGraph.hs view
@@ -30,7 +30,7 @@ simpleCamera :: RenderSystem r vb ib q t p lp => String -> MkSceneObjectAction r vb ib q t p lp e simpleCamera name = return $ SO_Camera Camera { cmName = name- , cmFov = 45+ , cmFov = 45 / 180 * pi , cmNear = 0.1 , cmFar = 5000 , cmAspectRatio = Nothing@@ -42,7 +42,7 @@ wireCamera :: RenderSystem r vb ib q t p lp => String -> MkSceneObjectAction r vb ib q t p lp e wireCamera name = return $ SO_Camera Camera { cmName = name- , cmFov = 45+ , cmFov = 45 / 180 * pi , cmNear = 0.1 , cmFar = 5000 , cmAspectRatio = Nothing
lambdacube-engine.cabal view
@@ -1,5 +1,5 @@ name: lambdacube-engine-version: 0.2.3+version: 0.2.4 cabal-version: >= 1.6 && < 2 build-type: Simple license: BSD3@@ -45,13 +45,14 @@ containers >= 0.2 && < 1, directory >= 1.0.0.2 && < 2, filepath >= 1.1.0.1 && < 2,- stb-image >= 0.2 && < 0.3,+ stb-image >= 0.2.1 && < 0.3,+ bitmap >= 0.0.2 && < 0.1, uulib >= 0.9.10 && < 1, vector, vector-algorithms, bytestring-trie >= 0.2 && < 0.3, xml >= 1.3 && < 2,- zip-archive >= 0.1.1.3 && < 1,+ zip-archive >= 0.1.1.8 && < 1, mtl >= 2 && < 3 exposed-modules: Graphics.LambdaCube@@ -120,3 +121,15 @@ -- Graphics.LambdaCube.ParticleSystem ghc-options: -O2 -fspec-constr-count=12 -Wall -fno-warn-unused-do-bind -fno-warn-name-shadowing++ Extensions:+ DatatypeContexts+-- ExistentialQuantification+-- FlexibleContexts+-- FlexibleInstances+-- FunctionalDependencies+-- MultiParamTypeClasses+-- NamedFieldPuns+-- NoMonomorphismRestriction+-- ParallelListComp+-- Rank2Types