keid-core-0.1.8.0: Core parts of Keid engine.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Resource.Mesh.Codec

Synopsis

Format meta

Encoding

encodeFile :: forall vp vi va vn attrs nodes meta env. (Vector vp Packed, Vector vi Word32, Vector va attrs, Vector vn nodes, Storable attrs, Storable nodes, Serialise meta, HasLogFunc env) => FilePath -> vp Packed -> vi Word32 -> va attrs -> vn nodes -> meta -> RIO env () Source #

Decoding

loadIndexed :: (Storable attrs, Storable nodes, Serialise meta, Show meta, Typeable nodes, HasLogFunc env, MonadResource m, MonadVulkan env m) => Queues CommandPool -> FilePath -> m (ReleaseKey, (meta, Vector nodes, Indexed 'Staged Packed attrs)) Source #

loadBlobs :: forall attrs env nodes meta m. (Storable attrs, Serialise meta, Storable nodes, Typeable nodes, HasLogFunc env, MonadReader env m, MonadIO m) => FilePath -> m (meta, Vector nodes, (Vector Packed, Vector Word32, Vector attrs)) Source #

decodeItems :: forall item m. (Storable item, MonadFail m) => String -> ByteString -> Maybe Int -> ByteString -> m (Vector item) Source #

Utils

guardEq :: (MonadFail m, Show a, Eq a) => String -> a -> a -> m () Source #