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

Render.Unlit.TileMap.Model

Synopsis

Documentation

type Model buf = Indexed buf Packed VertexAttrs Source #

data InstanceAttrs Source #

Data for a single element.

Instances

Instances details
Zero InstanceAttrs Source # 
Instance details

Defined in Render.Unlit.TileMap.Model

Methods

zero :: InstanceAttrs #

type Specialization Pipeline 
Instance details

Defined in Render.Unlit.TileMap.Pipeline

type Specialization Pipeline = ()

type StorableAttrs = (Vector TileMapParams, Vector Transform) Source #

Intermediate data to be shipped.

data InstanceBuffers tilemapStage transformStage Source #

GPU-bound data.

Constructors

InstanceBuffers 

Fields

Instances

Instances details
HasVertexBuffers (InstanceBuffers tilemapStage transformStage) Source # 
Instance details

Defined in Render.Unlit.TileMap.Model

Associated Types

type VertexBuffersOf (InstanceBuffers tilemapStage transformStage)

Methods

getVertexBuffers :: InstanceBuffers tilemapStage transformStage -> [Buffer]

getInstanceCount :: InstanceBuffers tilemapStage transformStage -> Word32

type VertexBuffersOf (InstanceBuffers tilemapStage transformStage) Source # 
Instance details

Defined in Render.Unlit.TileMap.Model

type VertexBuffersOf (InstanceBuffers tilemapStage transformStage) = InstanceAttrs

allocateInstancesWith :: (MonadResource m, MonadUnliftIO m) => (BufferUsageFlagBits -> Int -> Vector TileMapParams -> m (InstanceTileMap texture)) -> (BufferUsageFlagBits -> Int -> Vector Transform -> m (InstanceTransform transform)) -> (forall stage a. Allocated stage a -> m ()) -> [InstanceAttrs] -> m (ReleaseKey, InstanceBuffers texture transform) Source #

allocateInstancesCoherent :: (MonadReader env m, HasVulkan env, MonadResource m, MonadUnliftIO m) => [InstanceAttrs] -> m (ReleaseKey, InstanceBuffers 'Coherent 'Coherent) Source #

allocateInstancesCoherent_ :: HasVulkan env => Int -> ResourceT (RIO env) (InstanceBuffers 'Coherent 'Coherent) Source #

updateCoherentResize_ :: (HasVulkan context, MonadUnliftIO m) => context -> InstanceBuffers 'Coherent 'Coherent -> (Vector TileMapParams, Vector Transform) -> m (InstanceBuffers 'Coherent 'Coherent) Source #

data Transform #

Instances

Instances details
Storable Transform 
Instance details

Defined in Geomancy.Transform

Monoid Transform 
Instance details

Defined in Geomancy.Transform

Semigroup Transform 
Instance details

Defined in Geomancy.Transform

Show Transform 
Instance details

Defined in Geomancy.Transform

type Specialization Pipeline 
Instance details

Defined in Render.DepthOnly.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.ShadowMap.Pipeline

type Specialization Pipeline = ()
type Specialization Pipeline 
Instance details

Defined in Render.Unlit.Colored.Pipeline

type Specialization Pipeline = ()