|
我想读取一个纹理的一部分到另一个纹理中。我是这样理解的:
初始化时我先读取图片到纹理。
if( FAILED( hr = D3DUtil_CreateTexture( m_pd3dDevice, _T("1.JPG"),
&m_pTextures1 ) ) ) return hr;
if( FAILED( hr = D3DUtil_CreateTexture( m_pd3dDevice, _T("09B.JPG"), &m_pTextures2 ) ) ) return hr;
然后渲染时我在纹理1中设置脏矩形。
RECT *rc;
rc = new RECT();
rc->left = 100;
rc->top =100;
rc->right =500;
rc->bottom = 500;
m_pTextures->AddDirtyRect(rc);
m_pd3dDevice->UpdateTexture( m_pTextures2,m_pTextures1);
delete rc;
然后渲染到矩形块。
m_pd3dDevice->SetTexture( 0, m_pTextures1 );
m_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
但是我想改变的纹理1矩阵块并没有发生变化,还是显示出没有改变的纹理块。 |
|