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

Render.Debug.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.Debug.Model

Methods

zero :: InstanceAttrs #

type Specialization Pipeline 
Instance details

Defined in Render.Debug.Pipeline

type Specialization Pipeline = Mode

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

Intermediate data to be shipped.

data InstanceBuffers textureStage transformStage Source #

GPU-bound data.

Constructors

InstanceBuffers 

Fields

Instances

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

Defined in Render.Debug.Model

Associated Types

type VertexBuffersOf (InstanceBuffers textureStage transformStage)

Methods

getVertexBuffers :: InstanceBuffers textureStage transformStage -> [Buffer]

getInstanceCount :: InstanceBuffers textureStage transformStage -> Word32

type VertexBuffersOf (InstanceBuffers textureStage transformStage) Source # 
Instance details

Defined in Render.Debug.Model

type VertexBuffersOf (InstanceBuffers textureStage transformStage) = InstanceAttrs

allocateInstancesWith :: (MonadResource m, MonadUnliftIO m) => (BufferUsageFlagBits -> Int -> Vector TextureParams -> m (InstanceTexture 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 TextureParams, 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 = ()