亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? directionallight.cpp

?? Introduction to directx9 3d game programming 一書的源代碼
?? CPP
字號(hào):
//////////////////////////////////////////////////////////////////////////////////////////////////
// 
// File: directionalLight.cpp
// 
// Author: Frank Luna (C) All Rights Reserved
//
// System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 
//
// Desc: Demonstrates using a directional light with D3DX objects.  You can orbit
//       the scene using the left and right arrow keys.  In addition you can 
//       elevate the camera with the up and down arrow keys.
//          
//////////////////////////////////////////////////////////////////////////////////////////////////

#include "d3dUtility.h"

//
// Globals
//

IDirect3DDevice9* Device = 0; 

const int Width  = 640;
const int Height = 480;
 
ID3DXMesh* Objects[4] = {0, 0, 0, 0};
D3DXMATRIX  Worlds[4];
D3DMATERIAL9 Mtrls[4];

//
// Framework Functions
//
bool Setup()
{
	//
	// Create objects.
	//

	D3DXCreateTeapot(Device, &Objects[0], 0);
	D3DXCreateSphere(Device, 1.0f, 20, 20, &Objects[1], 0);
	D3DXCreateTorus(Device, 0.5f, 1.0f, 20, 20, &Objects[2], 0);
	D3DXCreateCylinder(Device, 0.5f, 0.5f, 2.0f, 20, 20, &Objects[3], 0);

	//
	// Build world matrices - position the objects in world space.
	//

	D3DXMatrixTranslation(&Worlds[0],  0.0f,  2.0f, 0.0f);
	D3DXMatrixTranslation(&Worlds[1],  0.0f, -2.0f, 0.0f);
	D3DXMatrixTranslation(&Worlds[2], -3.0f,  0.0f, 0.0f);
	D3DXMatrixTranslation(&Worlds[3],  3.0f,  0.0f, 0.0f);

	//
	// Setup the object's materials.
	//

	Mtrls[0] = d3d::RED_MTRL;
	Mtrls[1] = d3d::BLUE_MTRL;
	Mtrls[2] = d3d::GREEN_MTRL;
	Mtrls[3] = d3d::YELLOW_MTRL;

	//
	// Setup a directional light.
	//

	D3DXVECTOR3 dir(1.0f, -0.0f, 0.25f);
	D3DXCOLOR   c = d3d::WHITE;
	D3DLIGHT9 dirLight = d3d::InitDirectionalLight(&dir, &c);

	//
	// Set and Enable the light.
	//

	Device->SetLight(0, &dirLight);
	Device->LightEnable(0, true);

	//
	// Set lighting related render states.
	//

	Device->SetRenderState(D3DRS_NORMALIZENORMALS, true);
	Device->SetRenderState(D3DRS_SPECULARENABLE, false);

	//
	// Set the projection matrix.
	//

	D3DXMATRIX proj;
	D3DXMatrixPerspectiveFovLH(
			&proj,
			D3DX_PI * 0.25f, // 45 - degree
			(float)Width / (float)Height,
			1.0f,
			1000.0f);
	Device->SetTransform(D3DTS_PROJECTION, &proj);

	return true;
}

void Cleanup()
{
	for(int i = 0; i < 4; i++)
		d3d::Release<ID3DXMesh*>(Objects[i]);
}

bool Display(float timeDelta)
{
	if( Device )
	{
		// 
		// Update the scene: update camera position.
		//

		static float angle  = (3.0f * D3DX_PI) / 2.0f;
		static float height = 5.0f;
	
		if( ::GetAsyncKeyState(VK_LEFT) & 0x8000f )
			angle -= 0.5f * timeDelta;

		if( ::GetAsyncKeyState(VK_RIGHT) & 0x8000f )
			angle += 0.5f * timeDelta;

		if( ::GetAsyncKeyState(VK_UP) & 0x8000f )
			height += 5.0f * timeDelta;

		if( ::GetAsyncKeyState(VK_DOWN) & 0x8000f )
			height -= 5.0f * timeDelta;

		D3DXVECTOR3 position( cosf(angle) * 7.0f, height, sinf(angle) * 7.0f );
		D3DXVECTOR3 target(0.0f, 0.0f, 0.0f);
		D3DXVECTOR3 up(0.0f, 1.0f, 0.0f);
		D3DXMATRIX V;
		D3DXMatrixLookAtLH(&V, &position, &target, &up);

		Device->SetTransform(D3DTS_VIEW, &V);

		//
		// Draw the scene:
		//
		Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0);
		Device->BeginScene();

		for(int i = 0; i < 4; i++)
		{
			// set material and world matrix for ith object, then render
			// the ith object.
			Device->SetMaterial(&Mtrls[i]);
			Device->SetTransform(D3DTS_WORLD, &Worlds[i]);
			Objects[i]->DrawSubset(0);
		}

		Device->EndScene();
		Device->Present(0, 0, 0, 0);
	}
	return true;
}


