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

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

?? d3dutil.cpp

?? 傳奇3客戶端源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
    mat._23 =  sinf( fRads );
    mat._32 = -sinf( fRads );
    mat._33 =  cosf( fRads );
}




//-----------------------------------------------------------------------------
// Name: D3DUtil_SetRotateYMatrix()
// Desc: Create Rotation matrix about Y axis
//-----------------------------------------------------------------------------
VOID D3DUtil_SetRotateYMatrix( D3DMATRIX& mat, FLOAT fRads )
{
    D3DUtil_SetIdentityMatrix( mat );
    mat._11 =  cosf( fRads );
    mat._13 = -sinf( fRads );
    mat._31 =  sinf( fRads );
    mat._33 =  cosf( fRads );
}




//-----------------------------------------------------------------------------
// Name: D3DUtil_SetRotateZMatrix()
// Desc: Create Rotation matrix about Z axis
//-----------------------------------------------------------------------------
VOID D3DUtil_SetRotateZMatrix( D3DMATRIX& mat, FLOAT fRads )
{
    D3DUtil_SetIdentityMatrix( mat );
    mat._11  =  cosf( fRads );
    mat._12  =  sinf( fRads );
    mat._21  = -sinf( fRads );
    mat._22  =  cosf( fRads );
}




//-----------------------------------------------------------------------------
// Name: D3DUtil_SetRotationMatrix
// Desc: Create a Rotation matrix about vector direction
//-----------------------------------------------------------------------------
VOID D3DUtil_SetRotationMatrix( D3DMATRIX& mat, D3DVECTOR& vDir, FLOAT fRads )
{
    FLOAT     fCos = cosf( fRads );
    FLOAT     fSin = sinf( fRads );
    D3DVECTOR v    = Normalize( vDir );

    mat._11 = ( v.x * v.x ) * ( 1.0f - fCos ) + fCos;
    mat._12 = ( v.x * v.y ) * ( 1.0f - fCos ) - (v.z * fSin);
    mat._13 = ( v.x * v.z ) * ( 1.0f - fCos ) + (v.y * fSin);

    mat._21 = ( v.y * v.x ) * ( 1.0f - fCos ) + (v.z * fSin);
    mat._22 = ( v.y * v.y ) * ( 1.0f - fCos ) + fCos ;
    mat._23 = ( v.y * v.z ) * ( 1.0f - fCos ) - (v.x * fSin);

    mat._31 = ( v.z * v.x ) * ( 1.0f - fCos ) - (v.y * fSin);
    mat._32 = ( v.z * v.y ) * ( 1.0f - fCos ) + (v.x * fSin);
    mat._33 = ( v.z * v.z ) * ( 1.0f - fCos ) + fCos;

    mat._14 = mat._24 = mat._34 = 0.0f;
    mat._41 = mat._42 = mat._43 = 0.0f;
    mat._44 = 1.0f;
}




//-----------------------------------------------------------------------------
// Name: _DbgOut()
// Desc: Outputs a message to the debug stream
//-----------------------------------------------------------------------------
HRESULT _DbgOut( TCHAR* strFile, DWORD dwLine, HRESULT hr, TCHAR* strMsg )
{
    TCHAR buffer[256];
    wsprintf( buffer, _T("%s(%ld): "), strFile, dwLine );
    OutputDebugString( buffer );
    OutputDebugString( strMsg );

    if( hr )
    {
        wsprintf( buffer, _T("(hr=%08lx)\n"), hr );
        OutputDebugString( buffer );
    }

    OutputDebugString( _T("\n") );

    return hr;
}











