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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pointlight.cpp

?? Direct 9.0 游戲編程 包括PDF書籍和源代碼
?? CPP
字號:
//////////////////////////////////////////////////////////////////////////////////////////////////
// 
// File: pointLight.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 point 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 point light.  Note that the point light
	// is positioned at the origin.
	//

	D3DXVECTOR3 pos(0.0f, 0.0f, 0.0f);
	D3DXCOLOR   c = d3d::WHITE;
	D3DLIGHT9 point = d3d::InitPointLight(&pos, &c);

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

	Device->SetLight(0, &point);
	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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美日韩在线| 国产亚洲美州欧州综合国| 日本亚洲电影天堂| 中文字幕va一区二区三区| 色天天综合色天天久久| 另类综合日韩欧美亚洲| 中文字幕一区免费在线观看 | 欧美成人猛片aaaaaaa| 国产1区2区3区精品美女| 国产亚洲1区2区3区| 在线观看亚洲精品视频| 国产剧情一区在线| 亚洲国产成人91porn| 国产日韩欧美制服另类| 91色综合久久久久婷婷| 精品一区二区三区视频 | 亚洲第一久久影院| 国产日韩欧美一区二区三区综合| 成人av午夜电影| 日本一区中文字幕| 亚洲欧美日韩人成在线播放| 久久这里只有精品6| 欧美日韩国产天堂| 99re8在线精品视频免费播放| 久久99久久久欧美国产| 国产激情视频一区二区在线观看| 久久色中文字幕| 欧美一区二区福利在线| 7777精品伊人久久久大香线蕉 | 亚洲人成网站在线| 国产精品无圣光一区二区| 久久九九全国免费| 国产香蕉久久精品综合网| 久久品道一品道久久精品| 欧美精品一区二区三区高清aⅴ| 91精品国产福利| 日韩一卡二卡三卡国产欧美| 在线电影欧美成精品| 678五月天丁香亚洲综合网| 欧美日韩电影在线| 欧美一区二区精美| 精品国产人成亚洲区| 久久亚洲精华国产精华液| 欧美精品一区二区三| 久久九九影视网| 亚洲欧洲av一区二区三区久久| 国产精品毛片高清在线完整版| 中文字幕一区二区在线观看| 亚洲免费观看高清完整版在线观看熊 | 美国十次综合导航| 国产在线一区观看| 成人精品小蝌蚪| 在线免费不卡电影| 欧美精品在线观看播放| 欧美大尺度电影在线| 国产调教视频一区| 亚洲人成网站精品片在线观看| 一区二区三区高清不卡| 日韩国产欧美视频| 国产综合色精品一区二区三区| 国产69精品一区二区亚洲孕妇| 91免费视频网址| 欧美久久久久久久久| 欧美精品一区二区高清在线观看| 久久精品欧美日韩精品| 一区二区三区四区蜜桃 | 91在线视频观看| 欧美日韩和欧美的一区二区| 日韩一区二区三区在线观看 | 蜜臀av性久久久久av蜜臀妖精| 国产成人免费视频网站高清观看视频| 91影视在线播放| 91精品国产日韩91久久久久久| 久久久99免费| 亚洲一区二区av在线| 韩国女主播成人在线观看| 99久久免费国产| 日韩视频一区二区三区在线播放| 中文文精品字幕一区二区| 亚洲mv在线观看| 国产69精品久久久久毛片| 欧美日韩国产综合久久| 国产欧美综合色| 亚洲宅男天堂在线观看无病毒| 开心九九激情九九欧美日韩精美视频电影 | 91在线视频观看| 欧美成人vr18sexvr| 亚洲欧美日韩在线| 韩国女主播一区| 欧美日韩日日骚| 国产精品久久久一本精品| 男女性色大片免费观看一区二区 | 欧美一区三区四区| 国产精品久久久久久久久快鸭| 欧美aaa在线| 色综合一区二区| 久久久精品免费网站| 天堂资源在线中文精品| 成人黄色在线网站| 久久综合狠狠综合久久综合88 | 国产成人在线视频网址| 欧美日本高清视频在线观看| 国产精品国产三级国产普通话三级 | 国产精品视频九色porn| 久久精品av麻豆的观看方式| 欧美色图第一页| 亚洲欧美日韩在线| www.一区二区| 国产亚洲精品久| 国模冰冰炮一区二区| 欧美一区二区成人| 丝袜美腿亚洲色图| 色久优优欧美色久优优| 日韩一区日韩二区| 国产成人午夜精品5599| 精品久久人人做人人爱| 欧美a一区二区| 欧美一区二区在线视频| 午夜精品一区二区三区三上悠亚| 欧洲精品一区二区| 一个色综合av| 在线精品视频免费观看| 亚洲欧美视频一区| 91一区二区三区在线观看| 中文字幕乱码日本亚洲一区二区| 国内久久婷婷综合| 久久中文字幕电影| 国产揄拍国内精品对白| 欧美大片在线观看一区| 久久精品国产**网站演员| 日韩一区二区视频| 久久国产精品区| 欧美大片顶级少妇| 美国一区二区三区在线播放| 精品日本一线二线三线不卡 | 欧美色综合久久| 一区二区在线电影| 91福利精品视频| 亚洲国产va精品久久久不卡综合| 欧美日韩黄色影视| 免费看日韩精品| 精品99一区二区三区| 国产伦精品一区二区三区免费迷| 精品福利一区二区三区免费视频| 极品少妇xxxx偷拍精品少妇| 久久精品一区二区三区av| 成人一级视频在线观看| 亚洲欧美在线aaa| 欧美性猛交xxxx黑人交| 日韩精品高清不卡| 精品国产凹凸成av人导航| 高清在线观看日韩| 亚洲毛片av在线| 欧美久久一区二区| 国产在线国偷精品免费看| 国产精品色噜噜| 在线观看一区二区视频| 日本成人中文字幕在线视频| 久久蜜臀中文字幕| 91影院在线观看| 日韩电影在线一区| 国产拍揄自揄精品视频麻豆| 91免费视频网址| 美美哒免费高清在线观看视频一区二区| 久久网站热最新地址| 91在线观看视频| 奇米一区二区三区av| 中文天堂在线一区| 欧美喷潮久久久xxxxx| 国产精品一区三区| 夜夜操天天操亚洲| 亚洲精品一区二区三区香蕉| 99精品视频一区二区| 日韩av一区二区在线影视| 国产精品视频在线看| 欧美日韩亚洲综合在线 | 成人一二三区视频| 亚洲一二三专区| 国产欧美日韩不卡| 欧美片在线播放| av中文字幕一区| 久久精品国产一区二区三 | 26uuu亚洲| 欧美视频日韩视频| 成人免费看片app下载| 视频一区二区三区中文字幕| 国产欧美一区在线| 日韩一区二区在线观看| 色综合久久中文综合久久牛| 国产在线乱码一区二区三区| 一区二区三区色| 国产精品少妇自拍| 欧美大度的电影原声| 欧美性大战xxxxx久久久| 国产精品77777竹菊影视小说| 手机精品视频在线观看| 一区在线观看免费| 久久久青草青青国产亚洲免观| 7777精品久久久大香线蕉| 91猫先生在线|