|
我想在我的以D3D为框架的程序中播放一段AVI视频,我参照DirectShow中的一个名为Texture3D9的例子先在初始化函数里加上
LPDIRECT3DDEVICE9->CreateVertexBuffer
LPDIRECT3DVERTEXBUFFER9->Lock
。。。
LPDIRECT3DVERTEXBUFFER9->Unlock
还加上了Texture3D9例子中的InitDShowTextureRenderer()
在每帧都执行的render函数中加上
LPDIRECT3DDEVICE9->SetTexture( 0, LPDIRECT3DTEXTURE9 );
LPDIRECT3DDEVICE9->SetStreamSource( 0,LPDIRECT3DVERTEXBUFFER9, 0, sizeof(CUSTOMVERTEX) );
LPDIRECT3DDEVICE9->SetVertexShader( NULL );
LPDIRECT3DDEVICE9->SetFVF( D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1);
LPDIRECT3DDEVICE9->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 100-2 );
但在程序执行后,看不到LPDIRECT3DTEXTURE9这个纹理,我想问题应该在
LPDIRECT3DDEVICE9->SetTexture( 0, LPDIRECT3DTEXTURE9 )或LPDIRECT3DDEVICE9->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 100-2 )这两个地方
请了解directshow的朋友帮帮我,多谢多谢!
我可以把工程发给您!
|
|