载入中...
搜索中...
未找到
VolumeFluidShadowCaster.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
5
6#include <cstdint>
7#include <vector>
8
9namespace eve::graphics {
10class Graphics;
11class Mesh;
12} // namespace eve::graphics
13
14namespace eve::fluids {
15
22public:
30
41 [[nodiscard]] Result<void> update(const VolumeFluid& fluid, unsigned actorGroup, float radiusScale,
42 float alpha = 1.f, unsigned maxParticles = 4096);
44 [[nodiscard]] unsigned particleCount() const noexcept { return particleCount_; }
45
46private:
47 graphics::Graphics* graphics_ = nullptr;
48 graphics::Mesh* mesh_ = nullptr;
49 uint64_t drawerToken_ = 0;
50 unsigned particleCount_ = 0;
51 std::vector<VolumeFluidParticleInstance> instances_;
52 std::vector<float> positions_;
53 std::vector<float> normals_;
54 std::vector<uint32_t> indices_;
55};
56
57} // namespace eve::fluids
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
One-draw particle shadow caster matching Fluid3D ShadowmapExposer behavior. @ownership Borrows Graphi...
Result< void > update(const VolumeFluid &fluid, unsigned actorGroup, float radiusScale, float alpha=1.f, unsigned maxParticles=4096)
Rebuild one actor's bounded octahedral shadow batch.
unsigned particleCount() const noexcept
Number of particles in the currently published shadow batch.
VolumeFluidShadowCaster & operator=(const VolumeFluidShadowCaster &)=delete
~VolumeFluidShadowCaster()
Releases VolumeFluidShadowCaster resources.
VolumeFluidShadowCaster(const VolumeFluidShadowCaster &)=delete
CPU position-based free-volume fluid with a bounded spatial grid. @ownership Owns all particle state;...
GPU mesh handle (+ optional CPU morph targets).
Definition Mesh.h:25
GLSL compute kernels for the GPU surface-flow solver.
Definition FluidTarget.h:12
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25