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

Resource.Texture

Synopsis

Documentation

data Texture a Source #

Constructors

Texture 

Fields

Instances

Instances details
Show (Texture a) Source # 
Instance details

Defined in Resource.Texture

Methods

showsPrec :: Int -> Texture a -> ShowS #

show :: Texture a -> String #

showList :: [Texture a] -> ShowS #

destroy :: (MonadIO io, HasVulkan context) => context -> Texture a -> io () Source #

Texture types

data Flat Source #

Instances

Instances details
TextureLayers Flat Source # 
Instance details

Defined in Resource.Texture

data CubeMap Source #

Instances

Instances details
TextureLayers CubeMap Source # 
Instance details

Defined in Resource.Texture

data ArrayOf (layers :: Nat) Source #

Instances

Instances details
KnownNat n => TextureLayers (ArrayOf n) Source # 
Instance details

Defined in Resource.Texture

class TextureLayers a where Source #

Number of expected texture layers to load from resource.

Instances

Instances details
TextureLayers CubeMap Source # 
Instance details

Defined in Resource.Texture

TextureLayers Flat Source # 
Instance details

Defined in Resource.Texture

KnownNat n => TextureLayers (ArrayOf n) Source # 
Instance details

Defined in Resource.Texture

Utilities

allocateCollectionWith :: (MonadResource m, MonadVulkan env m, Traversable t) => TextureLoaderAction src m layers -> t src -> m (ReleaseKey, t (Texture layers)) Source #

allocateTextureWith :: (MonadResource m, MonadVulkan env m) => TextureLoaderAction src m layers -> src -> m (ReleaseKey, Texture layers) Source #

debugNameCollection :: (Traversable t, MonadVulkan env m, HasLogFunc env, HasCallStack) => t (Texture layers) -> t FilePath -> m () Source #

type TextureLoader m layers = Format -> Queues CommandPool -> FilePath -> m (Texture layers) Source #

createImageView :: (MonadIO io, HasVulkan context) => context -> Image -> Format -> ("mip levels" ::: Word32) -> ("array layers" ::: Word32) -> io ImageView Source #

imageCI :: Format -> Extent3D -> Word32 -> Word32 -> ImageCreateInfo '[] Source #

imageAllocationCI :: AllocationCreateInfo Source #

stageBufferCI :: Integral a => a -> BufferCreateInfo '[] Source #

stageAllocationCI :: AllocationCreateInfo Source #