Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Model buf = Indexed buf Packed VertexAttrs
- type VertexAttrs = "uv" ::: Vec2
- vkVertexAttrs :: [Format]
- data InstanceAttrs = InstanceAttrs {}
- type StorableAttrs = (Vector TileMapParams, Vector Transform)
- data InstanceBuffers tilemapStage transformStage = InstanceBuffers {
- ibTileMap :: InstanceTileMap tilemapStage
- ibTransform :: InstanceTransform transformStage
- data TileMapParams = TileMapParams {
- tmpTextureIds :: IVec4
- tmpViewOffset :: Vec2
- tmpViewportSize :: Vec2
- tmpMapTextureSize :: Vec2
- tmpTilesetTextureSize :: Vec2
- tmpTileSize :: Vec2
- vkInstanceTileMap :: [Format]
- 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)
- allocateInstancesCoherent :: (MonadReader env m, HasVulkan env, MonadResource m, MonadUnliftIO m) => [InstanceAttrs] -> m (ReleaseKey, InstanceBuffers 'Coherent 'Coherent)
- allocateInstancesCoherent_ :: HasVulkan env => Int -> ResourceT (RIO env) (InstanceBuffers 'Coherent 'Coherent)
- updateCoherentResize_ :: (HasVulkan context, MonadUnliftIO m) => context -> InstanceBuffers 'Coherent 'Coherent -> (Vector TileMapParams, Vector Transform) -> m (InstanceBuffers 'Coherent 'Coherent)
- data Transform
Documentation
type Model buf = Indexed buf Packed VertexAttrs Source #
type VertexAttrs = "uv" ::: Vec2 Source #
vkVertexAttrs :: [Format] Source #
data InstanceAttrs Source #
Data for a single element.
Instances
Zero InstanceAttrs Source # | |
Defined in Render.Unlit.TileMap.Model |
type StorableAttrs = (Vector TileMapParams, Vector Transform) Source #
Intermediate data to be shipped.
data InstanceBuffers tilemapStage transformStage Source #
GPU-bound data.
InstanceBuffers | |
|
Instances
HasVertexBuffers (InstanceBuffers tilemapStage transformStage) Source # | |
Defined in Render.Unlit.TileMap.Model type VertexBuffersOf (InstanceBuffers tilemapStage transformStage) getVertexBuffers :: InstanceBuffers tilemapStage transformStage -> [Buffer] getInstanceCount :: InstanceBuffers tilemapStage transformStage -> Word32 | |
type VertexBuffersOf (InstanceBuffers tilemapStage transformStage) Source # | |
Defined in Render.Unlit.TileMap.Model |
data TileMapParams Source #
TileMapParams | |
|
Instances
Storable TileMapParams Source # | |
Defined in Render.Unlit.TileMap.Model sizeOf :: TileMapParams -> Int # alignment :: TileMapParams -> Int # peekElemOff :: Ptr TileMapParams -> Int -> IO TileMapParams # pokeElemOff :: Ptr TileMapParams -> Int -> TileMapParams -> IO () # peekByteOff :: Ptr b -> Int -> IO TileMapParams # pokeByteOff :: Ptr b -> Int -> TileMapParams -> IO () # peek :: Ptr TileMapParams -> IO TileMapParams # poke :: Ptr TileMapParams -> TileMapParams -> IO () # | |
Show TileMapParams Source # | |
Defined in Render.Unlit.TileMap.Model showsPrec :: Int -> TileMapParams -> ShowS # show :: TileMapParams -> String # showList :: [TileMapParams] -> ShowS # | |
Zero TileMapParams Source # | |
Defined in Render.Unlit.TileMap.Model |
vkInstanceTileMap :: [Format] Source #
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 #
Instances
Storable Transform | |
Defined in Geomancy.Transform | |
Monoid Transform | |
Semigroup Transform | |
Show Transform | |