载入中...
搜索中...
未找到
ProceduralDust.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4#include "common/Result.h"
6
7#include <cstdint>
8#include <vector>
9
10#include <glm/vec3.hpp>
11
12namespace eve::graphics::fog {
13
16 glm::vec3 position{0.f};
17 float size = 0.02f;
18 float brightness = 1.f;
20 enum class Band : uint8_t { Fine = 0, Mid = 1 } band = Band::Fine;
21};
22
30public:
37 [[nodiscard]] Result<std::vector<DustParticle>> generate(const FogWorldBounds& volume, int count,
38 float timeSeconds, float turbulenceMeters,
39 std::uint32_t seed) const;
40};
41
42} // namespace eve::graphics::fog
double volume
#define EVENGINE_API_WORLD
Definition Export.h:109
std::uint32_t seed
Definition PointSet.cpp:807
Move-only, checked operation results for the common layer.
std::uint32_t count
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Procedural dust that does not use persistent particle buffers or screen trails.
Deterministic dust mote spawned inside an analytic volume.
enum eve::graphics::fog::DustParticle::Band band
Axis-aligned world bounds for a fog simulation domain.
Definition FogTypes.h:96