29 lines
958 B
Haskell
29 lines
958 B
Haskell
|
module Types where
|
||
|
|
||
|
import qualified Data.Vector as V
|
||
|
import Foreign.C.Types (CInt)
|
||
|
import Linear
|
||
|
import qualified SDL
|
||
|
import qualified Vulkan as Vk
|
||
|
|
||
|
data ShaderContainer = ShaderContainer
|
||
|
{ containedVertexShader :: Vk.ShaderModule
|
||
|
, containedFragmentShader :: Vk.ShaderModule
|
||
|
}
|
||
|
deriving (Show)
|
||
|
|
||
|
data EngineData = EngineData
|
||
|
{ engineWindow :: SDL.Window
|
||
|
, engineWindowDimensions :: V2 CInt
|
||
|
, engineLogicalDevice :: Vk.Device
|
||
|
, engineSwapchain :: Vk.SwapchainKHR
|
||
|
, engineQueue :: Vk.Queue
|
||
|
, engineCommandBuffers :: V.Vector Vk.CommandBuffer
|
||
|
, engineFramebuffers :: V.Vector Vk.Framebuffer
|
||
|
, enginePipelines :: V.Vector Vk.Pipeline
|
||
|
, engineRenderPass :: Vk.RenderPass
|
||
|
, engineInFlightFence :: Vk.Fence
|
||
|
, engineImageAvailableSemaphore :: Vk.Semaphore
|
||
|
, engineRenderFinishedSemaphore :: Vk.Semaphore
|
||
|
}
|