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

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

?? d3dutil.h

?? Introduction to directx9 3d game programming 一書的源代碼
?? H
字號:
//-----------------------------------------------------------------------------
// File: D3DUtil.h
//
// Desc: Helper functions and typing shortcuts for Direct3D programming.
//
// Copyright (c) 1997-2001 Microsoft Corporation. All rights reserved
//-----------------------------------------------------------------------------
#ifndef D3DUTIL_H
#define D3DUTIL_H
#include <D3D9.h>
#include <D3DX9Math.h>




//-----------------------------------------------------------------------------
// Name: D3DUtil_InitMaterial()
// Desc: Initializes a D3DMATERIAL9 structure, setting the diffuse and ambient
//       colors. It does not set emissive or specular colors.
//-----------------------------------------------------------------------------
VOID D3DUtil_InitMaterial( D3DMATERIAL9& 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( D3DLIGHT9& 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( LPDIRECT3DDEVICE9 pd3dDevice, TCHAR* strTexture,
                               LPDIRECT3DTEXTURE9* ppTexture,
                               D3DFORMAT d3dFormat = D3DFMT_UNKNOWN );




//-----------------------------------------------------------------------------
// 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( LPDIRECT3DDEVICE9 pd3dDevice, HCURSOR hCursor,
                                 BOOL bAddWatermark );


//-----------------------------------------------------------------------------
// Name: D3DUtil_D3DFormatToString
// Desc: Returns the string for the given D3DFORMAT.
//       bWithPrefix determines whether the string should include the "D3DFMT_"
//-----------------------------------------------------------------------------
TCHAR* D3DUtil_D3DFormatToString( D3DFORMAT format, bool bWithPrefix = true );


//-----------------------------------------------------------------------------
// 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_fRadiusTranslation; // ArcBall's radius for translating the target

    D3DXQUATERNION m_qDown;               // Quaternion before button down
    D3DXQUATERNION m_qNow;                // Composite quaternion for current drag
    D3DXMATRIXA16  m_matRotation;         // Matrix for arcball's orientation
    D3DXMATRIXA16  m_matRotationDelta;    // Matrix for arcball's orientation
    D3DXMATRIXA16  m_matTranslation;      // Matrix for arcball's position
    D3DXMATRIXA16  m_matTranslationDelta; // Matrix for arcball's position
    BOOL           m_bDrag;               // Whether user is dragging arcball
    BOOL           m_bRightHanded;        // Whether to use RH coordinate system

    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 );
    VOID        SetRightHanded( BOOL bRightHanded ) { m_bRightHanded = bRightHanded; }

                CD3DArcBall();
    VOID        Init();
};




//-----------------------------------------------------------------------------
// 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;

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

    FLOAT       m_fFOV;         // Attributes for projection matrix
    FLOAT       m_fAspect;
    FLOAT       m_fNearPlane;
    FLOAT       m_fFarPlane;
    D3DXMATRIXA16  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; }

    FLOAT       GetFOV()             { return m_fFOV; }
    FLOAT       GetAspect()          { return m_fAspect; }
    FLOAT       GetNearPlane()       { return m_fNearPlane; }
    FLOAT       GetFarPlane()        { return m_fFarPlane; }

    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();
};




