基于DX11高斯模糊(Gaussian Blur DX11)

上传者: magr_lemon | 上传时间: 2021-09-12 13:36:29 | 文件大小: 26.13MB | 文件类型: 7Z
双通道直接卷积在当今的实时图形中是最常用的高斯滤波方法,但是当在大内核上运行时,它会变得很耗时,因为每个像素的成本随内核大小的线性增加而增加。许多应用程序在过滤前对输入图像进行采样,以降低性能。为了解决这一问题,在过去,我们提出了几种过滤宽度独立算法,其中大部分涉及频域转换1、递归计算4或重复集成5,直到最近引入的GPU通用计算才能够方便地在传统的GPU流水线上实现。在这三种技术中,重复集成通常被认为是直观和有效的。 在这个代码示例中,我们演示了如何通过使用计算着色器进行重复集成来执行高斯过滤。该算法基于以下简单事实:在输入数据上反复应用一个框式过滤器(平均过滤器),将快速近似高斯滤波的结果,而盒滤波可以通过扫描操作进行处理,从而使每个像素的成本独立于内核大小。作为传统的双通道卷积方法,我们还采用了一个垂直和水平的传递,在每一段中,每一列或一排像素首先被取到共享内存中,然后反复使用一个方框过滤器,最后将其写入到全局内存中。 在本文的其余部分中,我们将解释算法的细节,然后使用计算着色器和组共享内存来描述实现。

文件下载

资源详情

