2 #ifndef KJY_ANIM_ENGINE_SOLID_MESH_ENTITY_HPP_ 3 #define KJY_ANIM_ENGINE_SOLID_MESH_ENTITY_HPP_ 5 #include "EntitiesBase.hpp" 6 #include "MeshEntity.hpp" 9 #include <OOOGL/MidLevel/Geometry.hpp> 10 #include <OOOGL/HighLevel/Material.hpp> 11 #include <components/attachable/Pose.hpp> 12 #include <components/inheritable/drawable.hpp> 14 #pragma warning(disable: 4250) // Disable warnings about dominance in MSVC 16 using namespace OOOGL;
23 std::vector<MaterialInterface*> materials;
24 std::vector<int> material_indices;
27 static SurfacedTriangleMesh createQuadPrimitive(glm::vec3 ll, glm::vec3 ul, glm::vec3 ur, glm::vec3 lr,
bool upload =
true);
35 virtual void draw(
const MVPset& MVP,
Program* shader =
nullptr)
override;
36 virtual bool canOverrideShader()
const override {
return(
true);}
37 virtual bool requiresOverrideShader()
const override {
return(
false);}
38 virtual const Pose& getPose()
const override;
39 virtual Pose& getMutablePose();
40 virtual void setPose(
const Pose& pose)
override;
42 std::vector<SurfacedTriangleMesh> geometry;
Definition: drawable.hpp:8
Definition: SolidMeshEntity.hpp:31
Definition: MeshEntity.hpp:14
Definition: Geometry.hpp:89
Definition: Core_Utilities.cpp:3
Definition: SolidMeshEntity.hpp:18