Renderer.hpp

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 /* COPYRIGHT
00004  *
00005  * This file is part of the Simple Object Loader and Renderer - SOLAR
00006  *
00007  * Read the file "SOLAR-LICENSE" for the license.
00008  *
00009  * Authors & Copyright:
00010  *
00011  * Tommi Ilmonen, 2001-2003, except LWO-code by RJ, 2001-2003
00012  *
00013  * Tommi's email: firstname.lastname@hut.fi
00014  *
00015  */
00016 
00017 #ifndef SOLAR_RENDERER_HPP
00018 #define SOLAR_RENDERER_HPP
00019 
00020 #include <Fluid/Matrix3.hpp>
00021 #include <Fluid/Vector3.hpp>
00022 
00023 namespace Solar {
00024 
00025   class Model;
00026   class GraphicTriangles;
00027   class GraphicTriangleMesh;
00028   class GraphicTriangleStrips;
00029 
00039   class Renderer
00040   {
00041   public:
00042     Renderer() {}
00043     virtual ~Renderer() {}
00044 
00045     virtual void prepareToRender() = 0;
00046 
00048     virtual void begin(Model *) = 0;
00050     virtual void end() = 0;
00051 
00053     virtual void renderTriangles(GraphicTriangles *) = 0;
00055     virtual void renderTriangleMesh(GraphicTriangleMesh *) = 0;
00057     virtual void renderTriangleStrips(GraphicTriangleStrips *) = 0;
00058   
00060     virtual void pushTransform(const Fluid::Matrix3 &,
00061              const Fluid::Vector3 &,
00062              float scale = 1.0) = 0;
00064     virtual void popTransform() = 0;
00065 
00066   };
00067 
00068 } // namespace Solar
00069 
00070 #endif

Generated on Mon Mar 12 21:09:00 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6