[{"title":"( 97 个子文件 26.13MB ) 基于DX11高斯模糊(Gaussian Blur DX11)","children":[{"title":"GaussianBlur","children":[{"title":"Lib","children":[{"title":"D3DX11Effects.lib <span style='color:#111;'> 12.67MB </span>","children":null,"spread":false},{"title":"Effects11.pdb <span style='color:#111;'> 2.51MB </span>","children":null,"spread":false},{"title":"D3DX11EffectsD.lib <span style='color:#111;'> 7.57MB </span>","children":null,"spread":false}],"spread":true},{"title":"Common","children":[{"title":"Effects11","children":[{"title":".vs","children":[{"title":"Effects11_2008","children":[{"title":"v14","children":[{"title":".suo <span style='color:#111;'> 27.00KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"D3DXCore","children":[{"title":"d3dx11dbg.cpp <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"d3dxGlobal.cpp <span style='color:#111;'> 7.55KB </span>","children":null,"spread":false},{"title":"pchcore.h <span style='color:#111;'> 515B </span>","children":null,"spread":false}],"spread":true},{"title":"Effects11_2008.sln <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false},{"title":"EffectLoad.cpp <span style='color:#111;'> 168.37KB </span>","children":null,"spread":false},{"title":"pchfx.h <span style='color:#111;'> 999B </span>","children":null,"spread":false},{"title":"Effects11_2008.vcproj.magi-PC.Administrator.user <span style='color:#111;'> 2.51KB </span>","children":null,"spread":false},{"title":"Effects11_2008.vcxproj <span style='color:#111;'> 9.27KB </span>","children":null,"spread":false},{"title":"Binary","children":[{"title":"EffectStates11.h <span style='color:#111;'> 20.58KB </span>","children":null,"spread":false},{"title":"SOParser.h <span style='color:#111;'> 8.55KB </span>","children":null,"spread":false},{"title":"EffectBinaryFormat.h <span style='color:#111;'> 21.69KB </span>","children":null,"spread":false},{"title":"EffectStateBase11.h <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false}],"spread":true},{"title":"Effects11_2008.vcproj <span style='color:#111;'> 7.19KB </span>","children":null,"spread":false},{"title":"EffectVariable.inl <span style='color:#111;'> 163.71KB </span>","children":null,"spread":false},{"title":"EffectNonRuntime.cpp <span style='color:#111;'> 102.03KB </span>","children":null,"spread":false},{"title":"EffectRuntime.cpp <span style='color:#111;'> 24.78KB </span>","children":null,"spread":false},{"title":"Effects11_2008.ncb <span style='color:#111;'> 9.18MB </span>","children":null,"spread":false},{"title":"Effects11_2008.suo <span style='color:#111;'> 8.50KB </span>","children":null,"spread":false},{"title":"Effects11_2008.vcxproj.filters <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"EffectReflection.cpp <span style='color:#111;'> 62.25KB </span>","children":null,"spread":false},{"title":"Inc","children":[{"title":"d3dxglobal.h <span style='color:#111;'> 34.87KB </span>","children":null,"spread":false},{"title":"d3dx11dbg.h <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false},{"title":"d3dx11effect.h <span style='color:#111;'> 80.67KB </span>","children":null,"spread":false}],"spread":false},{"title":"Backup","children":[{"title":"Effects11_2008.sln <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false}],"spread":false},{"title":"Effects11_2008.VC.db <span style='color:#111;'> 34.71MB </span>","children":null,"spread":false},{"title":"UpgradeLog.htm <span style='color:#111;'> 51.09KB </span>","children":null,"spread":false},{"title":"Effects11_2008.vcxproj.user <span style='color:#111;'> 165B </span>","children":null,"spread":false},{"title":"Effect.h <span style='color:#111;'> 44.62KB </span>","children":null,"spread":false},{"title":"EffectAPI.cpp <span style='color:#111;'> 938B </span>","children":null,"spread":false},{"title":"EffectLoad.h <span style='color:#111;'> 6.63KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":".git","children":[{"title":"hooks","children":[{"title":"pre-push.sample <span style='color:#111;'> 1.32KB </span>","children":null,"spread":false},{"title":"prepare-commit-msg.sample <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false},{"title":"applypatch-msg.sample <span style='color:#111;'> 452B </span>","children":null,"spread":false},{"title":"pre-commit.sample <span style='color:#111;'> 1.60KB </span>","children":null,"spread":false},{"title":"pre-applypatch.sample <span style='color:#111;'> 398B </span>","children":null,"spread":false},{"title":"commit-msg.sample <span style='color:#111;'> 896B </span>","children":null,"spread":false},{"title":"pre-rebase.sample <span style='color:#111;'> 4.83KB </span>","children":null,"spread":false},{"title":"update.sample <span style='color:#111;'> 3.53KB </span>","children":null,"spread":false},{"title":"post-update.sample <span style='color:#111;'> 189B </span>","children":null,"spread":false}],"spread":true},{"title":"config <span style='color:#111;'> 217B </span>","children":null,"spread":false},{"title":"description <span style='color:#111;'> 73B </span>","children":null,"spread":false},{"title":"refs","children":[{"title":"tags","children":null,"spread":false},{"title":"heads","children":null,"spread":false}],"spread":true},{"title":"objects","children":[{"title":"4b","children":[{"title":"825dc642cb6eb9a060e54bf8d69288fbee4904 <span style='color:#111;'> 15B </span>","children":null,"spread":false}],"spread":true},{"title":"info","children":null,"spread":false},{"title":"pack","children":null,"spread":false}],"spread":true},{"title":"info","children":[{"title":"exclude <span style='color:#111;'> 240B </span>","children":null,"spread":false}],"spread":true},{"title":"HEAD <span style='color:#111;'> 23B </span>","children":null,"spread":false}],"spread":true},{"title":"shader","children":[{"title":"blur_vs.fx <span style='color:#111;'> 4.12KB </span>","children":null,"spread":false},{"title":"GaussianBlur","children":[{"title":"skybox11.hlsl <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"Media","children":[{"title":"GaussianBlur","children":[{"title":"snowcube1024.dds <span style='color:#111;'> 4.00MB </span>","children":null,"spread":false},{"title":"IMG_55415.dds <span style='color:#111;'> 102.52MB </span>","children":null,"spread":false},{"title":"NYC_dusk.dds <span style='color:#111;'> 4.00MB </span>","children":null,"spread":false},{"title":"20170112.dds <span style='color:#111;'> 44.14MB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"GaussianBlur","children":[{"title":".vs","children":[{"title":"GaussianBlur","children":[{"title":"v14","children":[{"title":".suo <span style='color:#111;'> 138.50KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"stdafx.cpp <span style='color:#111;'> 216B </span>","children":null,"spread":false},{"title":"small.ico <span style='color:#111;'> 45.14KB </span>","children":null,"spread":false},{"title":"gaussian_mono_cs.fx <span style='color:#111;'> 11.90KB </span>","children":null,"spread":false},{"title":"D3DSkyBox.cpp <span style='color:#111;'> 7.78KB </span>","children":null,"spread":false},{"title":"D3DInputs.h <span style='color:#111;'> 904B </span>","children":null,"spread":false},{"title":"Resource.h <span style='color:#111;'> 740B </span>","children":null,"spread":false},{"title":"D3DGaussianBlur.cpp <span style='color:#111;'> 21.07KB </span>","children":null,"spread":false},{"title":"stdafx.h <span style='color:#111;'> 1.38KB </span>","children":null,"spread":false},{"title":"D3DGaussianBlur.h <span style='color:#111;'> 2.35KB </span>","children":null,"spread":false},{"title":"skybox11.hlsl <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"Common.cpp <span style='color:#111;'> 6.94KB </span>","children":null,"spread":false},{"title":"gaussian_vs_ps.fx <span style='color:#111;'> 4.53KB </span>","children":null,"spread":false},{"title":"GaussianBlur.sln <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"platform.h <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false},{"title":"targetver.h <span style='color:#111;'> 240B </span>","children":null,"spread":false},{"title":"D3DApp.cpp <span style='color:#111;'> 13.07KB </span>","children":null,"spread":false},{"title":"D3DInputs.cpp <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"GaussianBlur.vcxproj <span style='color:#111;'> 11.08KB </span>","children":null,"spread":false},{"title":"gaussian_color_cs.fx <span style='color:#111;'> 12.67KB </span>","children":null,"spread":false},{"title":"VertexShader.hlsl <span style='color:#111;'> 219B </span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false},{"title":"GaussianBlur.vcxproj.filters <span style='color:#111;'> 4.04KB </span>","children":null,"spread":false},{"title":"Common.h <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"GaussianBlur.ico <span style='color:#111;'> 45.14KB </span>","children":null,"spread":false},{"title":"GaussianBlur.vcxproj.user <span style='color:#111;'> 165B </span>","children":null,"spread":false},{"title":"D3DApp.h <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false},{"title":"GaussianBlur.rc <span style='color:#111;'> 6.45KB </span>","children":null,"spread":false},{"title":"platform","children":[{"title":"AppUtil.cpp <span style='color:#111;'> 505B </span>","children":null,"spread":false},{"title":"RenderStates.h <span style='color:#111;'> 981B </span>","children":null,"spread":false},{"title":"RenderStates.cpp <span style='color:#111;'> 6.70KB </span>","children":null,"spread":false},{"title":"Timer.h <span style='color:#111;'> 808B </span>","children":null,"spread":false},{"title":"xnacollision.h <span style='color:#111;'> 9.08KB </span>","children":null,"spread":false},{"title":"D3DCamera.cpp <span style='color:#111;'> 2.85KB </span>","children":null,"spread":false},{"title":"GeometryGens.cpp <span style='color:#111;'> 13.87KB </span>","children":null,"spread":false},{"title":"D3DCamera.h <span style='color:#111;'> 2.24KB </span>","children":null,"spread":false},{"title":"AppUtil.h <span style='color:#111;'> 1.49KB </span>","children":null,"spread":false},{"title":"Timer.cpp <span style='color:#111;'> 1.97KB </span>","children":null,"spread":false},{"title":"GeometryGens.h <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false},{"title":"xnacollision.cpp <span style='color:#111;'> 145.16KB </span>","children":null,"spread":false},{"title":"Lights.h <span style='color:#111;'> 1.12KB </span>","children":null,"spread":false}],"spread":false},{"title":"ReadMe.txt <span style='color:#111;'> 2.26KB </span>","children":null,"spread":false},{"title":"D3DSkyBox.h <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明