-
大小: 20.65MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-08-02
- 语言: 其他
- 标签: NeHeOpengGL 教程 代码
资源简介
完整的经典NeHe OpenGL中文教程,及其实验代码,还有曾涛的LOD地形模型,仅供学习参考
代码片段和文件信息
#include “.\app.h“
#include “Utility\Mouse.cpp“
#include “Utility/temp_uilib.cpp“
#define WM_SELECT_MAP_SIZE (WM_USER + 1)
#define WM_UI_MAIN (WM_SELECT_MAP_SIZE + 1)
#define WM_UI_SET_SELECT_SUB (WM_UI_MAIN + 1)
#define WM_UI_RENDER (WM_UI_SET_SELECT_SUB + 1)
#define WM_UI_CAMERA (WM_UI_RENDER + 1)
#define WM_UI_LIGHT (WM_UI_CAMERA + 1)
#define WM_UI_SUNDRY (WM_UI_LIGHT + 1)
static CApp* g_pApp = NULL;
CApp::CApp()
{
g_pApp = this;
m_D3D = NULL;
m_hwnd = NULL;
m_MousePT.x = 0;
m_MousePT.y = 0;
m_AS = AS_NORMAL;
m_FPS = 0;
m_FPSFactor = 0;
}
CApp::~CApp()
{
safe_release(m_D3D);
m_Mouse.ReleaseMouse();
}
LRESULT CALLBACK WndProc( HWND hWnd UINT uMsg WPARAM wParam LPARAM lParam )
{
return g_pApp->MsgProc( hWnd uMsg wParam lParam );
}
bool CApp::Create(HINSTANCE hInstanceint width int heightLPCSTR lpszWndName)
{
WNDCLASS wc;
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(0 IDI_APPLICATION);
wc.hCursor = LoadCursor(0 IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockobject(BLACK_BRUSH);
wc.lpszMenuName = 0;
wc.lpszClassName = “LODTerrainApp“;
if( !RegisterClass(&wc) )
{
::MessageBox(0 “注册窗口失败“ 0 0);
return false;
}
LONG cpSzie = GetSystemMetrics(SM_CYCAPTION);
LONG xdlgSzie = GetSystemMetrics(SM_CXDLGframe);
LONG ydlgSzie = GetSystemMetrics(SM_CXDLGframe);
LONG exW = xdlgSzie*2 + width;
LONG exH = ydlgSzie*2 + cpSzie + height;
LONG scSzieW = GetSystemMetrics(SM_CXSCREEN);
LONG scSzieH = GetSystemMetrics(SM_CYSCREEN);
LONG PosX = (scSzieW - exW)/2;
LONG PosY = (scSzieH - exH)/2 - cpSzie;
m_hwnd = ::CreateWindow(
“LODTerrainApp“
lpszWndName
WS_EX_TOPMOST
PosX PosY exW exH
0 0 hInstance 0 );
if( !m_hwnd )
{
::MessageBox(0 “创建窗口失败“ 0 0);
return false;
}
m_width = width;
m_height = height;
::ShowWindow(m_hwnd SW_SHOW);
::UpdateWindow(m_hwnd);
//初始化设备
InitDevice();
//初始化3d环境
InitD3DEnvironment();
return true;
}
bool CApp::InitDevice()
{
IDirect3D9* d3d9 = 0;
d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
if( !d3d9 )
{
::MessageBox(0 “设备创建接口创建失败“ 0 0);
return false;
}
D3DDEVTYPE D3DDT = D3DDEVTYPE_HAL;
// Step 2: Check for hardware vp.
D3DCAPS9 caps;
d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT D3DDT &caps);
int vp = 0;
if( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT )
vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
else
vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
//vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
// Step 3: Fill out the D3DPRESENT_PARAMETERS structure.
D3DPRESENT_PARAMETERS d3dpp;
d3dpp.BackBufferWidth = m_width;
d3dpp.BackBufferHeight = m_height;
d3dpp.BackBu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7879394 2017-02-24 10:02 曾涛地形模型和NeHeOpenGL教程\NeHe OpenGL中文教程+源代码.zip
文件 909 2010-07-20 14:52 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Backup\LODTerrain.sln
..A..H. 13312 2011-01-19 20:39 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Backup\LODTerrain.v12.suo
文件 4379984 2008-10-10 04:52 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\D3DX9_40.dll
文件 1014952 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\App.obj
文件 72904 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\Camera.obj
文件 249607 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LOD.obj
文件 2434 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.log
文件 4050 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\cl.command.1.tlog
文件 191338 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\CL.read.1.tlog
文件 2578 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\CL.write.1.tlog
文件 1914 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\li
文件 4614 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\li
文件 842 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\li
文件 162 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\LODTerrain.lastbuildstate
文件 58365 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\mymath.obj
文件 232830 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\Shaders.obj
文件 550275 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\Terrain.obj
文件 1182720 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\vc120.idb
文件 1028096 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\vc120.pdb
文件 57012 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\WinMain.obj
文件 903 2010-08-10 14:03 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\GameRes Readme.txt
文件 1465344 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.exe
文件 3119404 2017-03-09 09:50 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.ilk
文件 42663936 2017-09-13 09:30 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.sdf
文件 960 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.sln
文件 13312 2011-01-19 20:39 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.suo
..A..H. 31744 2017-09-13 09:30 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.v12.suo
文件 4506 2011-01-19 18:42 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.vcproj
文件 5882 2017-03-09 09:36 曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\LODTerrain.vcxproj
............此处省略52个文件信息
- 上一篇:GitHub入门与实践.pdf
- 下一篇:2017美赛优秀论文 + latex模板
相关资源
- KISSsoft全中文教程201401
- 三国杀武将牌制作模板及教程第三版
- QNX 官方完全源代码 供学习参考 展开
- 微信版本小说分销开源代码,亲测可
- 《OpenCV教程》电子书+源代码
- CASSI基于压缩感知的光谱成像源代码
- 移动开发 H5开发angular4教程
- 流光、溯雪+教程
- ANSYS工程应用教程——热与电磁学篇
- fftw源代码和vs工程
- 基于SSH的学校教学管理系统 学生选课
- 秒余额灰色项目源码(含视频教程)
- MSP430单片机 教程
- 自动发卡平台源码非花旗发卡平台+安
- 1元云购源代码
- STL源码剖析 高清 带目录电子书+源代
- 木马病毒恶意代码技术揭秘与防御p
- 笙科3.4g无线音频芯片A8102全套资料原
- Grokking Deep Learning最新版无水印+源代码
- SolidWorksMotion运动仿真教程2014版978-7
- 开心农场实现教程
- 【OpenCV3版】《OpenCV3编程入门》书本配
- dps7.05破解版 内含TXT教程
- 传智播客Unity3D视频教程— 6-传智播客
- ArcGIS基础教程(中文版)
- 8套源码8套H5 app源代码—WeX5移动开发
- Photon Unity中文教程
- IP包的传送方式动画版(老外的教学课
- ADC信号采集STM32的demo代码
- S5PV210开发板学习经典教程
评论
共有 条评论