opengl源文件_plane_作业.docx
文本预览下载声明
#include stdio.h#include windows.h#includemath.h#include GL/gl.h#include GL/glu.h#include GL/glaux.h#define pi 3.1415926#include MilkModel.h // Header File For Milkshape File/*实现还需几个头文件,然后建立工程*/void init(void);void CALLBACK reshape(GLsizei w,GLsizei h);void CALLBACK On0KeyDown(void);void CALLBACK On1KeyDown(void);void CALLBACK OnSpaceDown(void);void CALLBACK OnLButtonDown(AUX_EVENTREC *);void CALLBACK OnLButtonMove(AUX_EVENTREC *);void CALLBACK display(void);void pickObjects(void);void processHits (GLint hits, GLuint buffer[]);void drawCoordinates(void);void load_oro(void);void load_photo(void);void draw_photo(void);GLint mx,my; //position of mouseGLint hits,pick;// for the picking GLint m_state=0,space=1; //mouse usage and the space keyGLfloat x_angle=12.0f, y_angle=8.0f,t_angle=0.0f;//angle of eyeGLdouble dist=30; //distance from the eyeGLuint i_pick=0;// for pickingGLdouble r=45000;GLuint texPhoto = 0;//photo textureint sizeX, sizeY; //photo size;extern void DrawBitmapString(LPCSTR str);extern void DrawOutlineString(LPCSTR str);extern SIZE GetStringSize(LPCSTR str);extern void ReadDEM(char *); //read DEMGLdouble nearclip; GLdouble farclip; GLdouble steps; const GLdouble stepa = 0.2; GLdouble rx,rz; float xOrg, yOrg; float angle; float dx, dy; int nx, ny; float *pHight = NULL;GLuint texture = 0;void init(void)//初始化{glClearColor(0.0f,0.0f,0.0f,0.0f);glClear(GL_COLOR_BUFFER_BIT);if (loadModelData(Aereo.ms3d) == 0) // Loads The Model And Checks For Errorsreturn;loadTextures();// Loads Model Texturesload_oro();load_photo();}void load_photo(void){AUX_RGBImageRec *pImage;//Make texturepImage = auxDIBImageLoad(photo.bmp);sizeX = pImage-sizeX;sizeY = pImage-sizeY;glGenTextures(1, texPhoto);glBindTexture(GL_TEXTURE_2D, texPhoto);gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pImage-sizeX, pImage-sizeY, GL_RGB, GL_UNSIGNED_BYTE, pImage-data);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);free(pImage-data)
显示全部