TerraForge3D  2.3.1
3D Terrain And Landscape Generator
CustomShaderNode Class Reference
Inheritance diagram for CustomShaderNode:
SNENode NodeEditorNode

Public Member Functions

 CustomShaderNode (GLSLHandler *handler, std::string shader)
 
virtual void OnEvaluate (GLSLFunction *function, GLSLLine *line) override
 
virtual void Load (nlohmann::json data) override
 
virtual nlohmann::json Save () override
 
virtual void OnRender () override
 
virtual void UpdateShaders () override
 
- Public Member Functions inherited from SNENode
 SNENode (GLSLHandler *handler)
 
NodeOutput Evaluate (NodeInputParam input, NodeEditorPin *pin)
 
virtual bool OnLink (NodeEditorPin *pin, NodeEditorLink *link)
 
virtual void UpdateShaders ()=0
 
virtual void OnRender ()=0
 
virtual void OnEvaluate (GLSLFunction *function, GLSLLine *line)=0
 
virtual void Load (nlohmann::json data)=0
 
virtual nlohmann::json Save ()=0
 
- Public Member Functions inherited from NodeEditorNode
virtual NodeOutput Evaluate (NodeInputParam input, NodeEditorPin *pin)=0
 
virtual std::vector< NodeEditorPin * > GetPins ()
 
virtual bool OnLink (NodeEditorPin *pin, NodeEditorLink *link)
 
virtual void OnDelete ()
 
nlohmann::json SaveInternal ()
 
void LoadInternal (nlohmann::json data)
 
virtual void Load (nlohmann::json data)=0
 
virtual nlohmann::json Save ()=0
 
virtual void OnRender ()=0
 
void Render ()
 
void Setup ()
 
void DrawHeader (std::string text)
 
 NodeEditorNode (int id=GenerateUID())
 

Public Attributes

float fData [32]
 
bool bData [32]
 
std::string code = ""
 
std::string shader = ""
 
int paramCount = 0
 
bool useArrayParams = false
 
bool useMultipleOpins = false
 
nlohmann::json meta
 
GLSLFunctionfunc
 
std::vector< std::pair< std::string, std::string > > params
 
std::vector< SharedDataRepsharedDataTemplate
 
std::vector< std::string > oPinStrs
 
- Public Attributes inherited from SNENode
SharedMemoryItemsharedData = nullptr
 
int dataBlobOffset = 0
 
int callerPinId = 0
 
GLSLHandlerhandler
 
- Public Attributes inherited from NodeEditorNode
ImVec2 nodePosition
 
bool reqNodePosLoad
 
int id
 
ImGuiNodeEditor::NodeId _id
 
std::vector< NodeEditorPin * > outputPins
 
std::vector< NodeEditorPin * > inputPins
 
char userData [128]
 
std::string name
 
ImU32 headerColor = ImColor(59, 29, 209)
 
std::mutex m
 

Detailed Description

Definition at line 15 of file CustomShaderNode.h.


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