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

Render.DescSets.Set0

Synopsis

Documentation

data Scene Source #

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

type Specialization Pipeline 
Instance details

Defined in Render.Debug.Pipeline

type Specialization Pipeline = Mode
type Specialization Pipeline 
Instance details

Defined in Render.DepthOnly.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Font.EvanwSdf.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Lit.Colored.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Lit.Material.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Lit.Textured.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Skybox.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Unlit.Colored.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Unlit.Sprite.Pipeline

type Specialization Pipeline = (Float, Bool)
type Specialization Pipeline 
Instance details

Defined in Render.Unlit.Textured.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Unlit.TileMap.Pipeline

type Specialization Pipeline = ()

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 #

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

Constructors

FrameResource 

type Buffer = Allocated 'Coherent Scene Source #

type Process = Merge Scene Source #

A process that will assemble Scene values.

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