2022-07-21 21:12:09 +00:00
|
|
|
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
|
2022-10-26 14:52:55 +00:00
|
|
|
, redEnginePipelines :: V.Vector Vk.Pipeline
|
|
|
|
, rainbowEnginePipelines :: V.Vector Vk.Pipeline
|
2022-07-21 21:12:09 +00:00
|
|
|
, engineRenderPass :: Vk.RenderPass
|
|
|
|
, engineInFlightFence :: Vk.Fence
|
|
|
|
, engineImageAvailableSemaphore :: Vk.Semaphore
|
|
|
|
, engineRenderFinishedSemaphore :: Vk.Semaphore
|
|
|
|
}
|