资源简介
VC++ MFC OpenGL OpenGL纹理贴图源程序示例.rar,简单易懂学习交流
代码片段和文件信息
// EP7-4.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
GLuint texture[5]; // Storage For One Texture
GLUquadricObj *pSphere = NULL;
GLfloat param1[]={1001};
GLfloat param2[]={0011};
int angle = 0;
int nAngleY=0; // 沿Y轴旋转的角度
int nAngleX=0; // 沿X轴旋转的角度
int nAngleZ=0; // 沿Z轴旋转的角度
// 装入位图文件Loads A Bitmap Image
// 装入位图文件Loads A Bitmap Image
AUX_RGBImageRec *LoadBitmap(char *Filename)
{
// 声明一个文件句柄用于打开文件
FILE *File=NULL; // File Handle
// 文件名不能空
if (!Filename) // Make Sure A Filename Was Given
{
return NULL;
}
// 以只读方式打开文件测试文件是否能够打开
File=fopen(Filename“r“); // Check To See If The File Exists
// 文件是否存在
if (File) // Does The File Exist?
{
// 存在,则关闭文件
fclose(File); // Close The Handle
// 装入测试过已存在的文件
return auxDIBImageLoad(Filename);// Load The Bitmap And Return A Pointer
}
// 文件装入失败,返回NULL
return NULL; // If Load Failed Return NULL
}
// 装入位图文件并作为纹理贴图
int LoadTextures() // Load Bitmaps And Convert To Textures
{
int Status=FALSE; // Status Indicator
AUX_RGBImageRec *TextureImage=0; // Create Storage Space For The Texture
// 生成纹理对象名称,共5个
glGenTextures(5 &texture[0]); // Create The Texture
if (TextureImage=LoadBitmap(“Images\\CoffeeBean.bmp“))
{
Status=TRUE; // Set The Status To TRUE
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D texture[0]);
glTexImage2D(GL_TEXTURE_2D 0 GL_RGB TextureImage->sizeX TextureImage->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR);
// 释放资源
if (TextureImage) // If Texture Exists
{
if (TextureImage->data) // If Texture Image Exists
{
free (TextureImage->data); // Free The Texture Image Memory
}
free(TextureImage); // Free The Image Structure
}
}
if (TextureImage=LoadBitmap(“Images\\木纹2.bmp“))
{
Status=TRUE; // Set The Status To TRUE
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D texture[1]);
glTexImage2D(GL_TEXTURE_2D 0 GL_RGB TextureImage->sizeX TextureImage->sizeY 0 GL_RGB GL_UNSIGNED_BYTE TextureImage->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR);
// 释放资源
if (TextureImage) // If Texture Exists
{
if (TextureImage->data) // If Texture Image Exists
{
free (TextureImage->data); // Free The Texture Image Memory
}
free(TextureImage); // Free The Image Structure
}
}
if (TextureImage=LoadBitmap(“Images\\Earth.bmp“))
{
Status=TRUE; // Set The Status To TRUE
// Typical Texture Generation Us
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-04-15 07:07 EP7-4
目录 0 2011-04-13 08:26 EP7-4\EP7-4
文件 16679 2011-04-13 08:26 EP7-4\EP7-4\EP7-4.cpp
文件 4480 2011-04-10 22:48 EP7-4\EP7-4\EP7-4.vcproj
文件 1411 2011-04-14 10:27 EP7-4\EP7-4\EP7-4.vcproj.VFSIGHT.lichangling.user
目录 0 2011-04-10 23:36 EP7-4\EP7-4\Images
文件 196662 2006-05-06 23:40 EP7-4\EP7-4\Images\CoffeeBean.bmp
文件 393272 1999-09-26 03:24 EP7-4\EP7-4\Images\EARTH.BMP
文件 196662 2006-10-19 17:29 EP7-4\EP7-4\Images\Greenstone.bmp
文件 196664 2000-03-06 02:10 EP7-4\EP7-4\Images\NeHe.bmp
文件 393270 2006-05-06 01:22 EP7-4\EP7-4\Images\outlook.bmp
..A.SH. 36352 2011-04-10 23:36 EP7-4\EP7-4\Images\Thumbs.db
文件 196662 2011-04-10 23:36 EP7-4\EP7-4\Images\木纹1.bmp
文件 49208 2011-04-10 23:19 EP7-4\EP7-4\Images\木纹2.bmp
文件 938 2011-04-10 22:47 EP7-4\EP7-4\ReadMe.txt
文件 210 2011-04-10 22:47 EP7-4\EP7-4\stdafx.cpp
文件 525 2011-04-11 22:11 EP7-4\EP7-4\stdafx.h
文件 880 2011-04-10 22:47 EP7-4\EP7-4.sln
..A..H. 16384 2011-04-14 10:27 EP7-4\EP7-4.suo
----------- --------- ---------- ----- ----
1700259 19
相关资源
- Vc++6.0MFC入门教程,很好的资源。
- VC++6.0 MFC 超简易计算器
- 计算机图形学实验二 opengl
- 多个定时器的 Timer VC++
- VC++铰链四杆机构运动仿真编程-
- vc++读取shp文件源码
- VC++MFC编程
- VC++穿透sock5代理访问防火墙以外的程
- OpenGL载入3ds模型并在MFC视图窗口显示
- 一个步态识别 软件
- vc++&opencv图像分块
- 端口扫描VC++高级编程源代码
- 使用微软蓝牙API的
- MFC_unicode相关链接库
- VS.net / VC++ 2003 2005(.sln)项目转化为
- vc++实现图像处理:中值滤波
- MRF2图像分割vc++代码
- 计算机图形学 中点画椭圆法 Bresenha
- 傅里叶描述子的提取,并且提取手势
- VC++写的功能非常强大的自定义列表控
- VC++ MFC的餐厅点餐系统
- 文件同步与异步读写
- 计算器 VC++
- VC++Spin(旋转)控件用法
- VC++摄像头视频采集及回放源程序
- vs2013 VC++项目里的Windows窗体应用程序
- 计算机图形学OpenGL画机器人
- VC++ 实现增大可执行文件的体积 自
- openGL通过点线方式画出立方体并移动
- C++简单的画图程序源代码
评论
共有 条评论