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

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

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




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

    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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区使用方法| 久久精品人人爽人人爽| 精品久久久久久久一区二区蜜臀| 亚洲欧洲成人自拍| 精品一区二区三区的国产在线播放| 91婷婷韩国欧美一区二区| 久久婷婷久久一区二区三区| 午夜精品久久久久久久久久久 | 精品国产一区二区三区四区四| 亚洲精品免费在线| 国产精品99久| 欧美v亚洲v综合ⅴ国产v| 午夜精品一区二区三区免费视频 | 欧美三级在线看| 亚洲天堂2014| 成人成人成人在线视频| 国产午夜精品美女毛片视频| 麻豆免费看一区二区三区| 欧美男人的天堂一二区| 一区二区三区高清| 91官网在线免费观看| 亚洲视频在线一区二区| 99久免费精品视频在线观看| 国产精品少妇自拍| 成人动漫视频在线| 欧美午夜电影在线播放| 欧美美女直播网站| 亚洲午夜电影在线观看| 欧美在线观看视频在线| 亚洲一区二区三区在线播放| 欧美在线观看视频一区二区三区| 亚洲精品日产精品乱码不卡| 色老汉一区二区三区| 亚洲伊人色欲综合网| 在线精品视频免费播放| 午夜成人免费视频| 91精品国产色综合久久久蜜香臀| 日本视频中文字幕一区二区三区| 91精品久久久久久久久99蜜臂| 婷婷综合五月天| 欧美电影精品一区二区| 国产成人午夜99999| 国产欧美精品一区aⅴ影院| 99久久精品情趣| 一区二区三区高清不卡| 欧美一级理论片| 国产很黄免费观看久久| 中文字幕一区二区三中文字幕| 色综合久久久久| 亚洲超碰97人人做人人爱| 日韩欧美卡一卡二| 成人性生交大片免费看在线播放 | 国产精品影视在线观看| 中文在线免费一区三区高中清不卡| 成人sese在线| 亚洲成av人片在线| 2欧美一区二区三区在线观看视频| 国产成人在线看| 亚洲美女视频在线| 日韩欧美国产一区二区在线播放 | 蜜桃视频一区二区| 国产精品久久久久久亚洲毛片| 91久久免费观看| 精品一区二区三区免费毛片爱| 国产人成一区二区三区影院| 欧美专区日韩专区| 精品一区二区久久| 亚洲一区二区三区三| 日韩一级视频免费观看在线| 成人高清在线视频| 免费不卡在线视频| 亚洲免费电影在线| 精品免费视频.| 欧美性感一区二区三区| 国产精品夜夜嗨| 偷拍一区二区三区| 中文成人综合网| 日韩精品一区二区三区四区| 99国产精品久久久久| 国产自产高清不卡| 亚洲电影一级片| 中文字幕在线不卡一区二区三区| 欧美一级二级在线观看| 在线视频观看一区| 成人午夜av影视| 久久99精品国产91久久来源| 亚洲综合色婷婷| 亚洲人成网站在线| 中文字幕av不卡| 2022国产精品视频| 日韩一区二区麻豆国产| 欧美日韩一本到| 91农村精品一区二区在线| 国产**成人网毛片九色| 久久精品999| 蜜臀久久久久久久| 亚洲成人1区2区| 欧美视频中文字幕| 91福利视频网站| 成人国产在线观看| 国产剧情一区在线| 久久精品国产精品亚洲精品| 视频一区视频二区中文| 一区二区三区在线视频播放| 最近日韩中文字幕| 专区另类欧美日韩| 中文字幕在线观看一区| 国产精品网曝门| 国产精品三级av在线播放| 国产日韩影视精品| 欧美韩国日本一区| 久久精品理论片| 天天色天天爱天天射综合| 亚洲成av人**亚洲成av**| 亚洲成人av福利| 日韩av不卡在线观看| 美女视频一区在线观看| 久久国产精品区| 国产麻豆精品久久一二三| 国产精品一区一区| 成人av免费在线播放| 99久久久无码国产精品| 在线精品视频小说1| 91 com成人网| 日韩精品一区二区三区蜜臀| 国产丝袜美腿一区二区三区| 国产欧美一区二区三区在线老狼| 国产精品久久久久久久久免费樱桃| 欧美激情一区二区三区蜜桃视频| 亚洲欧美自拍偷拍色图| 亚洲综合区在线| 久久国产精品99久久人人澡| 国产成人av影院| 在线看日韩精品电影| 日韩欧美一区在线| 亚洲国产成人自拍| 亚洲综合在线五月| 蜜臀av一区二区在线观看| 国产福利91精品| 在线亚洲高清视频| 欧美成人欧美edvon| 一区精品在线播放| 三级欧美韩日大片在线看| 极品少妇xxxx精品少妇偷拍| 99九九99九九九视频精品| 欧美丰满美乳xxx高潮www| 久久老女人爱爱| 亚洲一区二区中文在线| 精品一区二区在线视频| 色综合一区二区| 在线观看91视频| 亚洲综合精品久久| 三级一区在线视频先锋| 国产精品一区二区三区网站| 在线观看免费一区| 国产日韩欧美精品在线| 亚洲chinese男男1069| 激情综合一区二区三区| 91亚洲男人天堂| 欧美tk—视频vk| 亚洲精品综合在线| 国产高清在线观看免费不卡| 欧美理论在线播放| 亚洲欧美在线aaa| 久久精品国产一区二区三 | 国产真实乱偷精品视频免| 色播五月激情综合网| 国产日韩欧美电影| 日韩精品成人一区二区在线| 91片在线免费观看| 国产欧美一区在线| 激情欧美日韩一区二区| www.日韩在线| 日韩一卡二卡三卡国产欧美| 一区2区3区在线看| 岛国精品在线观看| 久久精品在这里| 97久久久精品综合88久久| 欧美mv和日韩mv国产网站| 亚洲成人免费在线观看| 色综合久久久久网| 中文字幕欧美一| 成人综合在线视频| 国产性色一区二区| 国产在线日韩欧美| 欧美一级欧美一级在线播放| 午夜私人影院久久久久| 欧洲国产伦久久久久久久| 亚洲精品国产a| 色综合色狠狠天天综合色| 中文字幕一区二区日韩精品绯色| 懂色av中文字幕一区二区三区| 久久九九久精品国产免费直播| 国产呦萝稀缺另类资源| 久久香蕉国产线看观看99| 美腿丝袜在线亚洲一区| 精品免费99久久| 精品在线观看视频| 国产午夜精品久久久久久久| 国产精品综合久久|