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

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

?? d3dutil.h

?? 游戲音頻程序設計-Beginning.Game.Audio.Programming
?? H
字號:
//-----------------------------------------------------------------------------
// File: D3DUtil.h
//
// Desc: Helper functions and typing shortcuts for Direct3D programming.
//
// Copyright (c) 1997-2000 Microsoft Corporation. All rights reserved
//-----------------------------------------------------------------------------
#ifndef D3DUTIL_H
#define D3DUTIL_H
#include <D3D8.h>
#include <D3DX8Math.h>




//-----------------------------------------------------------------------------
// Name: D3DUtil_InitMaterial()
// Desc: Initializes a D3DMATERIAL8 structure, setting the diffuse and ambient
//       colors. It does not set emissive or specular colors.
//-----------------------------------------------------------------------------
VOID D3DUtil_InitMaterial( D3DMATERIAL8& mtrl, FLOAT r=0.0f, FLOAT g=0.0f,
                                               FLOAT b=0.0f, FLOAT a=1.0f );




//-----------------------------------------------------------------------------
// Name: D3DUtil_InitLight()
// Desc: Initializes a D3DLIGHT structure, setting the light position. The
//       diffuse color is set to white, specular and ambient left as black.
//-----------------------------------------------------------------------------
VOID D3DUtil_InitLight( D3DLIGHT8& light, D3DLIGHTTYPE ltType,
                        FLOAT x=0.0f, FLOAT y=0.0f, FLOAT z=0.0f );




//-----------------------------------------------------------------------------
// Name: D3DUtil_CreateTexture()
// Desc: Helper function to create a texture. It checks the root path first,
//       then tries the DXSDK media path (as specified in the system registry).
//-----------------------------------------------------------------------------
HRESULT D3DUtil_CreateTexture( LPDIRECT3DDEVICE8 pd3dDevice, TCHAR* strTexture,
                               LPDIRECT3DTEXTURE8* ppTexture,
                               D3DFORMAT d3dFormat = D3DFMT_UNKNOWN );




//-----------------------------------------------------------------------------
// Name: D3DUtil_SetColorKey()
// Desc: Changes all texels matching the colorkey to transparent, black.
//-----------------------------------------------------------------------------
HRESULT D3DUtil_SetColorKey( LPDIRECT3DTEXTURE8 pTexture, DWORD dwColorKey );




//-----------------------------------------------------------------------------
// Name: D3DUtil_CreateVertexShader()
// Desc: Assembles and creates a file-based vertex shader
//-----------------------------------------------------------------------------
HRESULT D3DUtil_CreateVertexShader( LPDIRECT3DDEVICE8 pd3dDevice, 
								    TCHAR* strFilename, DWORD* pdwVertexDecl,
									DWORD* pdwVertexShader );

									
									
									
//-----------------------------------------------------------------------------
// Name: D3DUtil_GetCubeMapViewMatrix()
// Desc: Returns a view matrix for rendering to a face of a cubemap.
//-----------------------------------------------------------------------------
D3DXMATRIX D3DUtil_GetCubeMapViewMatrix( DWORD dwFace );




//-----------------------------------------------------------------------------
// Name: D3DUtil_GetRotationFromCursor()
// Desc: Returns a quaternion for the rotation implied by the window's cursor
//       position.
//-----------------------------------------------------------------------------
D3DXQUATERNION D3DUtil_GetRotationFromCursor( HWND hWnd,
                                              FLOAT fTrackBallRadius=1.0f );




//-----------------------------------------------------------------------------
// Name: D3DUtil_SetDeviceCursor
// Desc: Builds and sets a cursor for the D3D device based on hCursor.
//-----------------------------------------------------------------------------
HRESULT D3DUtil_SetDeviceCursor( LPDIRECT3DDEVICE8 pd3dDevice, HCURSOR hCursor );




//-----------------------------------------------------------------------------
// Name: class CD3DArcBall
// Desc:
//-----------------------------------------------------------------------------
class CD3DArcBall
{
	INT            m_iWidth;   // ArcBall's window width
	INT            m_iHeight;  // ArcBall's window height
	FLOAT          m_fRadius;  // ArcBall's radius in screen coords
	FLOAT          m_fRadius2; // ArcBall's radius in screen coords

	D3DXQUATERNION m_qDown;               // Quaternion before button down
	D3DXQUATERNION m_qNow;                // Composite quaternion for current drag
	D3DXMATRIX     m_matRotation;         // Matrix for arcball's orientation
	D3DXMATRIX     m_matRotationDelta;    // Matrix for arcball's orientation
	D3DXMATRIX     m_matTranslation;      // Matrix for arcball's position
	D3DXMATRIX     m_matTranslationDelta; // Matrix for arcball's position
	BOOL           m_bDrag;               // Whether user is dragging arcball

