载入中...
搜索中...
未找到
SpriteStack.h
浏览该文件的文档.
Definition Module.h:43
Definition RenderSystem3D.h:18
Definition Graphics.h:56
GPU texture created via Graphics::newTexture. Owns GPU resources through an opaque backend handle.
Definition Texture.h:17
CPU-side decoded 3D model (Assimp scene owned via medialoader::ModelScene). Does not upload to GPU — ...
Definition ModelData.h:23
A renderable pseudo-3D sprite stack: a column of layer textures drawn as alpha-blended slices inside ...
Definition SpriteStack.h:98
SpriteStack3D & operator=(const SpriteStack3D &)=delete
void setOutlineColor(float r, float g, float b)
Definition SpriteStack.cpp:586
bool getCastShadow() const
Definition SpriteStack.cpp:780
void setShadowLight(float dx, float dy, float dz)
Definition SpriteStack.cpp:564
void setVisible(bool visible)
Definition SpriteStack.cpp:535
void setLayerImage(graphics::Graphics *gfx, image::ImageData *img, int index)
Upload RGBA8 ImageData layers (convenience around setLayerTexture).
Definition SpriteStack.cpp:469
float getThickness() const
Definition SpriteStack.cpp:500
float getOutlineWidth() const
Definition SpriteStack.cpp:584
void setTint(float r, float g, float b, float a=1.f)
Definition SpriteStack.cpp:525
void render(graphics::Graphics *gfx, graphics::Camera3D *camera=nullptr) const
Draw all slices into the currently open 3D scene pass (Vulkan). Uses the active Camera3D when camera ...
Definition SpriteStack.cpp:791
int getLayerCount() const
Definition SpriteStack.cpp:454
void setSize(float width, float height)
Quad size for every slice (world units). Default 1 x 1.
Definition SpriteStack.cpp:502
void setLayerTexture(graphics::Texture *texture, int index)
Null texture clears the slot (that layer is skipped).
Definition SpriteStack.cpp:456
void setPosition(float x, float y, float z)
Definition SpriteStack.cpp:513
graphics::Texture * getLayerTexture(int index) const
Definition SpriteStack.cpp:464
uint64_t getVersion() const
Monotonic revision counter; SpriteStackBatch uses it to detect changes.
Definition SpriteStack.h:181
void setMode(const std::string &mode)
Definition SpriteStack.cpp:542
void setLayerFile(graphics::Graphics *gfx, const std::string &path, int index)
Upload each path via Graphics::newTextureFromFile (reloads in place).
Definition SpriteStack.cpp:475
void setAlphaCutoff(float cutoff)
Definition SpriteStack.cpp:533
void setOutline(float width, float r=0.f, float g=0.f, float b=0.f)
Stylized rim outline: an expanded dark silhouette behind every slice.
Definition SpriteStack.cpp:576
void setGbufferEnabled(bool enabled)
Contribute this stack to the G-buffer (via RenderSystem3D's extra-drawer hook) so post-processing tha...
Definition SpriteStack.cpp:724
void setCastShadow(bool cast)
Cast real CSM shadows: the stack's slices are drawn into the cascaded shadow map through the alpha-cu...
Definition SpriteStack.cpp:771
void setShadowEnabled(bool enabled)
Pseudo-3D projected contact shadow (soft dark silhouette on the ground).
Definition SpriteStack.cpp:552
void setShadowOpacity(float opacity)
Definition SpriteStack.cpp:559
SpriteStack3D(const SpriteStack3D &)=delete
void setLayerCount(int count)
Definition SpriteStack.cpp:447
bool getGbufferEnabled() const
Definition SpriteStack.cpp:733
SpriteStack3D()=default
bool getShadowEnabled() const
Definition SpriteStack.cpp:557
void setLayersFromAtlas(graphics::Graphics *gfx, graphics::Texture *atlas, int layerCount)
Split one horizontal atlas strip into layerCount layers (layer i = columns [i/count....
Definition SpriteStack.cpp:480
void setThickness(float thickness)
World-space spacing between consecutive slices.
Definition SpriteStack.cpp:494
void setShadowPlaneY(float y)
Definition SpriteStack.cpp:571
Multi-stack batching: draws every visible slice of the registered stacks as ONE draw call per (textur...
Definition SpriteStack.h:251
void remove(SpriteStack3D *stack)
Definition SpriteStack.cpp:884
int getStackCount() const
Definition SpriteStack.cpp:898
void render(graphics::Graphics *gfx, graphics::Camera3D *camera=nullptr)
Definition SpriteStack.cpp:913
SpriteStackBatch()=default
~SpriteStackBatch()=default
SpriteStackBatch(const SpriteStackBatch &)=delete
SpriteStackBatch & operator=(const SpriteStackBatch &)=delete
SpriteStack module: CPU slicing + SpriteStack3D factory.
Definition SpriteStack.h:300
SpriteStack3D * newStack(graphics::Graphics *gfx)
New empty stack (caller/VM owns; set layers before rendering).
Definition SpriteStack.cpp:1061
SpriteStack()=default
SpriteStackBatch * newBatch(graphics::Graphics *gfx)
New empty batch (caller/VM owns).
Definition SpriteStack.cpp:1066
Module_REG(SpriteStack)
std::vector< image::ImageData * > slicePrimitive(const std::string &kind, int layerCount, int imageW, int imageH, const std::string &axis, float thickness)
Definition SpriteStack.cpp:1071
std::vector< image::ImageData * > sliceModel(model3d::ModelData *model, int layerCount, int imageW, int imageH, const std::string &axis, float thickness)
Definition SpriteStack.cpp:1084
~SpriteStack() override=default
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition AnimTrail.h:6
Definition AvatarInstance.h:15
Definition Animation.h:9
Definition SpriteStack.cpp:29
std::vector< image::ImageData * > sliceMeshToLayers(const SliceInput &input, const SliceOptions &opt)
Slice a triangle mesh into layerCount RGBA8 layer images (caller owns the returned ImageData)....
Definition SpriteStack.cpp:342
std::vector< image::ImageData * > slicePrimitiveToLayers(const std::string &kind, const SliceOptions &opt)
Build a procedural CPU mesh ("box" | "cylinder" | "sphere" | "cone") and slice it — a self-contained ...
Definition SpriteStack.cpp:386
std::vector< image::ImageData * > sliceModelToLayers(model3d::ModelData *model, const SliceOptions &opt)
Slice every mesh of a decoded model (assimp scene) with the same options.
Definition SpriteStack.cpp:347
@ Group
CPU inputs for slicing a triangle mesh into sprite-stack layers.
Definition SpriteStack.h:38
Slicer options. The mesh is cut into layerCount thin slabs along axis ("x" | "y" | "z"); each slab is...
Definition SpriteStack.h:52
One slice instance with its baked world transform and layer UV rect.
Definition SpriteStack.h:107
graphics::Texture * texture
Definition SpriteStack.h:111