資源簡介
OpenGL三維圖形系統開發與實用技術.實用技術篇(源碼)
代碼片段和文件信息
#include?“main.h“
//??從文件中創建紋理
void?CreateTexture(UINT?textureArray[]?LPSTR?strFileName?int?textureID)
{
AUX_RGBImageRec?*pBitmap?=?NULL;
if(!strFileName) //?如果無此文件,則直接返回
return;
pBitmap?=?auxDIBImageLoad(strFileName); //?裝入位圖,并保存數據
if(pBitmap?==?NULL) //?如果裝入位圖失敗,則退出
exit(0);
//?生成紋理
glGenTextures(1?&textureArray[textureID]);
//?設置像素對齊格式
glPixelStorei?(GL_UNPACK_ALIGNMENT?1);
glBindTexture(GL_TEXTURE_2D?textureArray[textureID]);
gluBuild2DMipmaps(GL_TEXTURE_2D?3?pBitmap->sizeX?pBitmap->sizeY?GL_RGB?GL_UNSIGNED_BYTE?pBitmap->data);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MIN_FILTERGL_LINEAR_MIPMAP_NEAREST);
glTexParameteri(GL_TEXTURE_2DGL_TEXTURE_MAG_FILTERGL_LINEAR_MIPMAP_LINEAR);
if?(pBitmap) //?釋放位圖占用的資源
{
if?(pBitmap->data)
{
free(pBitmap->data);
}
free(pBitmap);
}
}
void?ChangeToFullScreen()
{
DEVMODE?dmSettings;
memset(&dmSettings0sizeof(dmSettings));
if(!EnumDisplaySettings(NULLENUM_CURRENT_SETTINGS&dmSettings))
{
MessageBox(NULL?“Could?Not?Enum?Display?Settings“?“Error“?MB_OK);
return;
}
dmSettings.dmPelsWidth =?SCREEN_WIDTH;
dmSettings.dmPelsHeight =?SCREEN_HEIGHT;
int?result?=?ChangeDisplaySettings(&dmSettingsCDS_FULLSCREEN);
if(result?!=?DISP_CHANGE_SUCCESSFUL)
{
MessageBox(NULL?“Display?Mode?Not?Compatible“?“Error“?MB_OK);
PostQuitMessage(0);
}
}
HWND?CreateMyWindow(LPSTR?strWindowName?int?width?int?height?DWORD?dwstyle?bool?bFullScreen?HINSTANCE?hInstance)
{
HWND?hWnd;
WNDCLASS?wndclass;
memset(&wndclass?0?sizeof(WNDCLASS));
wndclass.style?=?CS_HREDRAW?|?CS_VREDRAW;
wndclass.lpfnWndProc?=?WinProc;
wndclass.hInstance?=?hInstance;
wndclass.hIcon?=?LoadIcon(NULL?IDI_APPLICATION);
wndclass.hCursor?=?LoadCursor(NULL?IDC_ARROW);
wndclass.hbrBackground?=?(HBRUSH)?(COLOR_WINDOW+1);
wndclass.lpszClassName?=?“GameTutorials“;
RegisterClass(&wndclass);
if(bFullScreen?&&?!dwstyle)?
{
dwstyle?=?WS_POPUP?|?WS_CLIPSIBLINGS?|?WS_CLIPCHILDREN;
ChangeToFullScreen();
ShowCursor(FALSE);
}
else?if(!dwstyle)
dwstyle?=?WS_OVERLAPPEDWINDOW?|?WS_CLIPSIBLINGS?|?WS_CLIPCHILDREN;
g_hInstance?=?hInstance;
RECT?rWindow;
rWindow.left =?0;
rWindow.right =?width;
rWindow.top ????=?0;
rWindow.bottom =?height;
AdjustWindowRect(?&rWindow?dwstyle?false);
hWnd?=?CreateWindow(“GameTutorials“?strWindowName?dwstyle?0?0
rWindow.right??-?rWindow.left?rWindow.bottom?-?rWindow.top?
NULL?NULL?hInstance?NULL);
if(!hWnd)?return?NULL;
ShowWindow(hWnd?SW_SHOWNORMAL);
UpdateWindow(hWnd);
SetFocus(hWnd);
return?hWnd;
}
bool?bSetupPixelFormat(HDC?hdc)?
{?
????PIXELFORMATDEscriptOR?pfd;?
????int?pixelformat;?
?
????pfd.nSize?=?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\
?????文件??????????28??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\AUTORUN.INF
?????目錄???????????0??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\
?????目錄???????????0??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\
?????文件????????4260??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS?Loader.dsp
?????文件?????????545??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS?Loader.dsw
?????文件???????74752??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS?Loader.ncb
?????文件???????49664??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS?Loader.opt
?????文件????????1482??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS?Loader.plg
?????文件???????16628??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS.CPP
?????文件????????2372??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3DS.H
?????文件???????79176??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\3ds?Format.rtf
?????目錄???????????0??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\
?????文件??????254073??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\3DS?Loader.exe
?????文件?????5922284??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\3DS?Loader.pch
?????文件???????66935??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\3ds.obj
?????文件???????78873??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\FACE.3DS
?????文件??????921656??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\FACE.BMP
?????文件???????29418??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\Init.obj
?????文件???????44120??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\Main.obj
?????文件??????197632??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\vc60.idb
?????文件??????159744??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Debug\vc60.pdb
?????文件???????78873??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\FACE.3DS
?????文件??????921656??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\FACE.BMP
?????文件????????5414??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Init.cpp
?????文件????????2798??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\MAIN.H
?????文件????????5173??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DS?File?Loader\Main.cpp
?????目錄???????????0??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DSglLoader\
?????文件????????2375??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DSglLoader\3DSglLoader.clw
?????文件????????4327??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DSglLoader\3DSglLoader.cpp
?????文件????????4660??2012-09-17?15:09??OpenGL三維圖形系統開發與實用技術.實用技術篇全\Chapter01\3DSglLoader\3DSglLoader.dsp
............此處省略744個文件信息
- 上一篇:包裝機推包機構綜合
- 下一篇:pixy攝像頭配套資料
評論
共有 條評論