#ifndef IMMEDIATE_GEOMETRY_H #define IMMEDIATE_GEOMETRY_H #include "scene/3d/visual_instance.h" #include "scene/resources/mesh.h" class ImmediateGeometry : public GeometryInstance { OBJ_TYPE(ImmediateGeometry,GeometryInstance); RID im; List > cached_textures; bool empty; AABB aabb; protected: static void _bind_methods(); public: void begin(Mesh::PrimitiveType p_primitive,const Ref& p_texture); void set_normal(const Vector3& p_normal); void set_tangent(const Plane& p_tangent); void set_color(const Color& p_color); void set_uv(const Vector2& tex_uv); void set_uv2(const Vector2& tex_uv); void add_vertex(const Vector3& p_vertex); void end(); void clear(); virtual AABB get_aabb() const; virtual DVector get_faces(uint32_t p_usage_flags) const; ImmediateGeometry(); ~ImmediateGeometry(); }; #endif // IMMEDIATE_GEOMETRY_H