/* render/draw.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_RENDER_DRAW_H__ #define __INCLUDED_RENDER_DRAW_H__ #include "core/gameinterface.h" #include "render/camera.h" #include "math/axis.h" #include "math/vector3f.h" namespace render { /// draw the world void draw(float seconds); /* /// draws model docks, used when targetting an entity void draw_target(const core::Entity *entity); */ /// draws entity slots void draw_slots(const core::Entity *entity); /// draw entity direction indicators void draw_inidicators(const core::EntityControlable *entity); /// reset void reset(); /// draw a sphere void draw_sphere(const math::Color & color, float radius); /// draw globe corona void draw_globe_corona(const Camera & camera, const math::Vector3f & location, const math::Color & color, const float radius, const size_t corona_id); /// draw globe rings void draw_globe_rings(const math::Color & color, const size_t rings_id); /// draw mode lights and flares void draw_model_lights( model::Model *model, const float scale, const math::Vector3f & entity_location, const math::Axis & entity_axis, const math::Color & entity_color, const math::Color & entity_color_second, const float thrust, const float fuzz); /// draw a model void draw_model_fragments(model::Model *model, const math::Color & color_primary, const math::Color & color_secondary, const float enginetime, const bool detail, const bool power, const float thrust ); /// returns the current camera Camera & camera(); class Stats { public: static void clear(); static size_t tris; static size_t quads; static size_t fragments; }; } #endif // __INCLUDED_RENDER_DRAW_H__