Exemplo n.º 1
0
void CDrescher::GetViewMatrix(D3DMATRIX &view)const
{
	if (parent==NULL)return;
	D3DMATRIX m;
	const BOOLEAN lookback=game->KeyDown(DIK_B);
	switch(abs(BYTE(((CPlayer*)parent)->camera%2)))
	{
	case 0:	// Dachkamera
		D3DUtil_SetTranslateMatrix(view,-pos.x,-pos.y,-pos.z);

		if (1==2)
		{	//  Mähdrescher gemäß Steigung kippen
			D3DUtil_SetRotateYMatrix(m,-beta);
			D3DMath_MatrixMultiply(view,view,m);

			D3DUtil_SetRotateXMatrix(m,-alpha);
			D3DMath_MatrixMultiply(view,view,m);

			D3DUtil_SetRotateYMatrix(m,beta);
			D3DMath_MatrixMultiply(view,view,m);
		}

		D3DUtil_SetTranslateMatrix(m,0,lookback?-2.2f:-2.8f,0);
		D3DMath_MatrixMultiply(view,view,m);

		D3DUtil_SetRotateYMatrix(m,-ang.y);
		D3DMath_MatrixMultiply(view,view,m);
		D3DUtil_SetTranslateMatrix(m,0,0,lookback?0.7f:2.5f);
		D3DMath_MatrixMultiply(view,view,m);

		D3DUtil_SetRotateXMatrix(m,(lookback?0.15f:-0.35f)-schaukelwinkel()*0.5f);
		D3DMath_MatrixMultiply(view,view,m);

		if (lookback)
		{
			D3DUtil_SetRotateYMatrix(m,g_PI);
			D3DMath_MatrixMultiply(view,view,m);
		}
		break;
	case 1:	// Von oben
		D3DUtil_SetTranslateMatrix(view,-pos.x,-pos.y-16.0f,-pos.z);
		D3DUtil_SetRotateYMatrix(m,-ang.y);
		D3DMath_MatrixMultiply(view,view,m);
		D3DUtil_SetTranslateMatrix(m,0,0,lookback?-5.0f:10.0f);
		D3DMath_MatrixMultiply(view,view,m);

		D3DUtil_SetRotateXMatrix(m,lookback?0.9f:-0.9f);
		D3DMath_MatrixMultiply(view,view,m);

		if (lookback)
		{
			D3DUtil_SetRotateYMatrix(m,g_PI);
			D3DMath_MatrixMultiply(view,view,m);
		}
		break;
	}
}
Exemplo n.º 2
0
void CDrescher::Draw(LPDIRECT3DDEVICE7 lpDevice)
{
	if (!box2->IsVisible())return;

	lpDevice->SetTexture(0,NULL);
	D3DMATRIX matrix,m;

	D3DUtil_SetTranslateMatrix(matrix,pos.x,pos.y+hoehe,pos.z);

	{	//  Mähdrescher gemäß Steigung kippen

		D3DUtil_SetRotateYMatrix(m,beta);
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetRotateXMatrix(m,alpha);
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetRotateYMatrix(m,-beta);
		D3DMath_MatrixMultiply(matrix,m,matrix);
	}
	
	
	D3DUtil_SetRotateYMatrix(m,ang.y);
	D3DMath_MatrixMultiply(matrix,m,matrix);


	if (schaukelphase>0.0f)
	{ // schaukeln
		const float mittelpunkt=2.0f;
		D3DUtil_SetTranslateMatrix(m,0,0,-mittelpunkt);
		D3DMath_MatrixMultiply(matrix,m,matrix);
		D3DUtil_SetRotateXMatrix(m,schaukelwinkel());
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetTranslateMatrix(m,0,0,mittelpunkt);
		D3DMath_MatrixMultiply(matrix,m,matrix);
	}

	lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD,&matrix);
	mesh1->Render(lpDevice,FALSE);

	// Rolle
	D3DUtil_SetRotateXMatrix(m,rolle);
	D3DMath_MatrixMultiply(matrix,m,matrix);
	lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD,&matrix);

	mesh2->Render(lpDevice,FALSE);
}
Exemplo n.º 3
0
const D3DVECTOR CDrescher::GetOutput()const
{
	D3DMATRIX m,matrix;
	D3DUtil_SetTranslateMatrix(matrix,pos);

	{	//  Mähdrescher gemäß Steigung kippen

		D3DUtil_SetRotateYMatrix(m,beta);
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetRotateXMatrix(m,alpha);
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetRotateYMatrix(m,-beta);
		D3DMath_MatrixMultiply(matrix,m,matrix);
	}
	
	
	D3DUtil_SetRotateYMatrix(m,ang.y);
	D3DMath_MatrixMultiply(matrix,m,matrix);

	D3DUtil_SetTranslateMatrix(m,D3DVECTOR(-1.48f,1.24f,-3.1f));
	D3DMath_MatrixMultiply(matrix,m,matrix);

	if (schaukelphase>0.0f)
	{ // schaukeln
		const float mittelpunkt=2.0f;
		D3DUtil_SetTranslateMatrix(m,0,0,-mittelpunkt);
		D3DMath_MatrixMultiply(matrix,m,matrix);
		D3DUtil_SetRotateXMatrix(m,schaukelwinkel());
		D3DMath_MatrixMultiply(matrix,m,matrix);

		D3DUtil_SetTranslateMatrix(m,0,0,mittelpunkt);
		D3DMath_MatrixMultiply(matrix,m,matrix);
	}

	D3DVECTOR v;
	D3DMath_VectorMatrixMultiply(v,D3DVECTOR(0,0,0),matrix);

	return v;
}
Exemplo n.º 4
0
HRESULT CImageHandler::DrawBillBoard(LPDIRECT3DDEVICE7 lpDevice, D3DVECTOR vTrans, D3DVECTOR vScale, /*D3DVECTOR vRot, */D3DMATERIAL7 mtrl, /*FLOAT fRotRad, */LPDIRECTDRAWSURFACE7 lpddsTextr)
{
	if ( lpDevice )
	{
		if( SUCCEEDED(lpDevice->BeginScene()) )
		{
			D3DMATRIX matTrans;
			D3DMATRIX matScale;
			D3DMATRIX matRot;

			D3DMATRIX matWorld;
			D3DMATRIX matTempWorld;

			D3DMATRIX matWorldOriginal;

			lpDevice->GetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

			vTrans.x = vTrans.x+vScale.x/2-400;
			vTrans.y = -vTrans.y-vScale.y/2+300;

			D3DUtil_SetTranslateMatrix(matTrans, vTrans);
			D3DUtil_SetScaleMatrix(matScale, vScale.x, vScale.y, vScale.z);
//			D3DUtil_SetRotationMatrix(matRot, vRot, fRotRad);
			D3DMath_MatrixMultiply(/*matTempWorld*/matWorld, matScale, matTrans);
//			D3DMath_MatrixMultiply(matWorld, matRot, matTempWorld);
			lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorld);

			SetBlendRenderState(lpDevice, _BLEND_NORMAL, mtrl);
			lpDevice->SetMaterial(&mtrl);

			lpDevice->SetTexture(0, lpddsTextr);

			lpDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP, D3DFVF_VERTEX, m_avBillBoard, 4, NULL);

			// 원상복귀.
			ZeroMemory(&mtrl, sizeof(mtrl));
			mtrl.diffuse.r = mtrl.diffuse.g = mtrl.diffuse.b = 0.1f;
			mtrl.ambient.r = mtrl.ambient.g = mtrl.ambient.b = 1.0f;
			lpDevice->SetMaterial(&mtrl);

			ResetBlendenderState(lpDevice);
			lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);
		}
		lpDevice->EndScene();
		return S_OK;
	}
	return E_FAIL;
}
Exemplo n.º 5
0
void CEi::Draw(LPDIRECT3DDEVICE7 lpDevice)
{
	if (!CBoundingTube::IsSphereVisible(pos,EGG_SIZE))return;
	D3DMATRIX m,m2;

	D3DUtil_SetTranslateMatrix(m,pos);
	D3DUtil_SetRotateYMatrix(m2,ang.y);
	D3DMath_MatrixMultiply(m,m2,m);
	D3DUtil_SetRotateXMatrix(m2,-ang.x+g_PI*0.5f);
	D3DMath_MatrixMultiply(m,m2,m);

	lpDevice->SetTexture(0,NULL);
	lpDevice->SetTransform(D3DTRANSFORMSTATE_WORLD,&m);

	lpMesh->Render(lpDevice,FALSE);
}
Exemplo n.º 6
0
VOID CLightFog::ShowLightFog(WORD wHalfScrnWidth, WORD wHalfScrnHeight)
{
	if ( g_xMainWnd.Get3DDevice() )
	{
		if( SUCCEEDED(g_xMainWnd.Get3DDevice()->BeginScene()) )
		{
			D3DVECTOR vTrans;
			D3DMATRIX matTrans;
			D3DMATRIX matWorldOriginal;

			g_xMainWnd.Get3DDevice()->GetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, TRUE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND,  D3DBLEND_ZERO);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_SRCCOLOR);
			
			vTrans.x = -wHalfScrnWidth; vTrans.y = wHalfScrnHeight; vTrans.z = 0;
			D3DUtil_SetTranslateMatrix(matTrans, vTrans);
			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matTrans);
			g_xMainWnd.Get3DDevice()->SetTexture(0, NULL);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_LIGHTING, FALSE);
			g_xMainWnd.Get3DDevice()->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,
														  D3DFVF_LVERTEX,
														  m_avLight, NUM_LIGHTTILE_VERTICES, 
														  m_pwLightIndices, NUM_LIGHTTILE_INDICES, NULL );
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_LIGHTING, TRUE);

			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND,  D3DBLEND_ONE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ZERO);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, FALSE);

			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

			g_xMainWnd.Get3DDevice()->EndScene();
		}
	}
}
Exemplo n.º 7
0
const D3DMATRIX CGolfer::BerechneSchlag()
{
	D3DMATRIX m,m2;
	if (parent==NULL)
	{
		D3DUtil_SetTranslateMatrix(m,pos.x,pos.y+0.035f,pos.z);

		return m;
	}

	CPlayer* p=(CPlayer*)parent;

	D3DUtil_SetTranslateMatrix(m,p->pos);
	D3DUtil_SetRotateYMatrix(m2,-p->ang.y);
	D3DMath_MatrixMultiply(m,m2,m);

	D3DUtil_SetRotateXMatrix(m2,-p->ang.x);
	D3DMath_MatrixMultiply(m,m2,m);

	D3DUtil_SetTranslateMatrix(m2,0.0f,-1.25f,0.2f);
	D3DMath_MatrixMultiply(m,m2,m);
  
	// Schläger um y-Achse drehen
	D3DUtil_SetRotateYMatrix(m2,-g_PI*0.5f-0.2f);
	D3DMath_MatrixMultiply(m,m2,m);

	// Privotpunkt auf Halter verschieben
	D3DUtil_SetTranslateMatrix(m2,0,1.2f,0);
	D3DMath_MatrixMultiply(m,m2,m);

	// Schlag schwenken
	float winkel=1.2f;
	if (schlag.phase!=0)
	{
		const float back=0.5f;
		const float front=1.1f;

		if (schlag.phase>0.8f)winkel=1.2f+(schlag.phase-1.0f)*5.0f*back;else
		if (schlag.phase>0.5f)winkel=1.2f-back;else
		if (schlag.phase>0.3f)winkel=1.2f-back-(schlag.phase-0.5f)*5.0f*(front+back);else
			winkel=1.2f+front-(0.3f-schlag.phase)/0.3f*(front);
	}

	D3DUtil_SetRotateZMatrix(m2,winkel);
	D3DMath_MatrixMultiply(m,m2,m);

	// Nach hinten kippen
	D3DUtil_SetRotateXMatrix(m2,0.45f);
	D3DMath_MatrixMultiply(m,m2,m);

	// Privotpunkt zurücksetzen
	D3DUtil_SetTranslateMatrix(m2,0,-1.2f,0);
	D3DMath_MatrixMultiply(m,m2,m);

	pos.x=m.m[3][0];
	pos.y=m.m[3][1];
	pos.z=m.m[3][2];

	box->SetPos(pos);

	return m;
}
Exemplo n.º 8
0
VOID CSelectSrv::Draw3DBorder(RECT rcWnd,COLORREF dwColor,INT nAlpha)
{
	if ( g_xMainWnd.Get3DDevice() )
	{
		D3DVECTOR vTrans;
		D3DMATRIX matTrans;
		D3DMATRIX matScale;
		D3DMATRIX matWorld;
		D3DMATRIX matView;
		D3DMATRIX matProj;
		D3DMATRIX matWorldOriginal;
		D3DMATERIAL7 mtrl;
		if( SUCCEEDED(g_xMainWnd.Get3DDevice()->BeginScene()))
		{
			g_xMainWnd.Get3DDevice()->GetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

			ZeroMemory(&matView, sizeof(D3DMATRIX));
		 	D3DVECTOR vEyePt    = D3DVECTOR(0, 0, -(float)((g_xMainWnd.m_rcWindow.bottom - g_xMainWnd.m_rcWindow.top)/2));
			D3DVECTOR vLookatPt = D3DVECTOR(0, 0, 0);
			D3DVECTOR vUpVec    = D3DVECTOR(0, 1, 0);

			D3DUtil_SetViewMatrix(matView, vEyePt, vLookatPt, vUpVec);		
			D3DUtil_SetProjectionMatrix(matProj, g_PI/2, float(240.0f/320.0f), -1.0f, 1.0f);

			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_VIEW,       &matView);
			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_PROJECTION, &matProj);

			vTrans.x = (FLOAT)rcWnd.left - 320.0f + (rcWnd.right  - rcWnd.left)/2;
			vTrans.y = (FLOAT)-rcWnd.top + 240.0f - (rcWnd.bottom - rcWnd.top )/2;
			vTrans.z = 0;

			D3DUtil_SetTranslateMatrix(matTrans, vTrans);
			D3DUtil_SetScaleMatrix(matScale, (FLOAT)(rcWnd.right - rcWnd.left), (FLOAT)(rcWnd.bottom - rcWnd.top), 0.0f);
			D3DMath_MatrixMultiply(matWorld, matScale, matTrans);
			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorld);

			// 임시
			D3DUtil_InitMaterial(mtrl, 
								 (FLOAT)GetRValue(dwColor)/255.0f,
								 (FLOAT)GetGValue(dwColor)/255.0f, 
								 (FLOAT)GetBValue(dwColor)/255.0f);
			mtrl.diffuse.a = nAlpha/255.0f;					// alpha value

			g_xMainWnd.Get3DDevice()->SetMaterial(&mtrl);

			g_xMainWnd.Get3DDevice()->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, TRUE );
			g_xMainWnd.Get3DDevice()->SetRenderState( D3DRENDERSTATE_COLORKEYENABLE, TRUE);
			g_xMainWnd.Get3DDevice()->SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
			g_xMainWnd.Get3DDevice()->SetTextureStageState(0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE);
			g_xMainWnd.Get3DDevice()->SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);

			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND, D3DBLEND_ONE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_INVSRCALPHA);

			g_xMainWnd.Get3DDevice()->SetTexture(0, NULL);
			g_xMainWnd.Get3DDevice()->DrawPrimitive(D3DPT_TRIANGLESTRIP, D3DFVF_VERTEX, m_avBillBoard, 4, NULL);

			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, FALSE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_COLORKEYENABLE, FALSE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND , D3DBLEND_ONE);
			g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ZERO);
			g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

			g_xMainWnd.Get3DDevice()->EndScene();
		}
	}
}
Exemplo n.º 9
0
VOID CWater::ShowLightFog(BOOL bShowFog)
{
    if ( g_xMainWnd.Get3DDevice() )
    {
        if( SUCCEEDED(g_xMainWnd.Get3DDevice()->BeginScene()) )
        {
            D3DVECTOR vTrans;
            D3DMATRIX matTrans;
            D3DMATRIX matWorldOriginal;

            g_xMainWnd.Get3DDevice()->GetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

//			if ( bShowFog )
//				SetLightRadiusWithElipse(400, 242, 6, 6, 230, 230, 230);
//				SetLightRadiusWithElipse(400, 242, 1, 1, 230, 230, 230);
//				SetLightRadiusWithCircle(400, 242, 8, 230, 230, 230);
            /*				SetLightRadiusWithCircle(586, 248, 3, 230, 230, 230);
            				SetLightRadiusWithCircle(604, 248, 3, 230, 230, 230);
            *///				SetLightRadiusWithRing(400, 242, 7, 230, 230, 230, 8, 230, 230, 230);
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, TRUE);
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND,  D3DBLEND_ZERO);
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_SRCCOLOR);

            /*			BYTE bOpa = 255;
            			D3DMATERIAL7 mtrl;
            			D3DUtil_InitMaterial(mtrl,
            								 (FLOAT)255/255.0f,
            								 (FLOAT)255/255.0f,
            								 (FLOAT)255/255.0f);
            			mtrl.diffuse.a = (bOpa+1)/255.0f;
            			g_xMainWnd.Get3DDevice()->SetMaterial(&mtrl);
            			SetBlendRenderState(g_xMainWnd.Get3DDevice(), _BLEND_NORMAL, mtrl);
            */
            vTrans.x = -400;
            vTrans.y = 300;
            vTrans.z = 0;
            D3DUtil_SetTranslateMatrix(matTrans, vTrans);
            g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matTrans);
