游戏开发论坛

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

在游戏中加入电影纹理问题

[复制链接]

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
发表于 2006-7-28 18:40:00 | 显示全部楼层 |阅读模式
那能看一下下面的代码:
procedure TAsphyreDevice.CreateDirectshow;
var
filterConfig:IVMRFilterConfig9;
VMRWindowlessControl:IVMRWindowlessControl;
begin
try
  FilterGraph:=CreateComobject(CLSID_FilterGraph) as IGraphBuilder;//创建FilterGraph
  VideoRender:=createcomobject(CLSID_VideoMixingRenderer9) as IBaseFilter;//创建VideoMixingRenderer9
  Filtergraph.AddFilter(VideoRender,'VideoRender');//将VideoMixingRenderer9加入到Filtergraph中
   VideoRender.QueryInterface(IID_IVMRFilterConfig9,FilterConfig);//获得IVMRFILTERCONFIG9接口
   FilterConfig.SetRenderingMode(VMR9Mode_Windowless);//设置窗口模式为WINDOWLESS
   VideoRender.QueryInterface(IID_IVMRWindowLessControl,VMRWindowlessControl);//得不到IVMRWINDOWLESSCONTROL接口
   if MediaPlayWindowHandle=0 THEN
   begin
   Messagebox(0,'Clip Window Can''t be 0','出错',MB_IConERROR or MB_OK);
   freedirectshow;
   exit;
   end;


  VMRWindowlessControl.SetVideoClippingWindow(MediaPlayWindowHandle);  //有问题!没有能得到IVMRWindowlessControl

finally
VMRWindowlessControl:=NIL;
FilterConfig:=nil;

end;
end;


3

主题

33

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2006-8-2 13:55:00 | 显示全部楼层

Re:在游戏中加入电影纹理问题

我也想学

21

主题

95

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2006-10-27 19:15:00 | 显示全部楼层

Re: 在游戏中加入电影纹理问题

你也许应该用下JEDI directX,这会让你有些头痛

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
 楼主| 发表于 2006-10-28 09:09:00 | 显示全部楼层

Re:在游戏中加入电影纹理问题

楼上兄弟,上面的代码我没有用到任何控件,用到的就是DirectX中的Directshow头文件的PAS形式。这个问题我已经解决了。

21

主题

95

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2006-10-29 02:33:00 | 显示全部楼层

Re: 在游戏中加入电影纹理问题

就是这样,你学来学去还是要回到directx,哈哈

32

主题

232

帖子

234

积分

中级会员

Rank: 3Rank: 3

积分
234
 楼主| 发表于 2006-10-30 09:09:00 | 显示全部楼层

Re:在游戏中加入电影纹理问题

我说过,我只是用Asphyre做框架!很多代码都是要自己写的,我已经把功能加入到Asphyre里面.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 18:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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