diff --git a/src/Types.hs b/src/Types.hs new file mode 100644 index 0000000..4f79102 --- /dev/null +++ b/src/Types.hs @@ -0,0 +1,28 @@ +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 + }