資源簡介
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?=?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????79176??2001-09-10?09:43??示例\3DS+File+Loader\3DS?File?Loader\3ds?Format.rtf
?????文件???????4260??2002-11-27?21:33??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.dsp
?????文件????????545??2001-09-09?02:16??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.dsw
?????文件????7597056??2008-09-24?16:50??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.ncb
?????文件??????49664??2002-11-28?12:10??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.opt
?????文件???????1482??2002-11-27?22:43??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.plg
?????文件???30101504??2012-11-08?16:11??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.sdf
?????文件????????886??2012-11-07?19:49??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.sln
????..A..H.?????16896??2012-11-08?16:11??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.suo
?????文件???????6430??2008-09-24?16:33??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.vcproj
?????文件???????1417??2008-09-24?16:50??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.vcproj.THOCR.shenxiaolu.user
?????文件???????8829??2012-11-07?19:49??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.vcxproj
?????文件???????1289??2012-11-07?19:49??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.vcxproj.filters
?????文件????????143??2012-11-07?19:49??示例\3DS+File+Loader\3DS?File?Loader\3DS?Loader.vcxproj.user
?????文件??????16632??2008-09-24?16:33??示例\3DS+File+Loader\3DS?File?Loader\3DS.CPP
?????文件???????2372??2002-11-27?22:42??示例\3DS+File+Loader\3DS?File?Loader\3DS.H
?????文件?????574976??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.exe
?????文件????????406??2012-11-07?19:50??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.exe.em
?????文件????????472??2012-11-07?19:50??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.exe.em
?????文件????????381??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.exe.intermediate.manifest
?????文件????1678388??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.ilk
?????文件?????????89??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.lastbuildstate
?????文件???????2245??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.log
?????文件????3288064??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader.pdb
?????文件????????216??2012-11-07?19:50??示例\3DS+File+Loader\3DS?File?Loader\Debug\3DS?Loader_manifest.rc
?????文件?????189790??2012-11-07?19:50??示例\3DS+File+Loader\3DS?File?Loader\Debug\3ds.obj
?????文件??????13064??2008-09-24?16:34??示例\3DS+File+Loader\3DS?File?Loader\Debug\BuildLog.htm
?????文件???????2200??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\cl.command.1.tlog
?????文件??????49118??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\CL.read.1.tlog
?????文件???????2358??2012-11-08?16:09??示例\3DS+File+Loader\3DS?File?Loader\Debug\CL.write.1.tlog
............此處省略96個文件信息
- 上一篇:easy-IoT.rar
- 下一篇:電動汽車動力電池管理系統設計.pdf
評論
共有 條評論