载入中...
搜索中...
未找到
VolumeDensityGraph.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include <cstdint>
6#include <vector>
7
8#include <glm/vec3.hpp>
9#include <glm/vec4.hpp>
10
11namespace eve::graphics {
12
15public:
17 enum class Op { constant, height, sphere, box, noise, add, multiply, subtract, clamp };
18
19 struct Node {
20 Op op = Op::constant;
21 int inputA = -1;
22 int inputB = -1;
23 glm::vec4 params{0.f};
24 };
25
27 void clear();
29 int addNode(Op op, int inputA = -1, int inputB = -1,
30 const glm::vec4 &params = glm::vec4(0.f));
32 void setOutput(int nodeIndex);
33 int getOutput() const { return output_; }
34 int getNodeCount() const { return int(nodes_.size()); }
35
37 float evaluate(const glm::vec3 &worldPosition, float time = 0.f) const;
38
39private:
40 static float valueNoise(const glm::vec3 &p, std::uint32_t seed);
41
42 std::vector<Node> nodes_;
43 int output_ = -1;
44};
45
46} // namespace eve::graphics
glm::vec4 p[6]
#define EVENGINE_API_BACKENDS
Definition Export.h:108
std::uint32_t height
std::uint32_t seed
Definition PointSet.cpp:807
Compact acyclic program that evaluates procedural volume density.
std::vector< ParamSpec > params
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25