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

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

?? d3dutility.h

?? Introduction to directx9 3d game programming 一書的源代碼
?? H
字號:
//////////////////////////////////////////////////////////////////////////////////////////////////
// 
// File: d3dUtility.h
// 
// Author: Frank Luna (C) All Rights Reserved
//
// System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 
//
// Desc: Provides utility functions for simplifying common tasks.
//          
//////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef __d3dUtilityH__
#define __d3dUtilityH__

#include <d3dx9.h>
#include <string>
#include <limits>

namespace d3d
{
	//
	// Init
	//
	bool InitD3D(
		HINSTANCE hInstance,       // [in] Application instance.
		int width, int height,     // [in] Backbuffer dimensions.
		bool windowed,             // [in] Windowed (true)or full screen (false).
		D3DDEVTYPE deviceType,     // [in] HAL or REF
		IDirect3DDevice9** device);// [out]The created device.

	int EnterMsgLoop( 
		bool (*ptr_display)(float timeDelta));

	LRESULT CALLBACK WndProc(
		HWND hwnd,
		UINT msg, 
		WPARAM wParam,
		LPARAM lParam);

	//
	// Cleanup
	//
	template<class T> void Release(T t)
	{
		if( t )
		{
			t->Release();
			t = 0;
		}
	}
		
	template<class T> void Delete(T t)
	{
		if( t )
		{
			delete t;
			t = 0;
		}
	}

	//
	// Colors
	//
	const D3DXCOLOR      WHITE( D3DCOLOR_XRGB(255, 255, 255) );
	const D3DXCOLOR      BLACK( D3DCOLOR_XRGB(  0,   0,   0) );
	const D3DXCOLOR        RED( D3DCOLOR_XRGB(255,   0,   0) );
	const D3DXCOLOR      GREEN( D3DCOLOR_XRGB(  0, 255,   0) );
	const D3DXCOLOR       BLUE( D3DCOLOR_XRGB(  0,   0, 255) );
	const D3DXCOLOR     YELLOW( D3DCOLOR_XRGB(255, 255,   0) );
	const D3DXCOLOR       CYAN( D3DCOLOR_XRGB(  0, 255, 255) );
	const D3DXCOLOR    MAGENTA( D3DCOLOR_XRGB(255,   0, 255) );

	const D3DXCOLOR BEACH_SAND( D3DCOLOR_XRGB(255, 249, 157) );
	const D3DXCOLOR DESERT_SAND( D3DCOLOR_XRGB(250, 205, 135) );

	const D3DXCOLOR LIGHTGREEN( D3DCOLOR_XRGB( 60, 184, 120) );
	const D3DXCOLOR  PUREGREEN( D3DCOLOR_XRGB(  0, 166,  81) );
	const D3DXCOLOR  DARKGREEN( D3DCOLOR_XRGB(  0, 114,  54) );

	const D3DXCOLOR LIGHT_YELLOW_GREEN( D3DCOLOR_XRGB(124, 197, 118) );
	const D3DXCOLOR  PURE_YELLOW_GREEN( D3DCOLOR_XRGB( 57, 181,  74) );
	const D3DXCOLOR  DARK_YELLOW_GREEN( D3DCOLOR_XRGB( 25, 123,  48) );

	const D3DXCOLOR LIGHTBROWN(D3DCOLOR_XRGB(198, 156, 109));
	const D3DXCOLOR DARKBROWN( D3DCOLOR_XRGB(115, 100,  87));

	//
	// Lights
	//

	D3DLIGHT9 InitDirectionalLight(D3DXVECTOR3* direction, D3DXCOLOR* color);
	D3DLIGHT9 InitPointLight(D3DXVECTOR3* position, D3DXCOLOR* color);
	D3DLIGHT9 InitSpotLight(D3DXVECTOR3* position, D3DXVECTOR3* direction, D3DXCOLOR* color);

	//
	// Materials
	//

	D3DMATERIAL9 InitMtrl(D3DXCOLOR a, D3DXCOLOR d, D3DXCOLOR s, D3DXCOLOR e, float p);

	const D3DMATERIAL9 WHITE_MTRL  = InitMtrl(WHITE, WHITE, WHITE, BLACK, 2.0f);
	const D3DMATERIAL9 RED_MTRL    = InitMtrl(RED, RED, RED, BLACK, 2.0f);
	const D3DMATERIAL9 GREEN_MTRL  = InitMtrl(GREEN, GREEN, GREEN, BLACK, 2.0f);
	const D3DMATERIAL9 BLUE_MTRL   = InitMtrl(BLUE, BLUE, BLUE, BLACK, 2.0f);
	const D3DMATERIAL9 YELLOW_MTRL = InitMtrl(YELLOW, YELLOW, YELLOW, BLACK, 2.0f);

