資源簡介
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
評論
共有 條評論