/******************************************************************************************************************

	竊薦疙 : SetBlendRenderState()

	累己磊 : 
	累己老 : 

	格利   : 坊歹傅膠拋撈飄甫 悸潑茄促.
	澇仿   : LPDIRECT3DDEVICE7 pd3dDevice
	         BYTE bBlendFlag
	         D3DMATERIAL7 mtrlGetMtrl
	免仿   : void 

	[老磊][薦瀝磊] : 薦瀝郴儈

*******************************************************************************************************************/
void SetBlendRenderState(LPDIRECT3DDEVICE7 pd3dDevice, BYTE bBlendFlag, D3DMATERIAL7 mtrlGetMtrl)
{
	pd3dDevice->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, TRUE);
	pd3dDevice->SetRenderState(D3DRENDERSTATE_COLORKEYENABLE, TRUE);

	switch ( bBlendFlag ) 
	{
	case 0:
		if ( mtrlGetMtrl.diffuse.a < 1.0f || mtrlGetMtrl.emissive.a < 1.0f ) 
		{
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

			pd3dDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE);
			pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCALPHA);
		}
		else
		{
			pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCALPHA);
		}
		break;
	case 1:
		pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ONE);
		break;
	case 2:
		pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCCOLOR);
		break;
	case 3:
		if( mtrlGetMtrl.diffuse.a < 1.0f || mtrlGetMtrl.emissive.a < 1.0f )
		{
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

			pd3dDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE);
			pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCALPHA);
		} 
		else 
		{
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE);
			pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

			pd3dDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_INVSRCALPHA);
			pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ZERO);
		}
		break;
	case 4:
		pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
		pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE|D3DTA_COMPLEMENT);
		pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1);
		pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVDESTCOLOR);
		break;
	case 5:
		pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE|D3DTA_COMPLEMENT);
		pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1);
		pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE | D3DTA_COMPLEMENT);
		pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVDESTCOLOR);
		break;
	}
}



