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

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

?? multitexture.cpp

?? 3d 游戲編程入門教程之例子源碼--飛機繞茶壺
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		  }
		  else if (i = 120)
		  {
			i = 0;
		  }

		 i++;
		}

		/****************************************
		Blending the texture with material color
		*****************************************/
		if (m_bTex3 == TRUE)
		{

			// Set texture for the cube
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
	  	    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_ADD);
		}

		/*****************************************
		Darkmap blended with material color
		*****************************************/
		if (m_bTex4 == TRUE)
		{
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
		    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); 
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE); 
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);

	        // Set darkmap 
		    m_pd3dDevice->SetTexture(1, m_pEnvTexture); 
		    m_pd3dDevice->SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE); 
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
		}
		/*****************************************
		Glow Mapping
		******************************************/
		if (m_bTex5 == TRUE)
		{
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
		    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); 
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);

			// Set glow map 
			m_pd3dDevice->SetTexture(1, m_pEnvTexture); 
		    m_pd3dDevice->SetTextureStageState( 1, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE ); 
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT );
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADD);
		}

		/*****************************************
		Detail Mapping
		******************************************/
		if (m_bTex6 == TRUE)
		{
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
		    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); 
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
	
			// Set detail map 
			m_pd3dDevice->SetTexture(1, m_pDetailTexture); 
		    m_pd3dDevice->SetTextureStageState(1, D3DTSS_TEXCOORDINDEX, 0 );
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE ); 
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT );
			m_pd3dDevice->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_ADDSIGNED);
		}


		/*****************************************
		Modulate Alpha
		******************************************/
		if (m_bTex7 == TRUE)
		{
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE); 

			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_MODULATE);
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
			
		}

		/****************************************
		Blending with the frame buffer 
		*****************************************/
		if (m_bTex8 == TRUE)
		{
			m_pd3dDevice->SetRenderState (D3DRS_ALPHABLENDENABLE, TRUE);
			m_pd3dDevice->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCCOLOR);
			m_pd3dDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
			m_pd3dDevice->SetTexture( 0, m_pWallTexture); 
		}

		/***************************************
		Bilinear filtering
		***************************************/
