gee_renderer.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 /* COPYRIGHT
00004  *
00005  * This file is part of the Visual Effects Engine - VEE
00006  *
00007  * Read the "VEE-LICENSE" file for the license.
00008  *
00009  * Authors & Copyright:   
00010  *
00011  * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 
00012  * Janne Kontkanen 2001-2004
00013  *
00014  * Additional copyrights: Tekes 2003-2004
00015  *
00016  * firstname.lastname@hut.fi
00017  *
00018  */
00019 
00020 #ifndef GEE_RENDERER_H
00021 #define GEE_RENDERER_H
00022 
00023 #include <vee_matrix4.h>
00024 
00025 class GEE_Group;
00026 class GEE_Lines3D;
00027 class GEE_ParticleObject;
00028 class GEE_Path3D;
00029 class GEE_PolygonMesh;
00030 class GEE_Profile;
00031 class GEE_Sphere;
00032 class GEE_TransparencyList;
00033 class GEE_TriangleMesh;
00034 
00035 class VEE_Object;
00036 
00042 class GEE_Renderer
00043 {
00044 public:
00045   GEE_Renderer();
00046   virtual ~GEE_Renderer();
00047 
00048   virtual void renderGroupStructure(GEE_Group *) = 0;
00049   virtual void renderLines3D(GEE_Lines3D *) = 0;
00050   virtual void renderPath3D(GEE_Path3D *) = 0;
00051   virtual void renderParticleObject(GEE_ParticleObject *) = 0;
00052   virtual void renderPolygonMesh(GEE_PolygonMesh *) = 0;
00053   virtual void renderProfile(GEE_Profile *) = 0;
00054   virtual void renderSphere(GEE_Sphere *) = 0;
00055   virtual void renderTriangleMesh(GEE_TriangleMesh *) = 0;
00056   virtual void renderVeeObject(VEE_Object *, 
00057              const VEE_Matrix4 * m = 0, 
00058              float scale = 0.0f) = 0;
00059 
00060   virtual void pushTransform(const VEE_Matrix4d &) = 0;
00061   virtual void pushTransform(const VEE_Matrix4 &) = 0;
00062   virtual void popTransform() = 0;
00063   virtual void enableTransforms(bool enable) = 0;
00064   virtual bool enableTransforms() = 0;
00065 
00066   virtual void renderBackToFront(GEE_TransparencyList *);
00067   virtual void renderFrontToBack(GEE_TransparencyList *);
00068 
00069 };
00070 
00071 #endif

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