// // Computergraphik II // Prof. Dr. Juergen Doellner // Wintersemester 2001/02 // // Rahmenprogramm zu Aufgabenzettel 9 // #ifndef CG_PROJTEXTURE_H #define CG_PROJTEXTURE_H #include "cgapplication.h" #include "vector.h" class CGProjTexture : public CGApplication { public: CGProjTexture(char* filename); virtual ~CGProjTexture(); virtual void onInit(); virtual void onDraw(); virtual void onIdle(); virtual void onKey(unsigned char key); virtual void onSize(unsigned int newWidth, unsigned int newHeight); void readImage(); private: void drawScene(); void drawObject(); // dimension of viewport int width_; int height_; // size of mesh double zoom_; // filename of ppm-image char* filename_; // dimension of texture int texWidth_; int texHeight_; // image for texture GLubyte* image_;; // texture identifier GLuint texName_; bool run_; float angle_; // Öffnungswinkel der projektiven Textur // Das Zentrum der Projektion liegt auf einer Kugel um den Ursprung // an einer durch Längengrad und Breitengrad gekennzeichneten Position. float radius_;// Radius der Kugel float theta_; // Längengrad [0, 2*pi] float phi_; // Breitengrad [-pi/2, pi/2] }; #endif