import tables , ../drawable/[ shape_object , text_types , plane ] , ../deshn_entity/[ being ] , ../vk/[ vulkan , vkTypes , depth_stencil , buffer ] type Scene_Object = object of RootObj device*: ptr VkDevice entities*: TableRef[string, int] shapes*: seq[Shape] #texts*: seq[SDFText] planes*: seq[Plane] deshn_beings*: seq[Deshn_Being] current_entity_id*: int vertex_buffer*: Buffer index_buffer*: Buffer staging_vertex_buffer*: Buffer staging_index_buffer*: Buffer #render_pass_begin_info*: VkRenderPassBeginInfo #scissor*: VkRect2D #render_pass*: VkRenderPass #depth_stencil*: Depth_Stencil present_info*: VkPresentInfoKHR # TODO: a better way , instead of having to redundantly copy vertices and indices the_vertices*: seq[float32] the_indices*: seq[uint32] indirect_commands*: seq[VkDrawIndexedIndirectCommand] Scene* = ref object of Scene_Object