PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::TriangleSetRenderer Class Reference

#include <TriangleSetRenderer.h>

Inheritance diagram for dyno::TriangleSetRenderer:
Collaboration diagram for dyno::TriangleSetRenderer:

Classes

struct  GraphicsUBO
 

Public Member Functions

 TriangleSetRenderer ()
 
 ~TriangleSetRenderer ()
 
 DEF_INSTANCE_IN (TriangleSet, Topology, "")
 
void prepare (VkRenderPass renderPass) override
 
void setupDescriptorPool ()
 
void setupLayoutsAndDescriptors ()
 
void preparePipelines (VkRenderPass renderPass)
 
void addGraphicsToComputeBarriers (VkCommandBuffer commandBuffer)
 
void addComputeToGraphicsBarriers (VkCommandBuffer commandBuffer)
 
void buildCommandBuffers (VkCommandBuffer drawCmdBuffer) override
 
void updateGraphicsUBO ()
 
void viewChanged (const glm::mat4 &perspective, const glm::mat4 &view) override
 
- Public Member Functions inherited from dyno::VkVisualModule
 VkVisualModule ()
 
virtual ~VkVisualModule ()
 
std::string getModuleType () override
 
- Public Member Functions inherited from dyno::VisualModule
 VisualModule ()
 
virtual ~VisualModule ()
 
void setVisible (bool bVisible)
 
bool isVisible ()
 
- Public Member Functions inherited from dyno::Module
 Module (std::string name="default")
 
 ~Module (void) override
 
bool initialize ()
 
void update ()
 
void setName (std::string name)
 
std::string getName () override
 
virtual void setParentNode (Node *node)
 Set the parent node.
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
bool isInitialized ()
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Base.
 
bool isInputComplete ()
 Check the completeness of input fields.
 
bool isOutputCompete ()
 
 DEF_VAR (bool, ForceUpdate, false, "")
 
void setUpdateAlways (bool b)
 Set the update strategy for the module.
 
- Public Member Functions inherited from dyno::OBase
 OBase ()
 
 ~OBase () override
 
virtual std::string caption ()
 Return the caption.
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI.
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description.
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default.
 
bool addField (FieldID name, FBase *data)
 Add a field to Base.
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer.
 
bool findFieldAlias (const FieldID name)
 Find a field by its name.
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions.
 
bool removeField (FBase *data)
 Remove a field by its pointer.
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name.
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (FBase *data)
 
int getFieldAliasCount (FBase *data)
 
void setBlockCoord (float x, float y)
 
float bx ()
 
float by ()
 
bool findInputField (FBase *field)
 
bool addInputField (FBase *field)
 
bool removeInputField (FBase *field)
 
std::vector< FBase * > & getInputFields ()
 
bool findOutputField (FBase *field)
 
bool addOutputField (FBase *field)
 
bool addToOutput (FBase *field)
 
bool removeOutputField (FBase *field)
 
bool removeFromOutput (FBase *field)
 
std::vector< FBase * > & getOutputFields ()
 
bool findParameter (FBase *field)
 
bool addParameter (FBase *field)
 
bool removeParameter (FBase *field)
 
std::vector< FBase * > & getParameters ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Public Attributes

struct dyno::TriangleSetRenderer::GraphicsUBO ubo
 
VkDeviceArray< VertexmVertex
 
VkDeviceArray< uint32_t > mIndex
 
VkUniform< GraphicsUBOmUniform
 

Protected Member Functions

bool initializeImpl () override
 
void updateGraphicsContext () override
 
std::string getShadersPath () const
 
VkPipelineShaderStageCreateInfo loadShader (std::string fileName, VkShaderStageFlagBits stage)
 
- Protected Member Functions inherited from dyno::VkVisualModule
void updateImpl () override
 
- Protected Member Functions inherited from dyno::Module
virtual void preprocess ()
 
virtual void postprocess ()
 
virtual bool validateInputs ()
 
virtual bool validateOutputs ()
 
virtual bool requireUpdate ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 

Private Attributes

std::shared_ptr< VkProgramprogram
 
VkConstant< uint32_t > particleNumber
 
std::string shaderDir = "glsl"
 
VkContextctx
 
VkDescriptorPool descriptorPool = VK_NULL_HANDLE
 
bool specializedComputeQueue = false
 
VkDescriptorSetLayout descriptorSetLayout
 
VkDescriptorSet descriptorSet
 
VkPipelineLayout pipelineLayout
 
VkPipeline pipeline
 
std::vector< VkShaderModule > shaderModules
 

Additional Inherited Members

- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 
- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

Definition at line 26 of file TriangleSetRenderer.h.

Constructor & Destructor Documentation

◆ TriangleSetRenderer()

dyno::TriangleSetRenderer::TriangleSetRenderer ( )

Definition at line 7 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:

◆ ~TriangleSetRenderer()

dyno::TriangleSetRenderer::~TriangleSetRenderer ( )

Definition at line 16 of file TriangleSetRenderer.cpp.

Member Function Documentation

◆ addComputeToGraphicsBarriers()

void dyno::TriangleSetRenderer::addComputeToGraphicsBarriers ( VkCommandBuffer commandBuffer)

