3#include <Tempest/Texture2d>
4#include <Tempest/Matrix4x4>
5#include <Tempest/UniformBuffer>
35 std::pair<uint32_t,uint32_t>
meshSlice()
const;
39 const Item* it=
nullptr;
49 Mesh(
MeshObjects& owner,
const ProtoMesh& mesh, int32_t texVar, int32_t teethTex, int32_t bodyColor,
bool staticDraw);
56 void setPose (
const Tempest::Matrix4x4& obj,
const Pose& p);
59 void setWind (zenkit::AnimationType m,
float intensity);
60 void startMMAnim (std::string_view anim,
float intensity, uint64_t timeUntil);
62 bool isEmpty()
const {
return subCount==0; }
72 void implSetObjMatrix(
const Tempest::Matrix4x4& mt,
const Tempest::Matrix4x4* tr);
74 std::unique_ptr<Item[]> sub;
77 std::unique_ptr<InstanceStorage::Id> anim;
88 int32_t texVar, int32_t teethTex, int32_t bodyColor,
91 const Tempest::Texture2d* solveTex(
const Tempest::Texture2d* def, std::string_view format,
void setPose(const Tempest::Matrix4x4 &obj, const Pose &p)
Mesh & operator=(Mesh &&other)
void setWind(zenkit::AnimationType m, float intensity)
const ProtoMesh * protoMesh() const
void startMMAnim(std::string_view anim, float intensity, uint64_t timeUntil)
void setObjMatrix(const Tempest::Matrix4x4 &mt)
void setSkeleton(const Skeleton *sk)
Node node(size_t i) const
const PfxEmitterMesh * toMeshEmitter() const
size_t nodesCount() const
Tempest::Matrix4x4 position() const
const Material & material() const
const Bounds & bounds() const
std::pair< uint32_t, uint32_t > meshSlice() const
const StaticMesh * mesh() const