游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1639|回复: 5

DirectShow and D3D

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2007-4-19 19:42:00 | 显示全部楼层 |阅读模式
我想??一????蛞婚_始是????始????ヒ欢斡捌?影片播玩就??M入正式的???
我播影片的方式,是?⒖?indows SDK的DirectShow/VMR9/VMR9Allocator,因?槲蚁?⒂捌?ピ谝??polygon上,播放影片的程式是?]???的.
不?流程上出?了一?????,就是CreateDevice???纱?而且?纱蔚??刀际遣煌??
第一次是??纬霈F
D3DPRESENT_PARAMETERS d3dpp;
d3dpp.BackBufferWidth = width;
d3dpp.BackBufferHeight = height;
d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8;
d3dpp.BackBufferCount = 1;
d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
d3dpp.MultiSampleQuality = 0;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = hwnd;
d3dpp.Windowed = windowed;
d3dpp.EnableAutoDepthStencil = true;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
d3dpp.Flags = 0;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;

// Step 4: Create the device.

hr = d3d9->CreateDevice(
D3DADAPTER_DEFAULT, // primary adapter
deviceType, // device type
hwnd, // window associated with device
vp, // vertex processing
&d3dpp, // present parameters
device); // return created device

第二次是要播放影片的?r候
HRESULT hr;
    m_D3DDev = NULL;
    D3DDISPLAYMODE dm;

    hr = m_D3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &dm);
    D3DPRESENT_PARAMETERS pp;
    ZeroMemory(&pp, sizeof(pp));
    pp.Windowed = TRUE;
    pp.hDeviceWindow = m_window;
    pp.SwapEffect = D3DSWAPEFFECT_COPY;
    pp.BackBufferFormat = dm.Format;
//pp.Windowed=bWindow;//add
    FAIL_RET( m_D3D->CreateDevice( D3DADAPTER_DEFAULT,
     D3DDEVTYPE_HAL,
     m_window,
     D3DCREATE_SOFTWARE_VERTEXPROCESSING|
     D3DCREATE_MULTITHREADED,
     &pp,
     &m_D3DDev) );

?窗版的都很正常,全?幕版的?,影片有?r??ゲ怀??有?r又正常.
我以?槿??幕?r,第二次CreateDevice的??档???(pp.Windowed = TRUE;),可是我??RUE改成FALSE,
反而?成?]?面.
我的???是:
(1)一???窗,如果CreateDevice?纱蔚脑?,如何?Q定要用哪??Device去render?
(2)我的??蛄鞒?是否先建立一??Device???吾?使用者按下按?後,?上?放.再建立一??Device?聿ビ捌?播完影片後,再?放.再建立一??Device?正式的??蚴褂???方式是否是正?的,或是有其他的作法?  

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-20 13:21:00 | 显示全部楼层

Re:DirectShow and D3D

?

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2007-4-20 14:33:00 | 显示全部楼层

Re:DirectShow and D3D

不知道楼主想说啥.

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-4-20 15:08:00 | 显示全部楼层

Re:DirectShow and D3D

同上。。

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-21 10:38:00 | 显示全部楼层

Re:DirectShow and D3D

?

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2007-4-21 12:08:00 | 显示全部楼层

Re:DirectShow and D3D

Reset一下就可以了嘛,干嘛搞两个Device啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 17:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表