	//
	// Bounding Objects
	//

	struct BoundingBox
	{
		BoundingBox();

		bool isPointInside(D3DXVECTOR3& p);

		D3DXVECTOR3 _min;
		D3DXVECTOR3 _max;
	};

	struct BoundingSphere
	{
		BoundingSphere();

		D3DXVECTOR3 _center;
		float       _radius;
	};

	//
	// Constants
	//

	const float INFINITY = FLT_MAX;
	const float EPSILON  = 0.001f;

	//
	// Drawing
	//

	// Function references "desert.bmp" internally.  This file must
	// be in the working directory.
	bool DrawBasicScene(
		IDirect3DDevice9* device,// Pass in 0 for cleanup.
		float scale);            // uniform scale 

	//
	// Vertex Structures
	//

	struct Vertex
	{
		Vertex(){}
		Vertex(float x, float y, float z, 
			float nx, float ny, float nz,
			float u, float v)
		{
			_x  = x;  _y  = y;  _z  = z;
			_nx = nx; _ny = ny; _nz = nz;
			_u  = u;  _v  = v;
		}
		float _x, _y, _z;
		float _nx, _ny, _nz;
		float _u, _v;

		static const DWORD FVF;
	};

	//
	// Randomness
	//

	// Desc: Return random float in [lowBound, highBound] interval.
	float GetRandomFloat(float lowBound, float highBound);
	

	// Desc: Returns a random vector in the bounds specified by min and max.
	void GetRandomVector(
		D3DXVECTOR3* out,
		D3DXVECTOR3* min,
		D3DXVECTOR3* max);

	//
	// Conversion
	//
	DWORD FtoDw(float f);

	//
	// Interpolation
	//

	float Lerp(float a, float b, float t);
}