	D3DXVECTOR3 ScreenToVector( int sx, int sy );

public:
	LRESULT     HandleMouseMessages( HWND, UINT, WPARAM, LPARAM );

	D3DXMATRIX* GetRotationMatrix()         { return &m_matRotation; }
	D3DXMATRIX* GetRotationDeltaMatrix()    { return &m_matRotationDelta; }
	D3DXMATRIX* GetTranslationMatrix()      { return &m_matTranslation; }
	D3DXMATRIX* GetTranslationDeltaMatrix() { return &m_matTranslationDelta; }
	BOOL        IsBeingDragged()            { return m_bDrag; }

	VOID        SetRadius( FLOAT fRadius );
	VOID        SetWindow( INT w, INT h, FLOAT r=0.9 );

	CD3DArcBall();
};




//-----------------------------------------------------------------------------
// Name: class CD3DCamera
// Desc:
//-----------------------------------------------------------------------------
class CD3DCamera
{
	D3DXVECTOR3 m_vEyePt;       // Attributes for view matrix
	D3DXVECTOR3 m_vLookatPt;
	D3DXVECTOR3 m_vUpVec;

	D3DXVECTOR3 m_vView;
	D3DXVECTOR3 m_vCross;

	D3DXMATRIX  m_matView;
	D3DXMATRIX  m_matBillboard; // Special matrix for billboarding effects

	FLOAT       m_fFOV;         // Attributes for projection matrix
	FLOAT       m_fAspect;
	FLOAT       m_fNearPlane;
	FLOAT       m_fFarPlane;
	D3DXMATRIX  m_matProj;

public:
	// Access functions
	D3DXVECTOR3 GetEyePt()           { return m_vEyePt; }
	D3DXVECTOR3 GetLookatPt()        { return m_vLookatPt; }
	D3DXVECTOR3 GetUpVec()           { return m_vUpVec; }
	D3DXVECTOR3 GetViewDir()         { return m_vView; }
	D3DXVECTOR3 GetCross()           { return m_vCross; }

	D3DXMATRIX  GetViewMatrix()      { return m_matView; }
	D3DXMATRIX  GetBillboardMatrix() { return m_matBillboard; }
	D3DXMATRIX  GetProjMatrix()      { return m_matProj; }

	VOID SetViewParams( D3DXVECTOR3 &vEyePt, D3DXVECTOR3& vLookatPt,
						D3DXVECTOR3& vUpVec );
	VOID SetProjParams( FLOAT fFOV, FLOAT fAspect, FLOAT fNearPlane,
						FLOAT fFarPlane );

	CD3DCamera();
};

//-----------------------------------------------------------------------------
// Helper macros for pixel shader instructions
//-----------------------------------------------------------------------------

// Parameter writemasks
#define D3DPSP_WRITEMASK_B   D3DSP_WRITEMASK_0
#define D3DPSP_WRITEMASK_G   D3DSP_WRITEMASK_1
#define D3DPSP_WRITEMASK_R   D3DSP_WRITEMASK_2
#define D3DPSP_WRITEMASK_A   D3DSP_WRITEMASK_3
#define D3DPSP_WRITEMASK_C   (D3DPSP_WRITEMASK_B|D3DPSP_WRITEMASK_G|D3DPSP_WRITEMASK_R)
#define D3DPSP_WRITEMASK_ALL (D3DSP_WRITEMASK_0|D3DSP_WRITEMASK_1|D3DSP_WRITEMASK_2|D3DSP_WRITEMASK_3)
#define D3DPSP_WRITEMASK_10  (D3DSP_WRITEMASK_0|D3DSP_WRITEMASK_1)
#define D3DPSP_WRITEMASK_32  (D3DSP_WRITEMASK_2|D3DSP_WRITEMASK_3)

// Source and destination parameter token
#define D3DPS_REGNUM_MASK(_Num)   ( (1L<<31) | ((_Num)&D3DSP_REGNUM_MASK) )
#define D3DPS_DST(_Num)           ( D3DPS_REGNUM_MASK(_Num) | D3DSPR_TEMP | D3DPSP_WRITEMASK_ALL )
#define D3DPS_SRC_TEMP(_Num)      ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_TEMP )
#define D3DPS_SRC_INPUT(_Num)     ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_INPUT )
#define D3DPS_SRC_CONST(_Num)     ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_CONST )
#define D3DPS_SRC_TEXTURE(_Num)   ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_TEXTURE )
#define D3DVS_SRC_ADDR(_Num)      ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_ADDR )
#define D3DVS_SRC_RASTOUT(_Num)   ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_RASTOUT )
#define D3DVS_SRC_ATTROUT(_Num)   ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_ATTROUT )
#define D3DVS_SRC_TEXCRDOUT(_Num) ( D3DPS_REGNUM_MASK(_Num) | D3DSP_NOSWIZZLE | D3DSPR_TEXCRDOUT )

