资源简介

完整的经典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\link.command.1.tlog

     文件       4614  2017-03-09 09:50  曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\link.read.1.tlog

     文件        842  2017-03-09 09:50  曾涛地形模型和NeHeOpenGL教程\ztLODTerrain\Debug\LODTerrain.tlog\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论