/******************************************************************************************************************

	竊薦疙 : ResetBlendenderState()

	累己磊 : 
	累己老 : 

	格利   : 坊歹傅膠拋撈飄甫 扁夯惑怕肺 汗備茄促.
	澇仿   : LPDIRECT3DDEVICE7 pd3dDevice
	免仿   : void 

	[老磊][薦瀝磊] : 薦瀝郴儈

*******************************************************************************************************************/
void ResetBlendenderState(LPDIRECT3DDEVICE7 pd3dDevice)
{
	pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
	pd3dDevice->SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);
	pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
	pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
	pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_SELECTARG1);
	pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

	pd3dDevice->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, FALSE);
	pd3dDevice->SetRenderState(D3DRENDERSTATE_COLORKEYENABLE, FALSE);
	pd3dDevice->SetRenderState(D3DRENDERSTATE_SRCBLEND , D3DBLEND_ONE);
	pd3dDevice->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ZERO);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产一区二区三区四区| 欧美日本一区二区| 精品一区二区三区香蕉蜜桃 | 国产精品私房写真福利视频| 精品久久久久久久久久久久久久久久久 | 亚洲天堂成人在线观看| 亚洲男同性视频| 亚洲综合在线电影| 性做久久久久久免费观看| 亚洲综合一区二区三区| 亚洲国产毛片aaaaa无费看| 视频在线在亚洲| 黄色小说综合网站| 99久久精品一区| 91黄色免费网站| 欧美高清精品3d| 久久久久久99精品| 中文字幕色av一区二区三区| 亚洲免费在线观看视频| 午夜国产精品一区| 久久精品国产99| proumb性欧美在线观看| 欧美精品免费视频| 久久久99精品免费观看不卡| 亚洲女厕所小便bbb| 日韩精品国产精品| 成人va在线观看| 欧美理论在线播放| 国产欧美一区二区精品婷婷| 亚洲另类一区二区| 国产一区二区视频在线| 色婷婷综合久久| www国产成人免费观看视频 深夜成人网| 国产精品久久久久久妇女6080 | 国产成人精品影视| 色爱区综合激月婷婷| 日韩欧美一二三四区| 国产精品视频一二三区| 天天综合天天综合色| 国产成人av资源| 在线电影院国产精品| 国产精品久久久久久福利一牛影视 | 不卡电影免费在线播放一区| 欧美日韩你懂的| 国产精品久久久一本精品| 免费看黄色91| 欧美性大战久久久久久久蜜臀 | 日韩专区在线视频| 99re视频这里只有精品| 6080国产精品一区二区| 亚洲色欲色欲www| 国产中文字幕一区| 日韩午夜激情av| 一区二区三区在线观看视频| 不卡一区中文字幕| 国产网红主播福利一区二区| 人人超碰91尤物精品国产| 欧美专区日韩专区| 亚洲欧美在线高清| 国产成人免费视频网站高清观看视频| 欧美精品tushy高清| 亚洲国产精品久久不卡毛片| 99久久精品国产一区二区三区| 久久亚洲影视婷婷| 国内成+人亚洲+欧美+综合在线 | 中文字幕日韩欧美一区二区三区| 国产一区日韩二区欧美三区| 在线播放国产精品二区一二区四区| 亚洲欧美日韩精品久久久久| 高清av一区二区| 国产精品久久久久一区| 国产 欧美在线| 欧美国产日韩在线观看| 国产精品中文字幕日韩精品 | 成人国产精品视频| 国产精品国产精品国产专区不片| 国产精品一卡二| 久久久久久99精品| 99久久综合国产精品| 亚洲欧洲国产日韩| 91麻豆国产香蕉久久精品| 国产精品福利在线播放| 成人黄色国产精品网站大全在线免费观看 | 99久久婷婷国产综合精品| 国产精品国产馆在线真实露脸| 不卡一卡二卡三乱码免费网站| 亚洲三级免费电影| 在线视频国产一区| 日韩专区一卡二卡| 久久综合色8888| 成人91在线观看| 亚洲国产日韩a在线播放性色| 欧美日韩午夜影院| 男人的j进女人的j一区| 国产亲近乱来精品视频| 91在线免费看| 日韩专区一卡二卡| 国产亚洲欧洲997久久综合 | 国产精品国产三级国产普通话蜜臀 | 日韩精品欧美精品| 久久综合色综合88| 一本一道波多野结衣一区二区| 亚洲bt欧美bt精品777| 精品国产百合女同互慰| 9色porny自拍视频一区二区| 亚洲国产日韩综合久久精品| 久久综合九色综合欧美就去吻| 97久久超碰国产精品电影| 蜜臀va亚洲va欧美va天堂| 国产精品久久久久aaaa樱花| 在线不卡欧美精品一区二区三区| 国产乱码精品一区二区三| 一区二区三区四区在线播放 | 色狠狠色狠狠综合| 狠狠狠色丁香婷婷综合激情| 亚洲精品成人悠悠色影视| 精品国产一区二区精华| 欧美无砖砖区免费| 国产精品一区二区黑丝| 亚洲成av人片www| 日韩理论片网站| 久久人人97超碰com| 欧美性大战久久久| 成年人网站91| 国产精品1区2区3区| 爽好久久久欧美精品| 亚洲欧美日韩在线| 亚洲精品一区二区三区香蕉| 欧美午夜宅男影院| 91麻豆精品视频| 成人av在线影院| 国产精一品亚洲二区在线视频| 午夜日韩在线观看| 亚洲精品免费看| 亚洲欧美国产三级| 亚洲视频网在线直播| 久久久久久夜精品精品免费| 欧美一区二区三区四区视频| 欧美性大战久久久久久久蜜臀| 99久久99久久久精品齐齐| 国产麻豆视频精品| 国产精品伊人色| 激情五月激情综合网| 精品一区免费av| 久久成人综合网| 久久激情五月婷婷| 免播放器亚洲一区| 美女视频网站久久| 精品一区二区三区视频 | 91在线国产观看| 成人av在线一区二区三区| 国产成a人亚洲精品| 成人黄页毛片网站| av中文一区二区三区| 91麻豆自制传媒国产之光| 91亚洲国产成人精品一区二区三| 99精品国产视频| 色综合久久九月婷婷色综合| 色88888久久久久久影院按摩| 91免费国产在线观看| 在线精品视频免费观看| 欧美视频一区二区在线观看| 欧美精品在线视频| 欧美tickling挠脚心丨vk| 久久久精品国产99久久精品芒果| 国产精品无遮挡| 一区二区三区电影在线播| 亚洲一区二区三区不卡国产欧美| 午夜精品久久久久| 韩国精品一区二区| 色综合激情五月| 欧美高清视频一二三区| 欧美精品一区二区不卡| 最新热久久免费视频| 亚洲第一福利一区| 国产精品18久久久久久久久久久久| 波多野结衣在线一区| 欧美丰满少妇xxxbbb| 久久亚洲影视婷婷| 亚洲一区在线播放| 久久99日本精品| 色天天综合色天天久久| 日韩亚洲欧美高清| 国产精品美女久久久久久久久久久 | 777色狠狠一区二区三区| 国产人妖乱国产精品人妖| 亚洲影视在线观看| 国产精品亚洲第一区在线暖暖韩国| 91一区二区在线| 久久亚洲综合色一区二区三区| 亚洲精品视频在线看| 精品一区二区三区在线观看| 972aa.com艺术欧美| 欧美r级在线观看| 亚洲国产综合在线| 成人激情视频网站| 久久久综合精品| 日本一不卡视频| 91丨porny丨户外露出| 国产视频一区二区在线观看|