/*		if (m_bFil1 == TRUE)
		{
			// bilineaer filtering
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_MINFILTER, D3DTEXF_LINEAR );
			m_pd3dDevice->SetTextureStageState( 0, D3DTSS_MAGFILTER, D3DTEXF_LINEAR );
		}
*/


		/***************************************
		Trilinear filtering
		***************************************/
		if (m_bFil1 == TRUE)
		{
		    m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR );
		}

		/***************************************
		Anisotropic filtering
		***************************************/
		if (m_bFil2 == TRUE)
		{
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_ANISOTROPIC);
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_ANISOTROPIC);
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_ANISOTROPIC);
			m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MAXANISOTROPY, 8);
		}
		
		// Display the object
		m_pd3dDevice->SetStreamSource(0, m_pCubeVB, 0, sizeof(CUBEVERTEX) );
		m_pd3dDevice->SetFVF( FVF_CUBEVERTEX );
        m_pd3dDevice->SetIndices( m_pCubeIB );
		m_pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 
											0,
											0, 
											24,  // number of vertices
                                            0, 
											36/3); // number of primitives
		if (m_bTex8 == TRUE)
		{
			// switch off alpha blending
			m_pd3dDevice->SetRenderState (D3DRS_ALPHABLENDENABLE, FALSE);
		}

        // Output statistics
        m_pFont->DrawText( 2,  0, D3DCOLOR_ARGB(255,255,255,0), m_strFrameStats );
        m_pFont->DrawText( 2, 20, D3DCOLOR_ARGB(255,255,255,0), m_strDeviceStats );
		// Draw help
		if( m_bDrawHelp )
		{
			m_pFontSmall->DrawText( 2, 40, 0xffaaffff,
                                _T("Keyboard controls:") );
			m_pFontSmall->DrawText( 20, 52, 0xffaaffff,
                                _T("Dark Mapping\n"
									"Animated Dark Mapping\n"
									"Blending with Material Diffuse Color\n"
									"Darkmap with Material Diffuse Color\n"
									"Glow Mapping\n"
									"Detail Mapping\n"
									"Modulate Alpha\n"
									"Blending with Frame Buffer\n\n"
									"Trilinear Filtering\n"
									"Anisotropic Filtering\n\n"
									"Clamp Addressing Mode\n"
									"Mirror Once\n"
									"Border Color\n\n"
                                    "Exit\n"
									"Toggle Menu") );
			m_pFontSmall->DrawText( 260, 52, 0xffaaffff,
                                _T("1\n"
									"2\n"
									"3\n"
									"4\n"
									"5\n"
									"6\n"
									"7\n"
									"8\n\n"
									"F5\n"
									"F6\n\n"
									"F9\n"
									"F11\n"
									"F12\n\n"
									"ESC\n"
									"F1"));
		}
		else
			m_pFontSmall->DrawText( 2, 40, 0xffffffff,
                                _T("Press F1 for help") );


      // End the scene.
      m_pd3dDevice->EndScene();
    }

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: InitDeviceObjects()
// Desc: Initialize scene objects.
//-----------------------------------------------------------------------------
HRESULT CMyD3DApplication::InitDeviceObjects()
{
    m_pFont->InitDeviceObjects( m_pd3dDevice );
    m_pFontSmall->InitDeviceObjects( m_pd3dDevice );

    // Load in textures
    if( FAILED( D3DUtil_CreateTexture(m_pd3dDevice, 
					_T("Lake.bmp"), &m_pBackgroundTexture)))
        return D3DAPPERR_MEDIANOTFOUND;
    
	if( FAILED( D3DUtil_CreateTexture(m_pd3dDevice, 
					_T("wall.bmp"), &m_pWallTexture)))
        return D3DAPPERR_MEDIANOTFOUND;
    
	if( FAILED( D3DUtil_CreateTexture(m_pd3dDevice, 
					_T("env0.bmp"), &m_pEnvTexture)))
        return D3DAPPERR_MEDIANOTFOUND;

    if( FAILED( D3DUtil_CreateTexture(m_pd3dDevice, 
					_T("detail.bmp"), &m_pDetailTexture)))
        return D3DAPPERR_MEDIANOTFOUND;

    // Generate the cube data
    CreateCube( m_pCubeVertices, m_pCubeIndices );

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: RestoreDeviceObjects()
// Desc: Initialize scene objects.
//-----------------------------------------------------------------------------
HRESULT CMyD3DApplication::RestoreDeviceObjects()
{
    m_pFont->RestoreDeviceObjects();
    m_pFontSmall->RestoreDeviceObjects();


    // Set the transform matrices
    D3DXVECTOR3 vEyePt    = D3DXVECTOR3( 0.0f, 0.0f, 5.0f );
    D3DXVECTOR3 vLookatPt = D3DXVECTOR3( 0.0f, 0.0f, 1.0f );
    D3DXVECTOR3 vUpVec    = D3DXVECTOR3( 0.0f, 1.0f, 0.0f );
    D3DXMATRIX  matView, matProj;
    
    D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
    FLOAT fAspect = m_d3dsdBackBuffer.Width / (FLOAT)m_d3dsdBackBuffer.Height;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, fAspect, 1.0f, 500.0f );
    
    m_pd3dDevice->SetTransform( D3DTS_VIEW,       &matView );
    m_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );

    // Material
    D3DMATERIAL9 Material;
    D3DUtil_InitMaterial( Material, 1.0f, 1.0f, 1.0f, 1.0f );
    m_pd3dDevice->SetMaterial( &Material );

	// fill the vertex buffer with the new data
    // Initialize to render a quad
    VERTEX Vertices[] =
    {
		{  0.0f, (float)m_d3dsdBackBuffer.Height, 0.5f, 1.0f, -0.5f, 1.5f, }, // x, y, z, rhw, tu, tv
		{  0.0f, 0.0f, 0.5f, 1.0f, -0.5f, -0.5f, },
		{  (float)m_d3dsdBackBuffer.Width, (float)m_d3dsdBackBuffer.Height, 0.5f, 1.0f, 1.5f,1.5f, },
		{  (float)m_d3dsdBackBuffer.Width, 0.0f, 0.5f, 1.0f, 1.5f,-0.5f, },
    };

	m_dwSizeofVertices = sizeof(Vertices);

	// sixth parameter is new in DX9
	// Create a square for rendering the background
    if( FAILED( m_pd3dDevice->CreateVertexBuffer( m_dwSizeofVertices,
                                                  D3DUSAGE_WRITEONLY, FVF,
                                                  D3DPOOL_MANAGED, &m_pVB, NULL ) ) )
        return E_FAIL;

    VERTEX* pVertices;
	// the third parameter changed from BYTE** to VOID** in DX9
    if( FAILED( m_pVB->Lock( 0, m_dwSizeofVertices, (VOID**)&pVertices, 0 ) ) )
        return E_FAIL;
    memcpy( pVertices, Vertices, m_dwSizeofVertices);
    m_pVB->Unlock();

	// 
	// vertex and index buffer for the cube
	//
	m_dwSizeofCubeVertices = sizeof(m_pCubeVertices);

    // Create the vertex buffer
    if( FAILED( m_pd3dDevice->CreateVertexBuffer( m_dwSizeofCubeVertices,
                                                  0, FVF_CUBEVERTEX,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品一区二区| 日本女优在线视频一区二区| 日韩欧美亚洲另类制服综合在线| 91捆绑美女网站| 国产成人免费网站| 国产成人a级片| 国产一区二区三区四区在线观看| 日本亚洲一区二区| 久色婷婷小香蕉久久| 蜜臀av一区二区三区| 久久99久久久欧美国产| 美腿丝袜亚洲三区| 国产尤物一区二区在线| 国产一区二区导航在线播放| 国产成人综合在线观看| www.亚洲免费av| 在线观看av一区| 欧美狂野另类xxxxoooo| 日韩精品中文字幕一区| 国产午夜一区二区三区| 中文字幕在线视频一区| 一区二区三区日韩在线观看| 天堂va蜜桃一区二区三区 | 国产亚洲va综合人人澡精品| 国产日韩欧美高清| 亚洲欧美经典视频| 日本不卡视频在线| 成人精品视频.| 欧美三级在线视频| 26uuu国产电影一区二区| 一区二区中文字幕在线| 亚洲国产精品久久久男人的天堂| 另类调教123区| 成人av在线资源网站| 欧美三日本三级三级在线播放| 欧美成人午夜电影| 亚洲丝袜精品丝袜在线| 日本人妖一区二区| 99精品欧美一区二区三区综合在线| 欧美性高清videossexo| 日本一区二区三区免费乱视频| 亚洲国产综合在线| 精品午夜一区二区三区在线观看| 91欧美一区二区| 精品国产三级a在线观看| 亚洲精品写真福利| 国内外成人在线视频| 91国偷自产一区二区开放时间 | 久久99在线观看| 91网站在线播放| 精品国偷自产国产一区| 亚洲二区在线视频| 成人天堂资源www在线| 日韩欧美的一区| 亚洲午夜私人影院| 97久久精品人人爽人人爽蜜臀| 日韩三级伦理片妻子的秘密按摩| 一区二区高清在线| 粉嫩av亚洲一区二区图片| 欧美一区二区三区视频在线| 亚洲欧洲制服丝袜| 成人av在线电影| wwwwww.欧美系列| 日本视频在线一区| 91精品福利在线| 综合久久给合久久狠狠狠97色| 毛片基地黄久久久久久天堂| 色一区在线观看| 亚洲三级免费观看| 不卡的av中国片| 国产精品无人区| 国产成人亚洲综合a∨婷婷| 日韩美女视频一区二区在线观看| 亚洲va欧美va天堂v国产综合| 色av成人天堂桃色av| 亚洲人一二三区| 在线免费精品视频| 亚洲va在线va天堂| 欧美精品一二三| 无吗不卡中文字幕| 欧美日韩一区二区欧美激情| 亚洲国产视频一区| 欧美三电影在线| 日韩电影在线免费| 欧美电影免费观看高清完整版| 理论电影国产精品| 国产日韩欧美精品一区| 成人动漫在线一区| 一区二区在线电影| 欧美日韩一区二区在线观看视频| 亚洲国产日韩精品| 欧美va在线播放| 国产精品亚洲专一区二区三区| 欧美国产一区二区在线观看| yourporn久久国产精品| 亚洲最大成人综合| 欧美一级欧美一级在线播放| 国产馆精品极品| 国产精品国产三级国产三级人妇| 91久久奴性调教| 青椒成人免费视频| 久久久久国产精品人| 不卡欧美aaaaa| 亚洲成人免费视| 久久日韩精品一区二区五区| 成人一二三区视频| 午夜激情一区二区三区| 久久久久久久久久久久电影| 99re视频这里只有精品| 日本欧美一区二区在线观看| 中文字幕巨乱亚洲| 91精品国模一区二区三区| 国产成人av影院| 亚洲国产日韩综合久久精品| 亚洲精品一区二区三区在线观看| www.在线成人| 激情亚洲综合在线| 亚洲午夜精品17c| 国产精品丝袜一区| 欧美大片免费久久精品三p| 东方aⅴ免费观看久久av| 午夜精彩视频在线观看不卡| 国产精品天美传媒沈樵| 欧美一区二区三区在线观看| 成人黄色小视频在线观看| 免费在线欧美视频| 亚洲激情一二三区| 国产精品乱码妇女bbbb| 日韩视频一区二区| 欧美在线观看一区二区| 波多野结衣中文一区| 狠狠狠色丁香婷婷综合激情| 五月婷婷久久丁香| 亚洲乱码中文字幕| 国产精品久久久一本精品| 精品国产青草久久久久福利| 这里是久久伊人| 欧美日韩高清影院| 欧美性色aⅴ视频一区日韩精品| 国内久久精品视频| 免费美女久久99| 日本女优在线视频一区二区| 亚洲成人1区2区| 亚洲女爱视频在线| 亚洲天堂精品在线观看| 久久久久久久久久久黄色| 精品国产髙清在线看国产毛片| 欧美日韩午夜影院| 欧美人xxxx| 欧美日韩国产天堂| 欧美日韩黄色一区二区| 欧美高清性hdvideosex| 欧美三级电影精品| 欧美精品乱码久久久久久按摩| 欧美天堂一区二区三区| 欧美女孩性生活视频| 欧美色综合影院| 欧美久久一二区| 91麻豆精品国产91| 精品欧美久久久| 精品国产乱码久久久久久久久| 欧美videofree性高清杂交| 久久久久久免费| 国产亚洲1区2区3区| 亚洲欧洲日韩在线| 亚洲精品乱码久久久久久黑人 | 日韩精品一区二区三区蜜臀| 欧美zozo另类异族| 欧美国产激情一区二区三区蜜月 | 91社区在线播放| 色偷偷久久人人79超碰人人澡| 91精品91久久久中77777| 欧美日韩你懂得| 精品电影一区二区| 国产精品久久久久9999吃药| 亚洲精品第1页| 男男成人高潮片免费网站| 国产精品一二三在| 日本韩国一区二区三区视频| 欧美久久久久中文字幕| 精品久久久网站| 中文字幕日韩一区| 视频一区在线播放| 国产精品888| 欧美自拍偷拍一区| 精品国产一区二区亚洲人成毛片 | 欧美不卡一区二区| 亚洲欧洲中文日韩久久av乱码| 五月激情综合色| 成人一区二区视频| 欧美日韩精品一区二区三区蜜桃| 精品91自产拍在线观看一区| 亚洲四区在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人久久久精品乱码一区二区三区| 在线观看中文字幕不卡| 26uuu精品一区二区| 亚洲专区一二三| 国产大陆亚洲精品国产| 欧美一区二区三区成人|