资源简介
给大家一个计算机图形作业。很奇怪,我是想弄成免费的,但是怎么一上传上去就需要积分才能下载了,哪位大哥知道怎么可以调成免费的话和我说一声邮箱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.em
文件 472 2019-05-22 16:54 计算机图形作业\QWE\QWE\Debug\QWE.exe.em
文件 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\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
文件 2 2019-05-27 19:24 计算机图形作业\QWE\QWE\Debug\li
............此处省略100个文件信息
相关资源
- 曾涛地形模型和NeHeOpenGL教程
- Opengl 导入3Dmax制作的.3ds模型 并显示出
- OpenGL游戏程序设计.pdf
- 一个opengl+粒子系统模拟雪效的简单程
- OpenGL ES 2.0 编程指南中英文+源码
- 《LearnOpengl CN》中文最新版-2018年11月
- OpenGL三维场景绘制3D模型读取
- OpenGL三维图形系统开发与实用技术.
- opengl绘制的简单机器人 可以实现走路
- opengl三维迷宫
- opengl+粒子系统的降雪模拟增强版
- OpenGL --A Primer[2nd Edition] OpenGL程序设计
- 基于OpenGL的 虚拟漫游
- MyGUI_3.2.0
- opengl地球仪
- OpenGL编程指南原书第9版高清完整版
- OpenGL着色语言 中文高清版
- OpenGL编程指南原书第9版内
- openGL绘制虚拟教室
- 基于OpenGL的3D赛车游戏的研究与实现源
- OpenGL绘制一个多边形 添加颜色
- OpenGL三维图形系统开发与实用技术 基
- OpenGL鼠标交互3D模型
- 图形学的几道基础练习计算机图形学
- 交互式计算机:图形学基于OpenGL着色
- 基于opencv与opengl实现增强现实
- OpenGl三维镂垫绘制附使用说明
- OpenGL三维图形系统开发与实用技术基
- opengl导入FBX模型代码
- OPENGL载入3DS
评论
共有 条评论