#endif // D3DUTIL_H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品中文有码| 欧美日韩久久久一区| 99久久久久久99| 欧美一区二区三区思思人| 26uuu国产在线精品一区二区| 综合激情网...| 麻豆国产精品视频| 色偷偷成人一区二区三区91 | 麻豆精品一二三| a亚洲天堂av| 精品国产91久久久久久久妲己| 一区二区三区欧美| 成人av电影免费在线播放| 精品日韩av一区二区| 五月激情丁香一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 久久综合色综合88| 美女视频黄免费的久久| 欧美三级日本三级少妇99| 国产精品成人一区二区艾草 | 亚洲va韩国va欧美va精品| 成人国产精品免费网站| 精品久久一区二区| 日本vs亚洲vs韩国一区三区| 日本久久一区二区| 一区二区三区精品视频| 不卡av在线免费观看| 国产午夜亚洲精品不卡| 精品一区二区三区久久久| 5月丁香婷婷综合| 午夜精品久久久久久久蜜桃app| 91同城在线观看| 中文字幕精品一区二区精品绿巨人| 久久99久久久欧美国产| 欧美一级夜夜爽| 麻豆精品新av中文字幕| 日韩片之四级片| 久久99国产精品麻豆| 26uuu欧美| 丰满少妇在线播放bd日韩电影| 精品久久一区二区| 国产精品一级黄| 国产精品久久三区| 一道本成人在线| 亚洲一区二区五区| 欧美日韩aaa| 精品综合久久久久久8888| 精品99久久久久久| 成人深夜福利app| 亚洲精品高清在线| 欧美一区二区三区视频免费| 激情六月婷婷久久| 中文字幕 久热精品 视频在线 | 欧美亚洲动漫制服丝袜| 亚洲免费三区一区二区| 欧美日韩在线一区二区| 青青草一区二区三区| 亚洲精品在线网站| 成人av高清在线| 亚洲成人av电影在线| 日韩欧美激情一区| 95精品视频在线| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美一区二区免费| 成人免费三级在线| 午夜免费久久看| 久久久久久久综合日本| 91黄色免费观看| 国内成人免费视频| 亚洲一二三四在线观看| 精品国一区二区三区| av成人老司机| 另类小说视频一区二区| 亚洲天堂免费看| 精品国产乱码久久久久久夜甘婷婷| 国产91在线观看| 石原莉奈一区二区三区在线观看 | 国产精品资源在线| 亚洲第一电影网| 国产精品久久网站| 精品久久五月天| 色综合久久综合网97色综合| 久久99久久精品| 一级日本不卡的影视| 久久久久久久久97黄色工厂| 欧美色涩在线第一页| 丁香亚洲综合激情啪啪综合| 午夜影院在线观看欧美| 综合久久久久久久| 久久久久88色偷偷免费| 6080国产精品一区二区| 99久久国产综合精品麻豆| 麻豆国产一区二区| 日韩专区一卡二卡| 亚洲精品高清在线观看| 国产精品成人一区二区三区夜夜夜| 精品日韩一区二区三区免费视频| 在线观看91视频| 91影视在线播放| 国产精品影视在线| 久久国内精品视频| 日韩av电影一区| 五月天国产精品| 亚洲第一久久影院| 亚洲精品一二三| 综合色天天鬼久久鬼色| 国产日韩欧美高清| 国产性天天综合网| 精品999久久久| 日韩欧美色综合网站| 日韩一级大片在线| 欧美激情在线一区二区三区| 欧美一级高清片在线观看| 69堂精品视频| 91麻豆精品国产91久久久资源速度| 日本精品一区二区三区四区的功能| 99久久99久久综合| proumb性欧美在线观看| 成人app网站| 91美女在线看| 在线中文字幕一区二区| 在线区一区二视频| 欧美日韩五月天| 欧美精品1区2区3区| 91.麻豆视频| 日韩亚洲欧美中文三级| 日韩午夜激情电影| 久久久亚洲午夜电影| 国产精品情趣视频| 日韩理论片一区二区| 一区二区三区不卡视频| 亚洲成人激情综合网| 午夜精品久久久| 久久精品国产亚洲高清剧情介绍| 久久精品理论片| 丁香五精品蜜臀久久久久99网站| 99久久精品免费| 欧美视频在线播放| 精品国产三级a在线观看| 国产午夜精品在线观看| 亚洲色图欧美激情| 日日嗨av一区二区三区四区| 久久激情五月婷婷| fc2成人免费人成在线观看播放| 色婷婷久久久亚洲一区二区三区 | 亚洲精品成人a在线观看| 午夜欧美大尺度福利影院在线看| 久久国内精品自在自线400部| 成人午夜又粗又硬又大| 欧美色精品天天在线观看视频| 91麻豆精品国产综合久久久久久| xf在线a精品一区二区视频网站| 国产女人18水真多18精品一级做 | 天堂成人国产精品一区| 国产成人在线电影| 欧美日韩一区久久| 日本一区二区三区免费乱视频| 一区二区三区国产精华| 久久疯狂做爰流白浆xx| 色婷婷综合久色| 久久影音资源网| 玉足女爽爽91| 国产一区999| 欧美日韩你懂得| 中文字幕不卡一区| 美国毛片一区二区| 91老师片黄在线观看| 精品国精品自拍自在线| 一区二区三区丝袜| 国产精品资源网| 日韩欧美一区二区在线视频| 国产精品久久久一区麻豆最新章节| 三级精品在线观看| 色综合中文字幕| 国产欧美一区二区精品忘忧草| 亚洲成人av福利| 91网页版在线| 国产精品欧美极品| 久久精品免费看| 欧美夫妻性生活| 一区二区三区成人| 成人午夜电影小说| 久久久久久久久久美女| 免费不卡在线观看| 欧美日韩在线免费视频| 亚洲色图欧美偷拍| 成人免费视频一区二区| 精品国产123| 黄色精品一二区| 欧美大片在线观看一区| 日韩精品一卡二卡三卡四卡无卡| 色乱码一区二区三区88| 99精品视频在线播放观看| 26uuu亚洲| 国产自产高清不卡| 欧美精品一区二区不卡| 九色综合国产一区二区三区| 日韩一级视频免费观看在线| 婷婷综合久久一区二区三区| 欧洲另类一二三四区|