• 大小: 51.27MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-08
  • 语言: 其他
  • 标签: openGL  

资源简介

该作品是课程设计作品,通过合理运用计算机图形学相关知识—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个文件信息

评论

共有 条评论