计算机图形学场景漫游
该作品是课程设计作品,通过合理运用计算机图形学相关知识—openGL数据库、基本几何图元绘制、二维观察变换、图形的几何变换、三维观察变换、纹理贴图、交互技术、场景漫游等完成了作品《冰雪奇缘》。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 21732 2015-01-04 13:22 031 31.cpp
文件 4569 2014-12-31 23:32 031 31.dsp
文件 514 2014-12-30 14:05 031 31.dsw
文件 50176 2015-01-18 20:49 031 31.ncb
文件 48640 2015-01-18 20:49 031 31.opt
文件 935 2015-01-18 20:32 031 31.plg
文件 3145784 2014-12-31 14:15 031Data .bmp
文件 457256 2014-12-31 16:21 031Data1.bmp
文件 182216 2015-01-03 22:47 031Data10.bmp
文件 3145784 2012-12-28 11:51 031Data11.bmp
文件 205976 2015-01-04 12:33 031Data12.bmp
文件 360056 2015-01-04 12:34 031Data13.bmp
文件 432056 2014-12-31 17:03 031Data2.bmp
文件 403256 2014-12-31 22:27 031Data3.bmp
文件 216536 2015-01-03 17:21 031Data4.bmp
文件 360056 2015-01-03 19:44 031Data5.bmp
文件 3932216 2015-01-03 20:25 031Data6.bmp
文件 270056 2015-01-03 20:49 031Data7.bmp
文件 232376 2015-01-03 22:27 031Data8.bmp
文件 232376 2015-01-03 22:37 031Data9.bmp
文件 65123136 2015-01-03 23:29 031DataThe First Snowflakes.wav
文件 258099 2015-01-18 20:32 031Debug 31.exe
文件 429976 2015-01-18 20:32 031Debug 31.ilk
文件 51728 2015-01-18 20:32 031Debug 31.obj
文件 203752 2014-12-30 15:15 031Debug 31.pch
文件 689152 2015-01-18 20:32 031Debug 31.pdb
文件 1882 2014-12-30 15:16 031DebugStdAfx.obj
文件 99328 2015-01-18 20:32 031Debugvc60.idb
文件 61440 2015-01-18 20:32 031Debugvc60.pdb
文件 1190 2014-12-30 14:05 031ReadMe.txt
............此处省略8个文件信息
#include “stdafx.h“
#include “stdlib.h“
#include “math.h“
#include “GL/glut.h“
#include “GL/glaux.h“
#include “mmsystem.h“
GLuint texture[13];
GLfloat xRot;
GLfloat yRot;
GLfloat zRot;
GLfloat angle;
GLfloat angle1;
GLfloat LastxPos;
GLfloat LastyPos;
BOOL LButtonDn=false;
GLfloat z=0.0f;
static float xx=0.0fyy=40.0fzz=1499.0f;
static float lx=0.0fly=0.0flz=-0.5f;
#define YELLOW 1
#define MRED 2
#define CGREEN 3
float red=1.0;
float green=1.0;
float blue=1.0;
void ChangeSize(GLint wGLint h)
{
if(h==0) h=1;
glViewport(00wh);
GLfloat fAspect=(GLfloat)w/(GLfloat)h;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0fAspect1.01000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(xx yy zz xx + lxyy + lyzz + lz 0.0f1.0f0.0f);
}
void MenuEvents(int oporation)
{
switch (oporation)
{
case YELLOW :
red=1.0;
green=1.0;
blue=0.0;
break;
case MRED :
red=1.0;
green=0.0;
blue=1.0;
break;
case CGREEN :
red=0.0;
green=1.0;
blue=1.0;
break;
}
}
void createGLUTMenus()
{
int menu;
menu = glutCreateMenu(MenuEvents);
glutAddMenuEntry(“Yellow“YELLOW);
glutAddMenuEntry(“MRed“MRED);
glutAddMenuEntry(“CGreen“CGREEN);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
AUX_RGBImageRec *LoadBMP(char *Filename)
{
FILE *File=NULL;
if (!Filename)
{
return NULL;
}
File=fopen(Filename“r“);
if (File)
{
fclose(File);
return auxDIBImageLoad(Filename);
}
return NULL;
}
int LoadGLTextures()
{
int i;
char filename[128];
AUX_RGBImageRec *TextureImage[13];
memset(TextureImage0sizeof(void *)*11);
for(i=0;i<14;i++)
{
sprintf(filename“Data/%d.bmp“i);
TextureImage[i] = LoadBMP(filename);
if(!TextureImage[i])
{
char msg[256];
sprintf(msg“Cannot read the file : %s“filename);
MessageBox(NULLmsg“Error“MB_OK);
return FALSE;
}
}
glGenTextures(13texture);
for(i=0;i<14;i++)
{
glBindTexture(GL_TEXTURE_2Dtexture[i]);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_NEAREST);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_NEAREST);
glTexImage2D(GL_TEXTURE_2D 0 3 TextureImage[i]->sizeX TextureImage[i]->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage[i]->data);
if(TextureImage[i]->data)
free(TextureImage[i]->data);
free(TextureImage[i]);
}
return TRUE;
}
void DrawZhuzi()
{
//柱子1
glPushMatrix();
glBindTexture(GL_TEXTURE_2D texture[0]);
glRotatef(-40.00.00.01.0);
glTranslatef(100.0-220.00.0f);
glNormal3f(0.00.01.0);
glBegin(GL_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 21732 2015-01-04 13:22 031 31.cpp
文件 4569 2014-12-31 23:32 031 31.dsp
文件 514 2014-12-30 14:05 031 31.dsw
文件 50176 2015-01-18 20:49 031 31.ncb
文件 48640 2015-01-18 20:49 031 31.opt
文件 935 2015-01-18 20:32 031 31.plg
文件 3145784 2014-12-31 14:15 031Data .bmp
文件 457256 2014-12-31 16:21 031Data1.bmp
文件 182216 2015-01-03 22:47 031Data10.bmp
文件 3145784 2012-12-28 11:51 031Data11.bmp
文件 205976 2015-01-04 12:33 031Data12.bmp
文件 360056 2015-01-04 12:34 031Data13.bmp
文件 432056 2014-12-31 17:03 031Data2.bmp
文件 403256 2014-12-31 22:27 031Data3.bmp
文件 216536 2015-01-03 17:21 031Data4.bmp
文件 360056 2015-01-03 19:44 031Data5.bmp
文件 3932216 2015-01-03 20:25 031Data6.bmp
文件 270056 2015-01-03 20:49 031Data7.bmp
文件 232376 2015-01-03 22:27 031Data8.bmp
文件 232376 2015-01-03 22:37 031Data9.bmp
文件 65123136 2015-01-03 23:29 031DataThe First Snowflakes.wav
文件 258099 2015-01-18 20:32 031Debug 31.exe
文件 429976 2015-01-18 20:32 031Debug 31.ilk
文件 51728 2015-01-18 20:32 031Debug 31.obj
文件 203752 2014-12-30 15:15 031Debug 31.pch
文件 689152 2015-01-18 20:32 031Debug 31.pdb
文件 1882 2014-12-30 15:16 031DebugStdAfx.obj
文件 99328 2015-01-18 20:32 031Debugvc60.idb
文件 61440 2015-01-18 20:32 031Debugvc60.pdb
文件 1190 2014-12-30 14:05 031ReadMe.txt
............此处省略8个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)