载入中...
搜索中...
未找到
BeamEffect.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7#include <glm/vec3.hpp>
8
9#include <cstdint>
10
11namespace eve::stylize {
12
15 std::uint32_t segments = 12;
16 float widthStart = 0.12f;
17 float widthEnd = 0.04f;
18 float alphaStart = 1.f;
19 float alphaEnd = 0.f;
20 float noiseAmplitude = 0.f;
21 float noiseCycles = 3.f;
22 std::uint32_t randomSeed = 1;
23 std::uint32_t branchCount = 0;
24 std::uint32_t branchSegments = 4;
25 float branchLength = 0.35f;
26 float branchWidthScale = 0.5f;
27};
28
30enum class BeamBuildStatus : std::uint8_t { Built, DegenerateInput, InvalidConfig };
31
37
48[[nodiscard]] EVENGINE_API_WORLD BeamBuildResult buildBeamEffect(const glm::vec3& start, const glm::vec3& end,
49 const glm::vec3& cameraForward,
50 const BeamEffectConfig& config = {});
51
52} // namespace eve::stylize
Duration start
#define EVENGINE_API_WORLD
Definition Export.h:109
BeamBuildStatus
Observable terminal state of deterministic beam mesh generation.
Definition BeamEffect.h:30
BeamBuildResult buildBeamEffect(const glm::vec3 &start, const glm::vec3 &end, const glm::vec3 &cameraForward, const BeamEffectConfig &config)
Generate a camera-facing beam or branched lightning ribbon.
Owning beam generation result suitable for MeshEffectRenderer::submitTrail.
Definition BeamEffect.h:33
Shape and deterministic noise controls for one 3D beam or lightning arc.
Definition BeamEffect.h:14
Owning CPU snapshot suitable for upload by a graphics adapter.
Definition TrailEffect.h:42