Multi-stack batching: draws every visible slice of the registered stacks as ONE draw call per (texture, tint) group (all slice transforms and UV rects are baked into a shared mesh, uploaded in place via Graphics::updateMeshVertices). 更多...
#include <SpriteStack.h>
Public 成员函数 | |
| SpriteStackBatch ()=default | |
| ~SpriteStackBatch ()=default | |
| SpriteStackBatch (const SpriteStackBatch &)=delete | |
| SpriteStackBatch & | operator= (const SpriteStackBatch &)=delete |
| void | add (SpriteStack3D *stack) |
| void | remove (SpriteStack3D *stack) |
| void | clear () |
| int | getStackCount () const |
| void | render (graphics::Graphics *gfx, graphics::Camera3D *camera=nullptr) |
详细描述
Multi-stack batching: draws every visible slice of the registered stacks as ONE draw call per (texture, tint) group (all slice transforms and UV rects are baked into a shared mesh, uploaded in place via Graphics::updateMeshVertices).
The combined mesh is rebuilt only when a registered stack changes (revision counter); per-frame animated stacks should keep using SpriteStack3D::render. Shadows / outlines are per-stack features and are not included in batches.
在文件 SpriteStack.h 第 251 行定义.
构造及析构函数说明
◆ SpriteStackBatch() [1/2]
|
default |
◆ ~SpriteStackBatch()
|
default |
◆ SpriteStackBatch() [2/2]
|
delete |
成员函数说明
◆ add()
| void eve::spritestack::SpriteStackBatch::add | ( | SpriteStack3D * | stack | ) |
在文件 SpriteStack.cpp 第 876 行定义.
◆ clear()
| void eve::spritestack::SpriteStackBatch::clear | ( | ) |
在文件 SpriteStack.cpp 第 892 行定义.
◆ getStackCount()
| int eve::spritestack::SpriteStackBatch::getStackCount | ( | ) | const |
在文件 SpriteStack.cpp 第 898 行定义.
◆ operator=()
|
delete |
◆ remove()
| void eve::spritestack::SpriteStackBatch::remove | ( | SpriteStack3D * | stack | ) |
在文件 SpriteStack.cpp 第 884 行定义.
◆ render()
| void eve::spritestack::SpriteStackBatch::render | ( | graphics::Graphics * | gfx, |
| graphics::Camera3D * | camera = nullptr |
||
| ) |
在文件 SpriteStack.cpp 第 913 行定义.
引用了 color, eye, fovRad, eve::graphics::Graphics::getHeight(), eve::graphics::Graphics::getWidth(), eve::graphics::perspectiveVulkanRH_ZO(), s, eve::graphics::Shader::sendFloat(), eve::graphics::Shader::sendVec4(), eve::graphics::Graphics::setMesh3DCameraPos(), eve::graphics::Graphics::setMesh3DClip(), eve::graphics::Graphics::setMesh3DEnv(), eve::graphics::Graphics::setMesh3DView() , 以及 eve::graphics::Graphics::setMesh3DViewProj().
该类的文档由以下文件生成:
- src/modules/spritestack/SpriteStack.h
- src/modules/spritestack/SpriteStack.cpp