资源简介
该作品是课程设计作品,通过合理运用计算机图形学相关知识—openGL数据库、基本几何图元绘制、二维观察变换、图形的几何变换、三维观察变换、纹理贴图、交互技术、场景漫游等完成了作品《冰雪奇缘》。
代码片段和文件信息
#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\031.cpp
文件 4569 2014-12-31 23:32 031\031.dsp
文件 514 2014-12-30 14:05 031\031.dsw
文件 50176 2015-01-18 20:49 031\031.ncb
文件 48640 2015-01-18 20:49 031\031.opt
文件 935 2015-01-18 20:32 031\031.plg
文件 3145784 2014-12-31 14:15 031\Data\0.bmp
文件 457256 2014-12-31 16:21 031\Data\1.bmp
文件 182216 2015-01-03 22:47 031\Data\10.bmp
文件 3145784 2012-12-28 11:51 031\Data\11.bmp
文件 205976 2015-01-04 12:33 031\Data\12.bmp
文件 360056 2015-01-04 12:34 031\Data\13.bmp
文件 432056 2014-12-31 17:03 031\Data\2.bmp
文件 403256 2014-12-31 22:27 031\Data\3.bmp
文件 216536 2015-01-03 17:21 031\Data\4.bmp
文件 360056 2015-01-03 19:44 031\Data\5.bmp
文件 3932216 2015-01-03 20:25 031\Data\6.bmp
文件 270056 2015-01-03 20:49 031\Data\7.bmp
文件 232376 2015-01-03 22:27 031\Data\8.bmp
文件 232376 2015-01-03 22:37 031\Data\9.bmp
文件 65123136 2015-01-03 23:29 031\Data\The First Snowflakes.wav
文件 258099 2015-01-18 20:32 031\Debug\031.exe
文件 429976 2015-01-18 20:32 031\Debug\031.ilk
文件 51728 2015-01-18 20:32 031\Debug\031.obj
文件 203752 2014-12-30 15:15 031\Debug\031.pch
文件 689152 2015-01-18 20:32 031\Debug\031.pdb
文件 1882 2014-12-30 15:16 031\Debug\StdAfx.obj
文件 99328 2015-01-18 20:32 031\Debug\vc60.idb
文件 61440 2015-01-18 20:32 031\Debug\vc60.pdb
文件 1190 2014-12-30 14:05 031\ReadMe.txt
............此处省略8个文件信息
相关资源
- QT实现的Opencv图像处理、点云显示、演
- 计算机图形学 第4版
- 交互式计算机图形学 基于OpenGL着色器
- OPENGL ES 3.0 中文版本 编程指南 原书第
- opengl台灯
- 实时计算机图形学中文
- openGL电梯运动
- opengl树模型显示
- OpenGL纹理贴图.png格式图片小程序源码
- 计算机图形学PPT
- 3D游戏与计算机图形学中的数学方法
- OpenGL蓝宝书5中文版+英文原版+GLTools
- 长安大学2017年计算机图形学试卷
- OpenGL ES 3.x游戏开发 上卷 吴亚峰 源码
- 计算机图形学(第三版带完整书签版
- OpenGL ES 3.x游戏开发上 下卷案例源程序
- 计算机图形学openGL(中英文第三版)
- 计算机图形学试卷
- OpenGL.Superbible.7th.Edition原版影印本
- 交互式计算机图形学 基于WEBGL的自顶
- nehe的OpenGL教程bcb6源码.rar
- 大自然的分形几何-Mandelbrot
- 3D游戏与计算机图形学中的数学方法
- 计算机图形学导论 james foley中文版本
- OPENGL ES 3.0编程指南 第2版 中文版 PD
- OpenGL Programming Guide 9th Edition高清.pdf版
- OPENGL ES 3.0编程指南.pdf
- 《openGL超级宝典第四版及代码》
- OpenGL ES应用开发实践指南(IOS卷,P
- Opengl ES 3.x开发上下册以及随书源码
评论
共有 条评论