-
Notifications
You must be signed in to change notification settings - Fork 0
/
UML Class Diagram.txt
35 lines (34 loc) · 3.24 KB
/
UML Class Diagram.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
UML Class Diagram
+------------------------+ +------------------------------------+ +--------------------------+
| VulkanInstance |<----->| VulkanDevice |<-->| VulkanWindow |
+------------------------+ +------------------------------------+ +--------------------------+
| - instance: VkInstance | | - device: VkDevice | | - window: GLFWwindow* |
| | | - physicalDevice: VkPhysicalDevice | | |
| + createInstance() | | | | + initializeWindow() |
| + destroyInstance() | | + pickPhysicalDevice() | | + destroyWindow() |
| | | + createLogicalDevice() | | + getFramebufferSize() |
+------------------------+ | + destroyDevice() | | |
+------------------------------------+ +--------------------------+
| |
v v
+-------------------------+ +----------------------------------------+ +---------------------------------------------+
| VulkanSurface |<----->| VulkanSwapChain |<->| VulkanFramebuffer |
+-------------------------+ +----------------------------------------+ +---------------------------------------------+
| - surface: VkSurfaceKHR | | - swapChain: VkSwapchainKHR | | - framebuffers: std::vector<VkFramebuffer> |
| | | - images: std::vector<VkImage> | | |
| + createSurface() | | - imageViews: std::vector<VkImageView> | | + createFramebuffers() |
| + destroySurface() | | + createSwapChain() | | + destroyFramebuffers() |
| | | + destroySwapChain() | | |
| | | + recreateSwapChain() | | |
+-------------------------+ +----------------------------------------+ +---------------------------------------------+
| |
v v
+--------------------------------+ +-------------------------------------+
| VulkanShader |<->| VulkanGraphicsPipeline |
+--------------------------------+ +-------------------------------------+
| - shaderModule: VkShaderModule | | - pipeline: VkPipeline |
| | | - pipelineLayout: VkPipelineLayout |
| + createShaderModule() | | |
| + destroyShaderModule() | | + createGraphicsPipeline() |
| | | + destroyGraphicsPipeline() |
+--------------------------------+ +-------------------------------------+