1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #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<Ref<Texture> > cached_textures;
- bool empty;
- AABB aabb;
- protected:
- static void _bind_methods();
- public:
- void begin(Mesh::PrimitiveType p_primitive,const Ref<Texture>& 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();
- void add_sphere(int p_lats,int p_lons,float p_radius);
- virtual AABB get_aabb() const;
- virtual DVector<Face3> get_faces(uint32_t p_usage_flags) const;
- ImmediateGeometry();
- ~ImmediateGeometry();
- };
- #endif // IMMEDIATE_GEOMETRY_H
|