//
// WndProc
//
LRESULT CALLBACK d3d::WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch( msg )
	{
	case WM_DESTROY:
		::PostQuitMessage(0);
		break;
		
	case WM_KEYDOWN:
		if( wParam == VK_ESCAPE )
			::DestroyWindow(hwnd);
		break;
	}
	return ::DefWindowProc(hwnd, msg, wParam, lParam);
}

//
// WinMain
//
int WINAPI WinMain(HINSTANCE hinstance,
				   HINSTANCE prevInstance, 
				   PSTR cmdLine,
				   int showCmd)
{
	if(!d3d::InitD3D(hinstance,
		Width, Height, true, D3DDEVTYPE_HAL, &Device))
	{
		::MessageBox(0, "InitD3D() - FAILED", 0, 0);
		return 0;
	}
		
	if(!Setup())
	{
		::MessageBox(0, "Setup() - FAILED", 0, 0);
		return 0;
	}

	d3d::EnterMsgLoop( Display );

	Cleanup();

	Device->Release();

	return 0;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久精品免费观看国产蜜| 亚洲精品视频在线观看网站| 日本最新不卡在线| 成人精品视频一区二区三区尤物| 精品日韩成人av| 国产综合色精品一区二区三区| 欧美猛男男办公室激情| 午夜伦理一区二区| 欧美日韩大陆一区二区| 午夜精品爽啪视频| 欧美肥妇free| 免费在线观看精品| 精品国产sm最大网站免费看| 精品一区二区三区在线播放| 日韩视频在线你懂得| 麻豆极品一区二区三区| 精品国产乱码久久久久久免费| 黄色日韩网站视频| 国产精品进线69影院| 99这里只有久久精品视频| 亚洲欧洲日韩女同| 欧美日韩在线播放一区| 日韩黄色小视频| 久久综合国产精品| 成人激情校园春色| 亚洲精品高清在线| 日韩一级欧美一级| 国产传媒欧美日韩成人| 综合久久一区二区三区| 精品视频1区2区3区| 久久精品二区亚洲w码| 久久婷婷国产综合国色天香| 成人午夜av影视| 一二三四社区欧美黄| 欧美福利视频一区| 国产成人免费视频网站高清观看视频| 国产精品乱码妇女bbbb| 欧美午夜一区二区| 国产一区二区精品在线观看| 中文字幕在线不卡一区 | 欧美视频在线播放| 蜜臂av日日欢夜夜爽一区| 国产亚洲精品超碰| 欧美特级限制片免费在线观看| 免费欧美日韩国产三级电影| 国产精品久久三区| 51久久夜色精品国产麻豆| 粉嫩aⅴ一区二区三区四区五区| 亚洲日本成人在线观看| 欧美系列日韩一区| 丁香网亚洲国际| 午夜久久久久久久久久一区二区| 国产亚洲欧美激情| 欧美区视频在线观看| 成人高清视频在线观看| 日韩电影在线一区二区| 国产精品毛片久久久久久久| 制服丝袜亚洲色图| 91欧美激情一区二区三区成人| 日本网站在线观看一区二区三区| 中文字幕不卡在线| 日韩精品一区二区三区中文精品| 91首页免费视频| 国精产品一区一区三区mba桃花| 亚洲影院免费观看| 国产精品久久久久久久久搜平片 | 偷拍自拍另类欧美| 中文字幕第一区综合| 精品少妇一区二区三区在线视频| 91在线丨porny丨国产| 久久99日本精品| 日韩一区中文字幕| 精品久久久久久最新网址| 91久久国产综合久久| 国产成人精品一区二| 美女被吸乳得到大胸91| 亚洲精品国产视频| 1000精品久久久久久久久| 久久亚洲一区二区三区四区| 欧美一区二区三区的| 欧美日韩午夜精品| 日本韩国视频一区二区| 成人免费福利片| 成人一道本在线| 国产精品资源在线| 国产最新精品精品你懂的| 亚洲18影院在线观看| 一区二区高清免费观看影视大全| 国产精品久久久久久久第一福利 | 欧美一区二区三区视频免费播放| 欧美午夜在线观看| 色婷婷国产精品综合在线观看| 91官网在线免费观看| 色综合网色综合| 色婷婷久久久综合中文字幕| 一本到不卡精品视频在线观看| 91视视频在线观看入口直接观看www | 精品视频一区 二区 三区| 欧美日韩一区二区电影| 欧美午夜精品久久久久久孕妇| 91久久一区二区| 色婷婷久久久久swag精品| 在线观看欧美黄色| 欧美女孩性生活视频| 91精品国产一区二区三区| 4438x亚洲最大成人网| 日本韩国视频一区二区| 欧美性色欧美a在线播放| 欧美日韩一级大片网址| 91精品国产综合久久小美女| 日韩欧美一二区| 久久精品人人爽人人爽| 久久一区二区三区四区| 日韩理论电影院| 日韩电影在线观看网站| 国产成人精品影院| 91成人在线观看喷潮| 欧美一区二区在线看| 久久久久一区二区三区四区| 国产精品视频免费看| 亚洲国产综合视频在线观看| 免费av成人在线| 风间由美一区二区三区在线观看 | 精品国产一区二区亚洲人成毛片| 国产亚洲一区二区三区在线观看| 国产精品久久久久久久久免费丝袜| 亚洲视频中文字幕| 天天操天天干天天综合网| 国产一区二区主播在线| 99精品桃花视频在线观看| 欧美日韩国产a| 欧美国产激情二区三区| 一卡二卡三卡日韩欧美| 亚洲二区在线视频| 久久精品国产亚洲高清剧情介绍| 国产一区二区三区免费观看| 在线亚洲一区二区| 久久婷婷国产综合精品青草| 亚洲一区二区三区视频在线播放| 激情综合网最新| 欧美亚洲国产一区二区三区va| 精品国产免费视频| 亚洲高清中文字幕| 成人性视频网站| 欧美一区二区三区在线电影| 国产精品国产自产拍高清av王其| 香蕉久久夜色精品国产使用方法 | 成人激情小说网站| 欧美一级高清大全免费观看| 国产精品初高中害羞小美女文| 日本在线不卡视频| 91香蕉国产在线观看软件| 欧美成人精品3d动漫h| 亚洲免费观看高清完整版在线观看熊| 免费不卡在线观看| 成人高清视频免费观看| 欧美日韩视频在线一区二区| 欧美一区二区三区系列电影| 亚洲欧美偷拍另类a∨色屁股| 韩国午夜理伦三级不卡影院| 欧美日韩情趣电影| 日韩理论片在线| 从欧美一区二区三区| www国产成人免费观看视频 深夜成人网| 久久久99精品久久| 国产资源精品在线观看| 91麻豆精品国产91久久久久| 亚洲综合区在线| 色狠狠色狠狠综合| 国产精品久久看| 美女在线观看视频一区二区| 51精品久久久久久久蜜臀| 亚洲超碰精品一区二区| 91久久精品一区二区三区| 国产精品久久久久久久午夜片| 国产美女在线精品| 精品剧情在线观看| 蜜臀精品久久久久久蜜臀| 9191成人精品久久| 婷婷成人综合网| 91黄视频在线观看| 一区二区三区成人在线视频| 色成年激情久久综合| 一区二区视频免费在线观看| 91蝌蚪porny| 伊人一区二区三区| 欧洲亚洲国产日韩| 亚洲电影视频在线| 欧美一级在线免费| 美女视频一区二区| 精品国产成人系列| 福利电影一区二区三区| 欧美国产精品一区二区| www.色精品| 亚洲精品成人在线| 欧美日韩久久一区二区| 日韩av高清在线观看| 欧美电视剧免费全集观看| 男女男精品网站| 欧美大片在线观看一区二区|