// Temp destination registers
#define D3DS_DR0   D3DPS_DST(0)
#define D3DS_DR1   D3DPS_DST(1)
#define D3DS_DR2   D3DPS_DST(2)
#define D3DS_DR3   D3DPS_DST(3)
#define D3DS_DR4   D3DPS_DST(4)
#define D3DS_DR5   D3DPS_DST(5)
#define D3DS_DR6   D3DPS_DST(6)
#define D3DS_DR7   D3DPS_DST(7)

// Temp source registers
#define D3DS_SR0   D3DPS_SRC_TEMP(0)
#define D3DS_SR1   D3DPS_SRC_TEMP(1)
#define D3DS_SR2   D3DPS_SRC_TEMP(2)
#define D3DS_SR3   D3DPS_SRC_TEMP(3)
#define D3DS_SR4   D3DPS_SRC_TEMP(4)
#define D3DS_SR5   D3DPS_SRC_TEMP(5)
#define D3DS_SR6   D3DPS_SRC_TEMP(6)
#define D3DS_SR7   D3DPS_SRC_TEMP(7)

// Texture parameters
#define D3DS_T0   D3DPS_SRC_TEXTURE(0)
#define D3DS_T1   D3DPS_SRC_TEXTURE(1)
#define D3DS_T2   D3DPS_SRC_TEXTURE(2)
#define D3DS_T3   D3DPS_SRC_TEXTURE(3)
#define D3DS_T4   D3DPS_SRC_TEXTURE(4)
#define D3DS_T5   D3DPS_SRC_TEXTURE(5)
#define D3DS_T6   D3DPS_SRC_TEXTURE(6)
#define D3DS_T7   D3DPS_SRC_TEXTURE(7)

// Constant (factor) source parameters
#define D3DS_C0     D3DPS_SRC_CONST(0)
#define D3DS_C1     D3DPS_SRC_CONST(1)
#define D3DS_C2     D3DPS_SRC_CONST(2)
#define D3DS_C3     D3DPS_SRC_CONST(3)
#define D3DS_C4     D3DPS_SRC_CONST(4)
#define D3DS_C5     D3DPS_SRC_CONST(5)
#define D3DS_C6     D3DPS_SRC_CONST(6)
#define D3DS_C7     D3DPS_SRC_CONST(7)

// Iterated source parameters (0==Diffuse, 1==specular)
#define D3DS_V0     D3DPS_SRC_INPUT(0)
#define D3DS_V1     D3DPS_SRC_INPUT(1)




