D3D新兵的第一篇

博主探讨了如何使用Direct3D(D3D)进行特殊视频播放的实现,目标是处理YUV420或422格式的3D影片,通过硬件加速提升效率。问题集中在如何放大图像并进行矩阵运算,以及如何将YUV三个纹理合并到一个纹理。D3D专家建议使用纹理放大并在像素着色器(PS SHADER)中处理,利用D3D的render to texture技术。
摘要由CSDN通过智能技术生成
 下面这段是在子鲲大侠的博客后面的请教留言,大概就是我未来一段时间要学习的东西了。
11楼 oldkey3天前 15:31发表 [回复] [引用][举报] [删除]
老大,再请教,谢了!
我的问题是这样:
我想做一个特殊的视频播放,其主要功能是先从文件里得到一个YUV420或422的图像帧,图像类似于那种左右格式的3D影片,我需要对每个部分进行处理,具体的就是把某部分放大到整屏尺寸,然后逐点处理,基本上是与一个已有的矩阵运算,最后再组合成一个完成图像显示出来。目前已经在ffmpeg+SDL下实现了,但速度比较慢。我想改用D3D实现,主要是想利用D3D硬件加速能力。
不知是否可行,请指导。谢谢!
我是新学D3D,还没入门。只是觉得应该可以。
我现在不确定的是:
1、是我必须把一小块图像放大到全图尺寸之后再进行别的运算,我不太知道,这个放大要在纹理里面实现,还是在别的地方实现。
2、如果前者必须在纹理里面进行,那我怎么才能把您说的YUV三个纹理,渲染到统一个纹理里面。

请指教,谢谢!
Re: dengzikun前天 10:31发表 [回复] [引用][举报]
回复oldkey:1. 可以通过纹理实现放大。
2.需要写一个PS SHADER,输入三个纹理,输出到一个纹理
中,D3D中有相关的render to texture技术。
Re: oldkey昨天 11:00发表 [回复] [引用][举报] [删除]
回复dengzikun:谢谢您!我更有信心了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值