D3D9 视频帧倾斜部分代码如下://设置顶点位置信息m_nVertex[0].position CUSTOMVERTEX::Position(-2.0f,
D3D9 视频帧倾斜
部分代码如下:
//设置顶点位置信息
m_nVertex[0].position = CUSTOMVERTEX::Position(-2.0f, -2.0f, 8.0f);//左下
m_nVertex[1].position = CUSTOMVERTEX::Position(-2.0f, 2.0f, 8.0f);//左上
m_nVertex[2].position = CUSTOMVERTEX::Position(2.0f, -2.0f, 8.0f);//右下
m_nVertex[3].position = CUSTOMVERTEX::Position(2.0f, 2.0f, 8.0f);//右上
//设置顶点坐标
m_nVertex[0].tu = 0.0f;m_nVertex[0].tv = 1.0f;// 左下
m_nVertex[1].tu = 0.0f;m_nVertex[1].tv = 0.0f;// 左上
m_nVertex[2].tu = 1.0f;m_nVertex[2].tv = 1.0f;// 右下
m_nVertex[3].tu = 1.0f;m_nVertex[3].tv = 0.0f;// 右上
//设置变换矩阵
D3DXMATRIXA16 matWorld, matView, matProj;
D3DXMATRIX matTranslation;
D3DXMATRIX matScale;
D3DXMatrixIdentity(&matWorld);
D3DXMatrixTranslation(&matTranslation, 0.0f, 0.0f, 0.0f);
D3DXMatrixScaling(&matScale, 1.0f, 1.0f, 1.0f);
D3DXMatrixMultiply(&matWorld, &matTranslation, &matScale);
m_pDevice->SetTransform( D3DTS_WORLD, &matWorld );
D3DXMatrixIdentity( &matView );
D3DXVECTOR3 vEyePt (0.0f, 0.0f, 0.0f);
D3DXVECTOR3 vLookatPt(0.0f, 0.0f, 2.0f);
D3DXVECTOR3 vUpVec (0.0f, 1.0f, 0.0f);
D3DXMatrixLookAtLH(&matView, &vEyePt, &vLookatPt, &vUpVec);
m_pDevice->SetTransform(D3DTS_VIEW, &matView);
D3DXMatrixPerspectiveFovLH(&matProj, SCENE_FOV_Y, 1.0f/1.0f, 0.1f, 10.0f);
hr = m_pDevice->SetTransform(D3DTS_PROJECTION, &matProj);
PixelShader我只是做了普通的输入输出,没做任何改变。
于是,我得到了一坨屎,视频帧斜了,上下也颠倒了。小弟初学D3D,不知道是哪里的问题,还望赐教。
另:SCENE_FOV_Y = 2 * atan( 0.5/2.0 );
分不多了,大神们就可怜可怜我吧。
[解决办法]因为渲染代码错误,很可能是流设得不对。上代码看看。
[解决办法]索引呢??