//			g_xMainWnd.Get3DDevice()->SetTexture(0, NULL);


            static int a = 0;
            static int b = 0;
            static float scrlcnt = 0.0f;
            if ( scrlcnt >= WATER_NUM_CNTX_LIGHTTILE )		scrlcnt = 0;
            a++;
            if ( a >= 1 )
            {
                for ( INT nCntY = 0; nCntY < (WATER_NUM_CNTY_LIGHTTILE+1); nCntY++ )
                {
                    FLOAT av = (FLOAT)((FLOAT)nCntY/(FLOAT)WATER_NUM_CNTY_LIGHTTILE);

                    for ( INT nCntX = 0; nCntX < (WATER_NUM_CNTX_LIGHTTILE+1); nCntX++ )
                    {
                        FLOAT au = (FLOAT)((FLOAT)nCntX/(FLOAT)WATER_NUM_CNTX_LIGHTTILE) + scrlcnt;
                        if ( au > 1 )							au = 1-au;
                        FLOAT az = m_avLight[nCntY][nCntX].z;
                        if ( b > 10 )
                        {
//							az = (FLOAT)GetRandomNum(0, 50);
                        }
                        FLOAT ax = /*(FLOAT)GetRandomNum(0, 10) + */(FLOAT)(WATER_TILE_START_XPOS+(nCntX*WATER_TILE_WIDTH));
                        FLOAT ay = /*(FLOAT)GetRandomNum(0, 1) + */(FLOAT)(-WATER_TILE_START_YPOS-(nCntY*WATER_TILE_HEIGHT));

//						if ( av > 1 )							av = 1-av;

                        m_avLight[nCntY][nCntX] = D3DLVERTEX(D3DVECTOR(ax, ay, az),
                                                             m_dwLightColor, RGB(0, 0, 0), au, av);
                    }
                }
                memcpy(m_avSaveLight, m_avLight, sizeof(D3DLVERTEX)*(WATER_NUM_CNTY_LIGHTTILE+1)*(WATER_NUM_CNTX_LIGHTTILE+1));
                a = 0;
            }
            scrlcnt += 0.0006f;
            if ( b > 10 )
            {
                b = 0;
            }
            b++;

            g_xMainWnd.Get3DDevice()->SetTexture(0, D3DTextr_GetSurface(m_szWater[m_bCurrTexIdx]));

            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_LIGHTING, FALSE);
            g_xMainWnd.Get3DDevice()->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,
                    D3DFVF_LVERTEX,
                    m_avLight, WATER_NUM_LIGHTTILE_VERTICES,
                    m_pwLightIndices, WATER_NUM_LIGHTTILE_INDICES, NULL );
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_LIGHTING, TRUE);

//			ResetBlendenderState(g_xMainWnd.Get3DDevice());
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_SRCBLEND,  D3DBLEND_ONE);
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_DESTBLEND, D3DBLEND_ZERO);
            g_xMainWnd.Get3DDevice()->SetRenderState(D3DRENDERSTATE_ALPHABLENDENABLE, FALSE);

            g_xMainWnd.Get3DDevice()->SetTransform(D3DTRANSFORMSTATE_WORLD, &matWorldOriginal);

            g_xMainWnd.Get3DDevice()->EndScene();
        }
    }
}