上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 33 下一页

2012年11月24日

OpenCL 学习step by step (11) 数组求和(reduction)

摘要: 本篇教程中,我们学习一下如何用opencl有效实现数组求和,也就是通常所说的reduction问题。 在程序中,我们设置workgroup size为256,kernel的输入、输出缓冲参数都用uint4的格式,这样我们原始求和的数组大小为256*4的倍数,数据类型为uint。我们设定每个workgroup处理处理512个uint4,即2048个uint 为了简便... 阅读全文

posted @ 2012-11-24 12:12 迈克老狼2012 阅读(6156) 评论(9) 推荐(0) 编辑

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(3)

摘要: 五 、EQAA/CSAA EQAA(enhanced quality AA)和CSAA(coverage sample AA)其实是同样的采样技术,EQAA是AMD的实现,CSAA是NV的实现,下面我以EQAA为例看看这两种AA的原理: 在MSAA中,每个采样都有一个sample color缓冲相对应,这样在AA数目比较大的时候,比如16XMSAA,对memory的需... 阅读全文

posted @ 2012-11-24 10:06 迈克老狼2012 阅读(4152) 评论(0) 推荐(0) 编辑

2012年11月22日

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(2)

摘要: 三、SSAA(super-sampling anti-aliasing) SSAA最初的思路是先上采样渲染图像,然后再下采样输出图像,比如我们要渲染输出一个256*256的图像,可以设置color buffer为512*512(4倍的SSAA),这个时候我们的ps需要执行512*512个thread,同时深度模版测试也要进行512*512次,最后把4倍的color buffer re... 阅读全文

posted @ 2012-11-22 20:24 迈克老狼2012 阅读(3686) 评论(3) 推荐(0) 编辑

D3D11中的硬件反锯齿 SSAA/MSAA/EQAA/CSAA(1)

摘要: 在篇日志中,我们学习一下在D3D11中,如何启用aa(反锯齿)功能,提高渲染质量,并了解一下硬件反锯齿的原理。首先我们先回顾一下采样和滤波的概念,然后了解在D3D11中,如何启用aa(anti-aliasing)功能,最后是SSAA/MSAA/EQAA/CSAA几种硬件aa的原理。 一、采样和滤波 采样(sampling)和filter(滤波)是信号处理中的概念。所谓sa... 阅读全文

posted @ 2012-11-22 20:08 迈克老狼2012 阅读(3247) 评论(1) 推荐(0) 编辑

2012年11月13日

DRAM 内存介绍(一)

摘要: 参考资料:http://www.anandtech.com/show/3851/everything-you-always-wanted-to-know-about-sdram-memory-but-were-afraid-to-ask SDRAM(Synchronous dynamic random access memory),同步动态随机访问内存,通常包括 SDR (Sin... 阅读全文

posted @ 2012-11-13 21:18 迈克老狼2012 阅读(14246) 评论(1) 推荐(1) 编辑

OpenCL 学习step by step (10) 矩阵转置

摘要: 本章学习一下在opencl中如何实现矩阵的转置,主要的技巧还是利用好local memory,防止bank conflit以及使得全局memory的读写尽量是合并(coalensing)读写。 我们的矩阵是一副二维灰度图像256*256,矩阵的转置也就是图像的转置。每个thread处理16(4*4)个pixel(uchar),workgroup的size是(16,16)。 ... 阅读全文

posted @ 2012-11-13 19:18 迈克老狼2012 阅读(3030) 评论(1) 推荐(0) 编辑

2012年10月28日

opengl 教程(6) 平移变换

摘要: 原帖地址:http://ogldev.atspace.co.uk/www/tutorial06/tutorial06.html 在这篇教程中,我们开始对三维物体进行位置变化操作,比如平移、旋转、缩放等等。物体位置变化的操作通常都是通过矩阵来实现的,每种变化用一个矩阵表示,如果一个物体进行多种位置操作,可以把它们对应的矩阵乘起来,最后再乘以顶点的坐标,这样就可以得到物体位置变化后的... 阅读全文

posted @ 2012-10-28 09:15 迈克老狼2012 阅读(4347) 评论(1) 推荐(0) 编辑

opengl 教程(5) shader(2) uniform变量

摘要: 原帖地址:http://ogldev.atspace.co.uk/www/tutorial05/tutorial05.html 在这篇教程中,我们将接触到一种新的shader变量uniform variables,这种变量和属性变量的区别:属性变量是指每个顶点shader调用时,都会根据属性的位置从顶点缓冲中装入该顶点的相应属性值,而uniform变量,则对每个dr... 阅读全文

posted @ 2012-10-28 07:23 迈克老狼2012 阅读(3025) 评论(0) 推荐(0) 编辑

2012年10月27日

opengl 教程(4) shader(1)

摘要: 原帖地址:http://ogldev.atspace.co.uk/www/tutorial04/tutorial04.html 本章开始学习shader的使用,以前大家常使用OpenGL固定管线来做一些程序,shader相对来说使用较少,而现代gpu编程,shader应用少不了,虽然使用shader编程,代码多一点,但是却更灵活。 OpenGL的shader管... 阅读全文

posted @ 2012-10-27 09:51 迈克老狼2012 阅读(11358) 评论(1) 推荐(1) 编辑

OpenCL 学习step by step (9) 灰度图Histogram计算(3)

摘要: 在OpenCL编程中,特别是基于GPU的opencl的编程,提高程序性能最主要的方法就是想法提高memory的利用率,它主要包括两方面的优化:一方面是提高global memory的合并读写效率,另一方面就是减少local memory的bank conflict。下面我们分析一下教程7中的代码,看看它的memory利用率如何? 首先我们用amd的opencl profil... 阅读全文

posted @ 2012-10-27 07:36 迈克老狼2012 阅读(2911) 评论(0) 推荐(0) 编辑

上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 33 下一页

导航