00001 00002 #ifndef __PAINTERPIXELSHADER_H 00003 #define __PAINTERPIXELSHADER_H 00004 00005 #include <Cg/cg.h> 00006 #include <Cg/cgGL.h> 00007 00008 #include "Vector.h" 00009 00010 #include "Mesh.h" 00011 #include "Triangle.h" 00012 00013 #include "Painter.h" 00014 00030 class PainterPixelShader: public Painter { 00031 private: 00033 const CGprofile& m_CgProfile; 00035 const CGprogram& m_CgProgram; 00036 00037 public: 00039 PainterPixelShader(const CGprofile& cgProfile, const CGprogram& cgProgram); 00040 00053 virtual void paintMesh(const Mesh& mesh, const Vector& eye, const Vector& light) const; 00054 00072 virtual void paintTriangle(const Triangle& triangle, const Vector& eye, const Vector& light) const; 00073 }; 00074 00075 #endif // __PAINTERPIXELSHADER_H