#endif // __d3dUtilityH__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品国产露脸对白| 免费成人在线影院| 久久美女高清视频| 欧美一区欧美二区| 欧美精品久久99久久在免费线 | 337p粉嫩大胆色噜噜噜噜亚洲| 在线电影欧美成精品| 欧美久久久一区| 欧美一区二区精美| 精品成人在线观看| 中文字幕精品一区| 亚洲精品美腿丝袜| 日韩一区精品视频| 国产一本一道久久香蕉| av网站免费线看精品| 91激情在线视频| 日韩欧美中文一区二区| 久久久久久久精| 亚洲综合丝袜美腿| 免费成人av在线播放| 成熟亚洲日本毛茸茸凸凹| 一本到高清视频免费精品| 欧美另类久久久品| 国产清纯在线一区二区www| 亚洲品质自拍视频网站| 日韩电影网1区2区| 成人理论电影网| 欧美精品一卡两卡| 国产亚洲精品中文字幕| 亚洲免费观看视频| 精品一区二区三区欧美| 97精品视频在线观看自产线路二| 在线不卡免费欧美| 国产精品理论在线观看| 日韩av在线发布| 91美女蜜桃在线| 久久综合色天天久久综合图片| 亚洲精品乱码久久久久久日本蜜臀| 秋霞影院一区二区| 日本韩国欧美国产| 国产午夜亚洲精品羞羞网站| 香蕉成人啪国产精品视频综合网| 国产精品99久久久久久有的能看 | 五月天婷婷综合| 国产精品996| 91精品婷婷国产综合久久| 国产亚洲福利社区一区| 天堂午夜影视日韩欧美一区二区| 大胆欧美人体老妇| 欧美精品一区二区三区久久久| 夜夜嗨av一区二区三区网页| 国产一区二区三区免费播放| 欧美精品丝袜中出| 一区二区三区视频在线观看| 成人午夜av电影| 久久一区二区三区四区| 日本午夜一本久久久综合| 欧美综合一区二区| 亚洲人吸女人奶水| 99精品在线免费| 国产精品女同互慰在线看| 国产一区二区久久| 日韩精品一区二| 麻豆成人免费电影| 欧美大尺度电影在线| 日韩黄色免费电影| 欧美高清性hdvideosex| 亚洲高清免费观看| 欧美精品国产精品| 天天综合网 天天综合色| 欧美无砖砖区免费| 亚洲国产精品久久一线不卡| 欧美午夜精品免费| 视频一区二区三区在线| 欧美日本在线播放| 美国一区二区三区在线播放| 欧美一区二区播放| 国产一区视频网站| 国产蜜臀av在线一区二区三区| 国产成人亚洲综合a∨婷婷图片 | 天天亚洲美女在线视频| 欧美日韩一区二区三区四区| 午夜精品久久久久| 欧美一级二级三级蜜桃| 麻豆成人免费电影| 国产欧美精品国产国产专区| 国产成人亚洲综合a∨婷婷图片 | 日韩精品一卡二卡三卡四卡无卡| 91精品国产色综合久久不卡电影| 九九九久久久精品| 欧美韩日一区二区三区四区| 波多野结衣亚洲| 亚洲国产毛片aaaaa无费看| 欧美日韩不卡在线| 国产在线精品不卡| 亚洲欧美在线视频观看| 欧美午夜免费电影| 国产一区二区不卡| 一区二区三区精品| 久久久久综合网| 91蝌蚪porny| 久久国产精品无码网站| 亚洲欧洲日韩av| 5858s免费视频成人| 成人深夜福利app| 亚洲成人一区在线| 国产免费观看久久| 日韩一区二区三区在线观看| 国产 欧美在线| 午夜精品成人在线视频| 国产日韩欧美精品综合| 色婷婷久久一区二区三区麻豆| 免费欧美日韩国产三级电影| 中文字幕一区二区三区四区| 91精品国产免费久久综合| www.av亚洲| 国产一区视频在线看| 丝袜美腿一区二区三区| 成人欧美一区二区三区视频网页| 日韩欧美色综合网站| 在线视频一区二区三| 成人美女视频在线观看18| 麻豆成人av在线| 亚洲成人免费观看| 亚洲欧美日韩中文字幕一区二区三区| 精品动漫一区二区三区在线观看| 欧美日韩精品一区二区天天拍小说| 福利一区福利二区| 久久99精品久久久久久动态图| 洋洋成人永久网站入口| 日韩美女视频19| 国产午夜精品一区二区三区嫩草| 欧美一区二区观看视频| 欧美三级电影网| 91丨九色丨蝌蚪富婆spa| 国产91清纯白嫩初高中在线观看 | 成人18精品视频| 国产精品一区二区久激情瑜伽| 午夜电影一区二区三区| 夜夜嗨av一区二区三区中文字幕| 中文字幕在线一区| 国产精品嫩草99a| 久久精品夜色噜噜亚洲a∨| 日韩精品在线一区二区| 日韩欧美一区二区免费| 日韩免费一区二区| 日韩精品最新网址| 久久综合九色综合欧美亚洲| 日韩午夜在线播放| 日韩免费视频一区| 欧美精品一区二区精品网| 精品国产免费人成在线观看| 制服丝袜亚洲色图| 日韩一级欧美一级| 久久众筹精品私拍模特| 精品国产91洋老外米糕| 久久综合九色综合97婷婷| 亚洲精品在线观看网站| 国产婷婷色一区二区三区在线| 久久久久久久综合日本| 中文字幕 久热精品 视频在线| 国产精品美女www爽爽爽| 国产偷国产偷精品高清尤物| 精品精品欲导航| 欧美激情在线一区二区三区| 国产精品久久久久久亚洲伦| 亚洲女子a中天字幕| 午夜精品久久久久久不卡8050| 日本成人在线电影网| 精品亚洲欧美一区| 91天堂素人约啪| 欧美军同video69gay| 精品毛片乱码1区2区3区| 国产精品每日更新在线播放网址 | 精品日韩成人av| 中文字幕国产一区| 一区二区三区四区亚洲| 毛片av一区二区| 国产成人亚洲精品青草天美| 色偷偷久久人人79超碰人人澡| 欧美人妇做爰xxxⅹ性高电影| 日韩一区二区高清| 国产精品免费丝袜| 日本不卡123| 成人动漫在线一区| 91精品国产乱| 中文字幕一区二区三区在线不卡 | 日韩精品福利网| 国产另类ts人妖一区二区| 色呦呦一区二区三区| 欧美大片在线观看| 一区二区在线电影| 国产一区二区在线观看视频| 欧美色电影在线| 欧美一级欧美三级| 国产精品成人在线观看| 美洲天堂一区二卡三卡四卡视频| 成人小视频在线| 精品国产麻豆免费人成网站| 亚洲精品视频免费看|