Definition at line 163 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addGraphicsToComputeBarriers()

void dyno::TriangleSetRenderer::addGraphicsToComputeBarriers ( VkCommandBuffer commandBuffer)

Definition at line 140 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildCommandBuffers()

void dyno::TriangleSetRenderer::buildCommandBuffers ( VkCommandBuffer drawCmdBuffer)
overridevirtual

Implements dyno::VkVisualModule.

Definition at line 186 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:

◆ DEF_INSTANCE_IN()

dyno::TriangleSetRenderer::DEF_INSTANCE_IN ( TriangleSet ,
Topology ,
""  )

◆ getShadersPath()

std::string dyno::TriangleSetRenderer::getShadersPath ( ) const
protected

Definition at line 209 of file TriangleSetRenderer.cpp.

Here is the caller graph for this function:

◆ initializeImpl()

bool dyno::TriangleSetRenderer::initializeImpl ( )
overrideprotectedvirtual

Reimplemented from dyno::Module.

Definition at line 225 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:

◆ loadShader()

VkPipelineShaderStageCreateInfo dyno::TriangleSetRenderer::loadShader ( std::string fileName,
VkShaderStageFlagBits stage )
protected

Definition at line 214 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prepare()

void dyno::TriangleSetRenderer::prepare ( VkRenderPass renderPass)
inlineoverridevirtual

Implements dyno::VkVisualModule.

Definition at line 35 of file TriangleSetRenderer.h.

Here is the call graph for this function:

◆ preparePipelines()

void dyno::TriangleSetRenderer::preparePipelines ( VkRenderPass renderPass)

Definition at line 67 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupDescriptorPool()

void dyno::TriangleSetRenderer::setupDescriptorPool ( )

Definition at line 28 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setupLayoutsAndDescriptors()

void dyno::TriangleSetRenderer::setupLayoutsAndDescriptors ( )

Definition at line 42 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateGraphicsContext()

void dyno::TriangleSetRenderer::updateGraphicsContext ( )
overrideprotectedvirtual

Reimplemented from dyno::VkVisualModule.

Definition at line 251 of file TriangleSetRenderer.cpp.

Here is the call graph for this function:

◆ updateGraphicsUBO()

void dyno::TriangleSetRenderer::updateGraphicsUBO ( )
inline

Definition at line 57 of file TriangleSetRenderer.h.

Here is the caller graph for this function:

◆ viewChanged()

void dyno::TriangleSetRenderer::viewChanged ( const glm::mat4 & perspective,
const glm::mat4 & view )
inlineoverridevirtual

Implements dyno::VkVisualModule.

Definition at line 62 of file TriangleSetRenderer.h.

Member Data Documentation

◆ ctx

VkContext* dyno::TriangleSetRenderer::ctx
private

Definition at line 85 of file TriangleSetRenderer.h.

◆ descriptorPool

VkDescriptorPool dyno::TriangleSetRenderer::descriptorPool = VK_NULL_HANDLE
private

Definition at line 87 of file TriangleSetRenderer.h.

◆ descriptorSet

VkDescriptorSet dyno::TriangleSetRenderer::descriptorSet
private

Definition at line 93 of file TriangleSetRenderer.h.

◆ descriptorSetLayout

VkDescriptorSetLayout dyno::TriangleSetRenderer::descriptorSetLayout
private

Definition at line 92 of file TriangleSetRenderer.h.

◆ mIndex

VkDeviceArray<uint32_t> dyno::TriangleSetRenderer::mIndex

Definition at line 106 of file TriangleSetRenderer.h.

◆ mUniform

VkUniform<GraphicsUBO> dyno::TriangleSetRenderer::mUniform

Definition at line 108 of file TriangleSetRenderer.h.

◆ mVertex

VkDeviceArray<Vertex> dyno::TriangleSetRenderer::mVertex

Definition at line 105 of file TriangleSetRenderer.h.

◆ particleNumber

VkConstant<uint32_t> dyno::TriangleSetRenderer::particleNumber
private

Definition at line 72 of file TriangleSetRenderer.h.

◆ pipeline

VkPipeline dyno::TriangleSetRenderer::pipeline
private

Definition at line 95 of file TriangleSetRenderer.h.

◆ pipelineLayout

VkPipelineLayout dyno::TriangleSetRenderer::pipelineLayout
private

Definition at line 94 of file TriangleSetRenderer.h.

◆ program

std::shared_ptr<VkProgram> dyno::TriangleSetRenderer::program
private

Definition at line 70 of file TriangleSetRenderer.h.

◆ shaderDir

std::string dyno::TriangleSetRenderer::shaderDir = "glsl"
private

Definition at line 83 of file TriangleSetRenderer.h.

◆ shaderModules

std::vector<VkShaderModule> dyno::TriangleSetRenderer::shaderModules
private

Definition at line 96 of file TriangleSetRenderer.h.

◆ specializedComputeQueue

bool dyno::TriangleSetRenderer::specializedComputeQueue = false
private

Definition at line 89 of file TriangleSetRenderer.h.

◆ ubo

struct dyno::TriangleSetRenderer::GraphicsUBO dyno::TriangleSetRenderer::ubo

The documentation for this class was generated from the following files: