OpenGL实现小车模型的导入和渲染,随便找的一些资料汇总,上课很无奈。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 79176 2001-09-10 09:43 示例3DS+File+Loader3DS File Loader3ds Format.rtf
文件 4260 2002-11-27 21:33 示例3DS+File+Loader3DS File Loader3DS Loader.dsp
文件 545 2001-09-09 02:16 示例3DS+File+Loader3DS File Loader3DS Loader.dsw
文件 7597056 2008-09-24 16:50 示例3DS+File+Loader3DS File Loader3DS Loader.ncb
文件 49664 2002-11-28 12:10 示例3DS+File+Loader3DS File Loader3DS Loader.opt
文件 1482 2002-11-27 22:43 示例3DS+File+Loader3DS File Loader3DS Loader.plg
文件 30101504 2012-11-08 16:11 示例3DS+File+Loader3DS File Loader3DS Loader.sdf
文件 886 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.sln
..A..H. 16896 2012-11-08 16:11 示例3DS+File+Loader3DS File Loader3DS Loader.suo
文件 6430 2008-09-24 16:33 示例3DS+File+Loader3DS File Loader3DS Loader.vcproj
文件 1417 2008-09-24 16:50 示例3DS+File+Loader3DS File Loader3DS Loader.vcproj.THOCR.shenxiaolu.user
文件 8829 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj
文件 1289 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj.filters
文件 143 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj.user
文件 16632 2008-09-24 16:33 示例3DS+File+Loader3DS File Loader3DS.CPP
文件 2372 2002-11-27 22:42 示例3DS+File+Loader3DS File Loader3DS.H
文件 574976 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe
文件 406 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.embed.manifest
文件 472 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.embed.manifest.res
文件 381 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.intermediate.manifest
文件 1678388 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.ilk
文件 89 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.lastbuildstate
文件 2245 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.log
文件 3288064 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.pdb
文件 216 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader_manifest.rc
文件 189790 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3ds.obj
文件 13064 2008-09-24 16:34 示例3DS+File+Loader3DS File LoaderDebugBuildLog.htm
文件 2200 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugcl.command.1.tlog
文件 49118 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugCL.read.1.tlog
文件 2358 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugCL.write.1.tlog
............此处省略96个文件信息
#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+Loader3DS File Loader3ds Format.rtf
文件 4260 2002-11-27 21:33 示例3DS+File+Loader3DS File Loader3DS Loader.dsp
文件 545 2001-09-09 02:16 示例3DS+File+Loader3DS File Loader3DS Loader.dsw
文件 7597056 2008-09-24 16:50 示例3DS+File+Loader3DS File Loader3DS Loader.ncb
文件 49664 2002-11-28 12:10 示例3DS+File+Loader3DS File Loader3DS Loader.opt
文件 1482 2002-11-27 22:43 示例3DS+File+Loader3DS File Loader3DS Loader.plg
文件 30101504 2012-11-08 16:11 示例3DS+File+Loader3DS File Loader3DS Loader.sdf
文件 886 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.sln
..A..H. 16896 2012-11-08 16:11 示例3DS+File+Loader3DS File Loader3DS Loader.suo
文件 6430 2008-09-24 16:33 示例3DS+File+Loader3DS File Loader3DS Loader.vcproj
文件 1417 2008-09-24 16:50 示例3DS+File+Loader3DS File Loader3DS Loader.vcproj.THOCR.shenxiaolu.user
文件 8829 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj
文件 1289 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj.filters
文件 143 2012-11-07 19:49 示例3DS+File+Loader3DS File Loader3DS Loader.vcxproj.user
文件 16632 2008-09-24 16:33 示例3DS+File+Loader3DS File Loader3DS.CPP
文件 2372 2002-11-27 22:42 示例3DS+File+Loader3DS File Loader3DS.H
文件 574976 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe
文件 406 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.em
文件 472 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.em
文件 381 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.exe.intermediate.manifest
文件 1678388 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.ilk
文件 89 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.lastbuildstate
文件 2245 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.log
文件 3288064 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebug3DS Loader.pdb
文件 216 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3DS Loader_manifest.rc
文件 189790 2012-11-07 19:50 示例3DS+File+Loader3DS File LoaderDebug3ds.obj
文件 13064 2008-09-24 16:34 示例3DS+File+Loader3DS File LoaderDebugBuildLog.htm
文件 2200 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugcl.command.1.tlog
文件 49118 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugCL.read.1.tlog
文件 2358 2012-11-08 16:09 示例3DS+File+Loader3DS File LoaderDebugCL.write.1.tlog
............此处省略96个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)