D3D动态纹理播放视频
来源:互联网 发布:嘉实红利优化股票基金 编辑:程序博客网 时间:2024/06/08 04:54
D3D动态纹理播放视频
动态纹理应用范围很广,比如在D3D或OpenGL中播放视频便是使用了这一技术。播放视频当然可以用VMR,但是VMR是老版的DXSDK中提供的一个模块,已经过时,而且VMR必须使用DirectShow,就目前看跨平台的ffmpeg多媒体框架等还是占领不少领域的,即便是微软也想用新的Media Foundation框架取代DirectShow。所以这里直接使用动态纹理实现播放视频。
首先要用多媒体框架搭建播放器,我们这里使用DirectShow搭建一个播放WMV文件的播放器。需要写一个用于播放的filter,它的任务是把WMV中解码后的的视频画面(一帧)写入一张动态纹理中。在D3D中会用这张纹理绘制出来,从而播放视频。我这里使用了D3D作为示例,当然使用OpenGL,以及OGRE等引擎也是如此。
下图所示为DShow的Filter Graph:
上图中的名叫Texture Renderer的filter便是写入动态纹理,给D3D渲染。
下面是D3D渲染结果:
我同时在一个立方体和一个矩形上播放视频。
应用在项目中,加入评分等功能:
- D3D动态纹理播放视频
- D3D纹理
- D3D纹理
- D3D下使用VMR9播放视频(2)
- 使用ffmpeg + d3d/gdi 播放视频
- 使用VMR9+D3D解码和播放视频
- d3d 图像处理模板(动态修改纹理)
- Unity3d 移动设备播放视频纹理
- vs2010MFC D3D播放YUV格式视频详细制作全过程
- vs2010MFC D3D播放YUV格式视频详细制作全过程
- 【D3D Review】4 纹理
- d3d纹理过滤
- D3D学习笔记:纹理
- D3D纹理基础
- D3D纹理混合方式
- D3D纹理混合
- D3D 纹理映射
- D3D加载纹理渲染
- 最简单的PHP socket echo server。
- ajax实现异步交互
- Ubuntu 64 位 搭建Eclipse+JDK+Android SDK+ADT环境
- Servlet生命周期与工作原理
- 【用户需求说明书】和【需求规格说明书】的区别
- D3D动态纹理播放视频
- AutoCAD二次开发之属性操作(3) 删除属性
- Ubuntu12.10下安装Eclipse
- ld: symbol(s) not found for architecture armv7s
- 冒泡排序
- oracle11g rac asm 实例内存修改
- 模板的初步学习
- 如何 把 maven工程 转换成 web3.0工程,用于 eclipse tomcat的调试
- 【修复】【兼容iOS7】cocos2d-x 2.04 图片加载 Error>: CGBitmapContextCreate