keid-render-basic-0.1.6.1: Basic rendering programs for Keid engine.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Render.DescSets.Set0

Synopsis

Documentation

data Scene Source #

Constructors

Scene 

Instances

Instances details
Generic Scene Source # 
Instance details

Defined in Render.DescSets.Set0

Associated Types

type Rep Scene :: Type -> Type #

Methods

from :: Scene -> Rep Scene x #

to :: Rep Scene x -> Scene #

Show Scene Source # 
Instance details

Defined in Render.DescSets.Set0

Methods

showsPrec :: Int -> Scene -> ShowS #

show :: Scene -> String #

showList :: [Scene] -> ShowS #

GStorable Scene Source # 
Instance details

Defined in Render.DescSets.Set0

Methods

gsizeOf :: Scene -> Int

galignment :: Scene -> Int

gpeekByteOff :: Ptr b -> Int -> IO Scene

gpokeByteOff :: Ptr b -> Int -> Scene -> IO ()

type Rep Scene Source # 
Instance details

Defined in Render.DescSets.Set0

allocate :: (Traversable textures, Traversable cubes, MonadVulkan env m) => Tagged '[Scene] DescriptorSetLayout -> textures (Texture Flat) -> cubes (Texture CubeMap) -> Maybe (Allocated 'Coherent Sun) -> ("shadow maps" ::: Vector ImageView) -> Maybe (Allocated 'Coherent Material) -> ResourceT m (FrameResource '[Scene]) Source #

allocateEmpty :: MonadVulkan env m => Tagged '[Scene] DescriptorSetLayout -> ResourceT m (FrameResource '[Scene]) Source #

Minimal viable Scene without textures and lighting.

updateSet0Ds :: (HasVulkan context, Traversable textures, Traversable cubes, MonadIO m) => context -> Tagged '[Scene] (Vector DescriptorSet) -> Allocated 'Coherent Scene -> textures (Texture Flat) -> cubes (Texture CubeMap) -> Maybe (Allocated 'Coherent Sun) -> Vector (Sampler, ImageView) -> Maybe (Allocated 'Coherent Material) -> m () Source #

mkBindings :: (Foldable samplers, Foldable textures, Foldable cubemaps) => samplers Sampler -> textures a -> cubemaps b -> Word32 -> Tagged Scene DsBindings Source #

vertexPos :: (VertexInputRate, [Format]) Source #

instanceTransform :: (VertexInputRate, [Format]) Source #

data FrameResource (ds :: [Type]) Source #

Constructors

FrameResource 

Fields

extendResourceDS :: FrameResource ds -> Tagged ext DescriptorSet -> FrameResource (Extend ds ext) Source #

type Buffer = Allocated 'Coherent Scene Source #

type Process = Merge Scene Source #

A process that will assemble Scene values.

observe :: MonadUnliftIO m => Process -> FrameResource ds -> m () Source #

withBoundSet0 :: MonadIO m => FrameResource ds -> Pipeline ds vertices instances -> CommandBuffer -> Bound ds Void Void m b -> m b Source #