15 #include <vsg/app/Window.h>
16 #include <vsg/core/Object.h>
17 #include <vsg/nodes/Bin.h>
18 #include <vsg/nodes/Group.h>
19 #include <vsg/state/BufferInfo.h>
20 #include <vsg/state/Descriptor.h>
21 #include <vsg/state/ResourceHints.h>
22 #include <vsg/vk/CommandPool.h>
23 #include <vsg/vk/Context.h>
24 #include <vsg/vk/DescriptorPool.h>
25 #include <vsg/vk/Fence.h>
26 #include <vsg/vk/ResourceRequirements.h>
42 VkQueueFlags queueFlags = VK_QUEUE_GRAPHICS_BIT;
43 uint32_t queueFamilyIndex = 1;
63 virtual bool record();
64 virtual void waitForCompletion();
70 object->accept(*
this);
71 if (record() && wait) waitForCompletion();
75 void apply(
Object&
object)
override;
77 void apply(
Commands& commands)
override;
79 void apply(
Geometry& geometry)
override;
82 void apply(
View& view)
override;
CommandGraph is a group node that sits at the top of the scene graph and manages the recording of its...
Definition: CommandGraph.h:27
Definition: Commands.h:29
Base class for encapsulating nodes that have Vulkan objects associated with them that will need compi...
Definition: Compilable.h:23
CompileTraversal traverses a scene graph and invokes all the StateCommand/Command::compile(....
Definition: CompileTraversal.h:33
void add(Framebuffer &framebuffer, ref_ptr< View > view, const ResourceRequirements &resourceRequirements={})
add a compile Context for Framebuffer and associated View
void compile(T object, bool wait=true)
convenience method that compiles an object/subgraph
Definition: CompileTraversal.h:68
void add(const Viewer &viewer, const ResourceRequirements &resourceRequirements={})
add a compile Context for all the Views assigned to a Viewer
std::list< ref_ptr< Context > > contexts
list of Context that Vulkan objects should be compiled for.
Definition: CompileTraversal.h:46
void add(Window &window, ref_ptr< ViewportState > viewport={}, const ResourceRequirements &resourceRequirements={})
add a compile Context for Window and associated viewport.
void add(Window &window, ref_ptr< View > view, const ResourceRequirements &resourceRequirements={})
add a compile Context for Window and associated View
void add(ref_ptr< Device > device, const ResourceRequirements &resourceRequirements={})
add a compile Context for device
Framebuffer encapsulates VkFramebuffer, used as a rendering target associated with a Window or for re...
Definition: Framebuffer.h:23
Definition: Geometry.h:30
Definition: RenderGraph.h:28
ResourceRequirements provides a container for various Vulkan resource requirements that can be used t...
Definition: ResourceRequirements.h:30
Definition: StateGroup.h:32
Definition: ViewDependentState.h:105
View is a Group class that pairs a Camera that defines the view with a subgraph that defines the scen...
Definition: View.h:36