#endif // D3DUTIL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲自拍偷拍| 国产性天天综合网| 久久精品亚洲麻豆av一区二区| 国产精品乱码一区二区三区软件 | 国产精品一区二区免费不卡 | 欧美视频在线一区二区三区 | 成人福利电影精品一区二区在线观看 | 一道本成人在线| 久久久噜噜噜久久中文字幕色伊伊| 亚洲一区二区三区在线播放 | 日韩1区2区3区| 日本韩国一区二区三区视频| 精品国产乱码久久久久久免费| 一区二区三区av电影| 成人激情动漫在线观看| 精品福利一区二区三区免费视频| 亚洲超碰精品一区二区| 91福利视频在线| 中文字幕一区二区三区四区不卡 | 日韩一级大片在线| 一级特黄大欧美久久久| 99re热视频精品| 国产精品久久久久久久久免费丝袜 | 亚洲一区二区三区小说| 色综合咪咪久久| 中文字幕亚洲欧美在线不卡| 成人av综合一区| 日本一区二区三区电影| 国产精品综合一区二区三区| 久久先锋影音av| 国产成人精品免费看| 国产人久久人人人人爽| 国产乱码精品一区二区三区忘忧草| 欧美一卡二卡在线观看| 蜜臀久久久久久久| 欧美xingq一区二区| 九九国产精品视频| 久久久久久一级片| 国产成人在线看| 国产精品国产三级国产三级人妇 | 久久机这里只有精品| 精品久久国产97色综合| 国内精品伊人久久久久av一坑| 久久午夜羞羞影院免费观看| 高清shemale亚洲人妖| 1024国产精品| 在线一区二区三区做爰视频网站| 亚洲一二三四久久| 欧美一级一级性生活免费录像| 久久精品国产免费看久久精品| 精品美女被调教视频大全网站| 国产乱人伦偷精品视频不卡| 亚洲丝袜自拍清纯另类| 欧美午夜寂寞影院| 另类专区欧美蜜桃臀第一页| 国产欧美一区二区精品秋霞影院| 99视频有精品| 首页欧美精品中文字幕| 久久女同精品一区二区| 波多野结衣欧美| 日一区二区三区| 久久久一区二区| 欧洲精品一区二区三区在线观看| 免费欧美日韩国产三级电影| 国产精品久久精品日日| 欧美日韩国产高清一区二区三区| 精品一区二区三区视频在线观看| 国产精品美女久久久久久2018| 欧美日韩1区2区| 懂色av中文字幕一区二区三区| 亚洲影院在线观看| 久久毛片高清国产| 欧美日韩精品欧美日韩精品一综合| 久久国产精品露脸对白| 一区二区三区在线观看视频| 精品久久久三级丝袜| 91丨九色丨蝌蚪丨老版| 久久99国产精品麻豆| 一区二区不卡在线播放 | 天天亚洲美女在线视频| 久久久美女毛片| 欧美丰满少妇xxxbbb| av午夜一区麻豆| 精品系列免费在线观看| 亚洲mv在线观看| 亚洲综合久久久久| 国产日韩精品视频一区| 日韩一级精品视频在线观看| 欧美制服丝袜第一页| 成人黄色大片在线观看| 九九九久久久精品| 日韩经典一区二区| 亚洲在线观看免费| 亚洲伦在线观看| 中文无字幕一区二区三区| 日韩精品一区二区三区视频播放 | 亚洲国产精品一区二区www在线| 国产精品色一区二区三区| 精品久久久影院| 欧美tk—视频vk| 91麻豆精品国产无毒不卡在线观看| 色偷偷久久一区二区三区| 99这里都是精品| 99在线精品一区二区三区| av网站免费线看精品| 成人免费毛片片v| 成人夜色视频网站在线观看| 国产乱码精品一区二区三| 国产一区二区三区香蕉| 国产在线播放一区| 紧缚奴在线一区二区三区| 国产在线播放一区二区三区| 黄色日韩三级电影| 国产中文字幕一区| 国产乱人伦偷精品视频免下载| 国产精品亚洲午夜一区二区三区 | 久久久精品免费观看| 欧美mv日韩mv国产网站| 欧美成人一区二区三区| 欧美成人三级电影在线| 久久这里只有精品首页| 久久日韩粉嫩一区二区三区| 久久蜜臀中文字幕| 中文字幕不卡一区| 亚洲人成精品久久久久| 一区二区在线免费观看| 五月天一区二区| 蜜臀av性久久久久蜜臀aⅴ| 国内精品不卡在线| 国产成人精品一区二区三区四区| 成人午夜视频网站| 91美女视频网站| 欧美日韩一区高清| 精品不卡在线视频| 中文在线一区二区| 亚洲一区二区三区中文字幕在线| 韩国精品在线观看| 国产成人自拍在线| 91丨porny丨中文| 欧美日韩一区二区三区四区| 欧美一区二区三区成人| 久久久久高清精品| 亚洲卡通动漫在线| 蜜桃av一区二区三区| 风间由美一区二区av101 | 日韩写真欧美这视频| 国产欧美精品一区二区色综合朱莉 | 国产午夜精品理论片a级大结局| 国产精品进线69影院| 日韩影院精彩在线| www.欧美.com| 欧美日本国产视频| 国产精品视频一区二区三区不卡| 亚洲综合一区二区| 国产精品69毛片高清亚洲| 日本韩国一区二区三区| 精品国产露脸精彩对白| 一区二区三区四区高清精品免费观看| 日本成人在线一区| 99久久国产综合精品色伊| 日韩精品中文字幕一区二区三区| 国产精品伦理一区二区| 蜜桃91丨九色丨蝌蚪91桃色| 色中色一区二区| 国产亚洲欧美日韩俺去了| 午夜伦理一区二区| 91视频在线观看| 久久精品综合网| 秋霞午夜鲁丝一区二区老狼| 97se亚洲国产综合在线| 久久一区二区视频| 日韩精品久久理论片| 日本精品视频一区二区三区| 欧美激情一区二区| 久久国内精品视频| 欧美卡1卡2卡| 一区二区三区鲁丝不卡| 成人精品国产一区二区4080| 日韩女优电影在线观看| 无码av免费一区二区三区试看| 97超碰欧美中文字幕| 国产精品久久久久精k8| 国产精品综合一区二区| 日韩午夜精品视频| 人妖欧美一区二区| 欧美日韩性生活| 亚洲一级二级三级在线免费观看| 99精品久久免费看蜜臀剧情介绍| 国产欧美一区二区精品婷婷 | 首页国产欧美久久| 欧美综合视频在线观看| 亚洲欧美偷拍卡通变态| 成+人+亚洲+综合天堂| 国产精品欧美一区喷水| 国产不卡在线一区| 国产精品乱码一区二区三区软件 | 国产一区二区不卡在线| 久久精品夜夜夜夜久久| 国产丶欧美丶日本不卡视频| 中文字幕免费观看一区|