TerraForge3D  2.3.1
3D Terrain And Landscape Generator
FloatNode.cpp
1#include "Shading/ShaderNodes/FloatNode.h"
2
3#include <iostream>
4
5void FloatNode::OnEvaluate(GLSLFunction *function, GLSLLine *line)
6{
7 line->line = SDATA(0);
8}
9
10void FloatNode::Load(nlohmann::json data)
11{
12 x = data["x"];
13}
14
15nlohmann::json FloatNode::Save()
16{
17 nlohmann::json data;
18 data["type"] = "Float";
19 data["x"] = x;
20 return data;
21}
22
23void FloatNode::UpdateShaders()
24{
25 sharedData->d0 = x;
26}
27
28void FloatNode::OnRender()
29{
30 DrawHeader("Float Value");
31 ImGui::PushItemWidth(100);
32
33 if(ImGui::DragFloat("X", &x, 0.01f))
34 {
35 sharedData->d0 = x;
36 }
37
38 ImGui::SameLine();
39 outputPins[0]->Render();
40
41 ImGui::PopItemWidth();
42}
43
44FloatNode::FloatNode(GLSLHandler *handler)
45 :SNENode(handler)
46{
47 name = "Float Value";
48 x = 0.0f;
49 headerColor = ImColor(SHADER_VALUE_NODE_COLOR);
50 outputPins.push_back(new SNEPin(NodeEditorPinType::Output, SNEPinType::SNEPinType_Float));
51}
52
53
54FloatNode::~FloatNode()
55{
56}
a class to store JSON values
Definition: json.hpp:17860