report4郭小明 三维图形程序设计 电子科技大学(4)

2019-05-27 20:45

}

void motion(int x,int y) { }

void keyboard(unsigned char key,int x,int y) {

if(flag_move == 0) else { }

switch(flag_xyz) { case 1: case 2: }

glutPostRedisplay(); mousex = x; mousey = y;

movex = x-mousex+movex; movey = -y+mousey+movey; break;

movez = x-mousex+movez; break; return; }

if(key == GLUT_LEFT_BUTTON && state == GLUT_UP) { }

flag_move = 0;

hits = glRenderMode(GL_RENDER); process(hits,select_Buffer); HITS = hits; glutPostRedisplay();

glMatrixMode(GL_PROJECTION); glPopMatrix(); glFlush();

draw(GL_SELECT);

gluLookAt(eyex,eyey,eyez,0,0,0,0,1,0);

case 3:

}

void MenuFunc(int data) {

switch(data) { case 1: switch(key) { case 'x':

eyex -=0.1; break; eyey -=0.1; break; eyez -=0.1; break; eyex +=0.1; break; eyey +=0.1; break; eyez +=0.1; break;

case 'y':

case 'z':

case 'X':

case 'Y':

case 'Z':

case 'h': case 'H':

flag_xyz = 1; break;

case 's': case 'S':

flag_xyz = 2; break;

case 'l': case 'L': }

glutPostRedisplay();

flag_xyz = 3; break; return; break;

default:

}

static GLint ImageWidth; static GLint ImageHeight; static GLint PixelLength; static GLubyte* PixelData;

Data* imageInit(char * path_name){

fseek(pFile, 54, SEEK_SET); fread(PixelData, PixelLength, 1, pFile); // 读取像素数据

PixelData = (GLubyte*)malloc(PixelLength); if( PixelData == 0 )

exit(0); // 计算像素数据长度 PixelLength = ImageWidth * 3; while( PixelLength % 4 != 0 )

++PixelLength; PixelLength *= ImageHeight; // 读取图象的大小信息 fseek(pFile, 0x0012, SEEK_SET);

fread(&ImageWidth, sizeof(ImageWidth), 1, pFile); fread(&ImageHeight, sizeof(ImageHeight), 1, pFile); // 打开文件

FILE* pFile = fopen(path_name, \); if( pFile == 0 ) { }

printf(\文件未找到\); exit(0); }

glutPostRedisplay();

flag_light = 0; break; flag_light = 1; break; break;

case 2:

default:

} int Menu;

int main(int argc,char ** argv) { }

glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH); glutInit(&argc,argv);

glutInitWindowSize(wide_screen,height_screen); glutCreateWindow(argv[0]); init();

Menu = glutCreateMenu(MenuFunc); glutAddMenuEntry(\关闭光源!\,1); glutAddMenuEntry(\打开光源!\,2); glutAttachMenu(GLUT_RIGHT_BUTTON); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMouseFunc(mouse); glutMotionFunc(motion); glutKeyboardFunc(keyboard); glutReshapeFunc(reshape); glutMainLoop(); return 0;

char* tupian[4]={\,\,\,\}; for(int i=0;i<4;i++){ }

data[i] = imageInit(tupian[i]); // 关闭文件 fclose(pFile);

Data* rv = (Data *)malloc(sizeof(Data)); rv->image_data = PixelData; rv->width = ImageWidth; rv->height = ImageHeight; return rv;

七.实验结果:

开灯之后的情况


report4郭小明 三维图形程序设计 电子科技大学(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:51单片机寄存器学习总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: