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

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

?? d3dutil.h

?? 3D俄羅斯方塊源碼.rar
?? 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 <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,
                                 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
    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
    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;

    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一区二区三区免费野_久草精品视频
国产资源精品在线观看| 亚洲成a人v欧美综合天堂 | 国产在线播放一区二区三区| 亚洲一区二区三区四区不卡| 亚洲视频在线一区二区| 综合电影一区二区三区 | 久久精品噜噜噜成人av农村| 日韩中文字幕91| 日本不卡1234视频| 美国毛片一区二区三区| 久久精品国产成人一区二区三区 | 日韩在线一区二区| 青椒成人免费视频| 国内精品国产成人国产三级粉色| 韩国理伦片一区二区三区在线播放| 久久99最新地址| 国产成人丝袜美腿| 成人av网址在线| 在线观看91视频| 这里只有精品电影| 久久久久久一级片| 中文字幕一区二区日韩精品绯色| 亚洲精品美国一| 三级亚洲高清视频| 国产成人综合在线| 在线视频欧美区| 精品国精品国产| 国产精品国产精品国产专区不蜜| 亚洲精品videosex极品| 日韩av电影一区| 岛国精品在线观看| 欧美精品色综合| 国产精品日产欧美久久久久| 亚洲国产精品欧美一二99| 麻豆成人在线观看| 91蝌蚪porny| 精品伦理精品一区| 亚洲视频你懂的| 激情av综合网| 欧美综合天天夜夜久久| 久久久久久久久久久久久久久99| 亚洲精品成人天堂一二三| 黑人巨大精品欧美一区| 欧美午夜宅男影院| 国产蜜臀97一区二区三区| 亚洲bt欧美bt精品| av一区二区久久| 久久尤物电影视频在线观看| 亚洲国产日韩在线一区模特| 粉嫩在线一区二区三区视频| 欧美一区二区福利视频| 亚洲精品高清视频在线观看| 国产精品一区二区你懂的| 欧美精品第一页| 一区二区三区四区在线播放| 成熟亚洲日本毛茸茸凸凹| 日韩欧美国产电影| 同产精品九九九| 在线看国产一区| 国产精品毛片a∨一区二区三区| 美女精品一区二区| 91.com视频| 亚洲成人在线网站| 在线国产亚洲欧美| 亚洲视频在线观看三级| 成人动漫一区二区| 中文幕一区二区三区久久蜜桃| 奇米精品一区二区三区四区| 欧美性xxxxxxxx| 亚洲国产婷婷综合在线精品| 色国产精品一区在线观看| 中文字幕乱码一区二区免费| 国产精品 日产精品 欧美精品| 久久午夜羞羞影院免费观看| 经典三级一区二区| 久久一区二区视频| 国产盗摄一区二区三区| 中文字幕欧美区| av毛片久久久久**hd| 亚洲欧美欧美一区二区三区| 91亚洲精品久久久蜜桃网站| 亚洲精品欧美激情| 欧美日韩国产首页在线观看| 日精品一区二区| 欧美v国产在线一区二区三区| 精品一区二区三区在线观看| 久久老女人爱爱| 成人av高清在线| 伊人性伊人情综合网| 欧美日韩性生活| 九九久久精品视频| 国产农村妇女毛片精品久久麻豆 | 91小视频在线免费看| 一区二区不卡在线播放| 欧美日韩和欧美的一区二区| 免费成人美女在线观看| 精品国产凹凸成av人网站| 粉嫩一区二区三区性色av| 亚洲精品国产a久久久久久| 69成人精品免费视频| 国产精品一区一区三区| 亚洲另类色综合网站| 3d动漫精品啪啪一区二区竹菊| 精品一二线国产| 亚洲免费在线观看视频| 日韩视频在线你懂得| 成人av综合一区| 视频在线观看一区| 国产精品水嫩水嫩| 欧美美女视频在线观看| 国产盗摄精品一区二区三区在线| 亚洲人精品午夜| 久久综合九色综合97婷婷女人| 色综合久久中文综合久久牛| 久久国产夜色精品鲁鲁99| 亚洲天堂网中文字| 欧美精品一区二区久久久| 日本韩国欧美在线| 国产电影一区二区三区| 视频一区中文字幕| 亚洲人成精品久久久久久| 精品欧美一区二区久久 | 美国毛片一区二区三区| 中文字幕在线不卡| 亚洲精品在线观看网站| 欧美亚洲高清一区| 成人激情图片网| 麻豆一区二区三区| 亚洲二区视频在线| 国产精品免费视频一区| 久久一区二区视频| 日韩视频在线观看一区二区| 日本高清无吗v一区| 粉嫩嫩av羞羞动漫久久久| 久久91精品久久久久久秒播| 五月天丁香久久| 一区二区三区在线观看动漫| 亚洲欧美在线aaa| 国产午夜亚洲精品午夜鲁丝片| 欧美一级国产精品| 在线不卡的av| 欧美日韩电影一区| 欧美日韩久久一区二区| 91黄色免费看| www.视频一区| 不卡的看片网站| 国产999精品久久久久久| 国产乱子伦视频一区二区三区 | 国产精品女同一区二区三区| 精品久久久久久久久久久久久久久久久 | 亚洲男人都懂的| 亚洲婷婷综合色高清在线| 国产精品成人午夜| 国产精品久久午夜夜伦鲁鲁| 国产精品视频在线看| 亚洲欧美综合网| 一区二区三区在线观看国产| 亚洲一区二区三区在线播放 | 欧美日韩中文国产| 欧美男男青年gay1069videost| 欧美一级高清片| 欧美一级高清片| 精品国产免费视频| 久久久国产精品不卡| 国产精品人妖ts系列视频| 国产精品久久福利| 亚洲在线观看免费视频| 天堂蜜桃一区二区三区| 久久成人av少妇免费| 丁香婷婷综合网| 欧日韩精品视频| 日韩手机在线导航| 中文字幕av不卡| 一区二区三区四区五区视频在线观看 | 亚洲日本一区二区三区| 亚洲成人中文在线| 精品一区二区久久| 不卡在线观看av| 欧美日韩一区二区欧美激情| 日韩视频中午一区| 中文字幕一区二区三区色视频| 亚洲尤物视频在线| 国产一区二区在线影院| 色综合咪咪久久| 欧美精品一区二区久久婷婷| 椎名由奈av一区二区三区| 日韩成人dvd| 91麻豆精品视频| 日韩你懂的在线播放| ...中文天堂在线一区| 美日韩一区二区三区| 成人ar影院免费观看视频| 91精品在线观看入口| 国产精品久久久久aaaa樱花| 日韩av电影天堂| 91麻豆6部合集magnet| 久久久久久久电影| 午夜久久久影院| 99久久亚洲一区二区三区青草| 91精品国产色综合久久不卡电影 |