• 大小: 18.96MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-02
  • 语言: 其他
  • 标签: opengl  

资源简介

给大家一个计算机图形作业。很奇怪,我是想弄成免费的,但是怎么一上传上去就需要积分才能下载了,哪位大哥知道怎么可以调成免费的话和我说一声邮箱1810708602@qq.com 。 用 vs2010可以直接打开运行文件,如果报错请在文件include中找对应的包文件,然后在网上找教程设置一下包文件的路径,

资源截图

代码片段和文件信息

#include   //引用相关包
#include 
#include 
#include 
#pragma comment(lib “openGL32.lib“)
#pragma comment(lib “glu32.lib“)
#pragma comment(lib “glaux.lib“)
GLfloat  xrot;   // X 旋转量
GLfloat  yrot;   // Y 旋转量
GLfloat  zrot;   // Z 旋转量
GLuint  texture[1];  // 存储一个纹理
AUX_RGBImageRec *LoadBMP(CHAR *Filename)    // 载入位图图象
{
 FILE *File=NULL;         // 文件句柄
 if (!Filename)          // 确保文件名已提供
 {
  return NULL;         // 如果没提供,返回 NULL
 }
 File=fopen(Filename“r“);       // 尝试打开文件
 if (File)           // 文件存在么?
 {
  fclose(File);         // 关闭句柄
  return auxDIBImageLoadA(Filename);    // 载入位图并返回指针
 }
 return NULL;          // 如果载入失败,返回 NULL
}
int LoadGLTextures()         // 载入位图(调用上面的代码)并转换成纹理
{
 int Status=FALSE;         // 状态指示器
 AUX_RGBImageRec *TextureImage[6];     // 创建纹理的存储空间
 memset(TextureImage0sizeof(void *)*6);   // 将指针设为 NULL
 char *pictures[] = {// 创建一个位图名称数组,对应6幅位图
“mf.bmp“
“mf1.bmp“
“mf2.bmp“
“mf3.bmp“
“mf4.bmp“
“mf5.bmp“
};
 for(int i=0; i<6; i++)// 遍历位图名称数组,根据位图名称分别生成
{
 // 载入位图,检查有无错误,如果位图没找到则退出
 if (TextureImage[i]=LoadBMP(pictures[i]))
 {
  Status=TRUE;         // 将 Status 设为 TRUE
  glGenTextures(1 &texture[i]);     // 创建纹理
  // 使用来自位图数据生成 的典型纹理
  glBindTexture(GL_TEXTURE_2D texture[i]);
  // 生成纹理
  glTexImage2D(GL_TEXTURE_2D 0 3 TextureImage[i]->sizeX TextureImage[i]->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage[i]->data);
  glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR); // 线形滤波
  glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR); // 线形滤波
 }
 if (TextureImage[i])        // 纹理是否存在
 {
  if (TextureImage[i]->data)      // 纹理图像是否存在
  {
   free(TextureImage[i]->data);    // 释放纹理图像占用的内存
  }
  free(TextureImage[i]);       // 释放图像结构
 }
 }
 return Status;          // 返回 Status
}
void DrawCube(void)         // 从这里开始进行所有的绘制
{
 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
 glLoadIdentity();         // 重置当前的模型观察矩阵
 glTranslatef(0.0f0.0f-5.0f);         // 移入屏幕 5 个单位
 glRotatef(xrot1.0f0.0f0.0f);         // 绕X轴旋转
 glRotatef(yrot0.0f1.0f0.0f);         // 绕Y轴旋转
 glRotatef(zrot0.0f0.0f1.0f);         // 绕Z轴旋转
 glBindTexture(GL_TEXTURE_2D texture[0]);      // 选择纹理
 glBegin(GL_QUADS);
  // 前面
  glTexCoord2f(0.0f 0.0f); glVertex3f(-1.0f -1.0f  1.0f); // 纹理和四边形的左下
  glTexCoord2f(1.0f 0.0f); glVertex3f( 1.0f -1.0f  1.0f); // 纹理和四边形的右下
  glTexCoord2f(1.0f 1.0f); glVertex3f( 1.0f  1.0f  1.0f); // 纹理和四边形的右上
  glTexCoord2f(0.0f 1.0f); glVertex3f(-1.0f  1.0f  1.0f); // 纹理和四边形的左上
  glEnd();
  glBindTexture(GL_TEXTURE_2D texture[1]);      // 选择纹理
  glBegin(GL_QUADS);
  // 后面
  glTexCoord2f(1.0f 0.0f); glVertex3f(-1.0f -1.0f -1.0f); // 纹理和四边形的右下
  glTexCoord2f(1.0f 1.0f); glVertex3f(-1.0f  1.0f -1.0f); // 纹理和四边形的右上
  glTexCoord2f(0.0f 1.0f); glVertex3f( 1.0f  1.0f -1.0f); // 纹理和四边形的左上
  glTexCoord2f(0.0f 0.0f); glVertex3f( 1.0f -1.0f -1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-27 19:37  计算机图形作业\
     目录           0  2019-05-27 19:35  计算机图形作业\QWE\
     目录           0  2019-05-27 19:30  计算机图形作业\QWE\Debug\
     文件       56320  2019-05-27 19:24  计算机图形作业\QWE\Debug\QWE.exe
     文件      638880  2019-05-27 19:24  计算机图形作业\QWE\Debug\QWE.ilk
     文件      666624  2019-05-27 19:24  计算机图形作业\QWE\Debug\QWE.pdb
     目录           0  2019-05-27 19:30  计算机图形作业\QWE\QWE\
     目录           0  2019-05-27 19:30  计算机图形作业\QWE\QWE\Debug\
     文件       21184  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\CL.read.1.tlog
     文件         262  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\CL.write.1.tlog
     文件         406  2019-05-22 16:54  计算机图形作业\QWE\QWE\Debug\QWE.exe.embed.manifest
     文件         472  2019-05-22 16:54  计算机图形作业\QWE\QWE\Debug\QWE.exe.embed.manifest.res
     文件         381  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\QWE.exe.intermediate.manifest
     文件          51  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\QWE.lastbuildstate
     文件        2276  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\QWE.log
     文件         713  2019-05-22 19:44  计算机图形作业\QWE\QWE\Debug\QWE.vcxprojResolveAssemblyReference.cache
     文件           0  2019-05-22 16:54  计算机图形作业\QWE\QWE\Debug\QWE.write.1.tlog
     文件         196  2019-05-22 16:54  计算机图形作业\QWE\QWE\Debug\QWE_manifest.rc
     文件       41848  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\ZUOYE.obj
     文件         602  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\cl.command.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link-cvtres.read.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link-cvtres.write.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10080-cvtres.read.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10080-cvtres.write.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10080.read.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10080.write.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10748-cvtres.read.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10748-cvtres.write.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10748.read.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.10748.write.1.tlog
     文件           2  2019-05-27 19:24  计算机图形作业\QWE\QWE\Debug\link.11664-cvtres.read.1.tlog
............此处省略100个文件信息

评论

共有 条评论