/* render/render.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_H__ #define __INCLUDED_RENDER_H__ #include "core/cvar.h" #include "model/vertexarray.h" #include "render/camera.h" #include "render/state.h" #include "render/draw.h" #include "render/dust.h" #include "render/gl.h" #include "render/text.h" #include "render/textures.h" #include "render/renderext.h" namespace render { /// initialize the render subsystem void init(int width, int height); /// shutdown the render subsystem void shutdown(); /// reset all render data void reset(); /// unload game render data void unload(); /// resize viewport void resize(int width, int height); /// render entity axis extern core::Cvar *r_axis; /// render model bounding boxes extern core::Cvar *r_bbox; /// render the spacegrid extern core::Cvar *r_grid; /// render particle systems extern core::Cvar *r_particles; /// render entity radius extern core::Cvar *r_radius; /// render sky extern core::Cvar *r_sky; /// render wireframe models extern core::Cvar *r_wireframe; /// render vertex normals extern core::Cvar *r_normals; /// render collision extern core::Cvar *r_collision; /// use hardware generated mipmaps (requires OpenGL 1.4, does not work on all cards) extern core::Cvar *r_mipmap; /// use GL_NORMALIZE instead of GL_RESCALE_NORMAL extern core::Cvar *r_normalize; inline RenderExt *ext_render(const core::Entity *entity) { return static_cast(entity->extension((size_t)core::Extension::Render)); } } #endif // __INCLUDED_RENDER_H__