MSAA 的基本原理

Multi-sample Anti-Aliasing(MSAA)是DirectX内部集成的一种AA方法,类似于SSAA,它会在更细的精度上采样pixel,从而减少三角形边缘的锯齿。 MSAA的基本原理如下: 上图中,黑色方块代表了一个pixel,中间的圆点代表了这个pixel的中心,其余的...

2013-04-01 16:06:50

阅读数 8047

评论数 1

DX11中的constant buffer的padding原理

今天写了一些dx11的东西,有一个bug调了好长时间才抓到,总结下。 Constant Buffer是shader model 4.0以上的一个新的特性,主要的目的就是为了把离散的变量集中起来,从而提高传输数据的效率。 constanb buffer是需要做padding的,和cpu的paddin...

2013-03-23 22:34:50

阅读数 4005

评论数 2

把渲染器中加入了stereo vision算法

上周末突然好奇3d电影的成像原理,就研究了一下,发现和ray tracing里面的景深算法有些异曲同工之处。就自己实现了一下,分别实现了ray tracing和raster的版本。 最近也比较忙,也不打算详细描述stereo vision的算法细节了,实际并不复杂。 光线跟踪中,需要改变下光线...

2012-11-10 10:28:34

阅读数 3180

评论数 4

CEGUI事件处理流程简单分析

这段时间看了下CEGUI的代码,简单记录一些东西,防止以后想看的时候忘太多。这次就记录下CEGUI的事件处理流程吧。 CEGUI的事件处理是通过以下几个类来完成的,EventSet, Event , Connection ( BoundSlot ) , SubscriberSlot , Slot...

2012-05-21 10:55:35

阅读数 4089

评论数 0

Path tracing 实现

渲染器已经断断续续做了三个月的时间了,加了一些基本的功能。 这周加入了path tracing算法和OpenMP多线程支持。 贴几张图 Path tracing收敛速度实在是慢啊.... 还好OpenMP用起来比较简单,几行代码就可以把程序并行了。

2011-09-02 17:49:27

阅读数 6739

评论数 2

Uniform Grid , KD-Tree , BVH 性能比较

Ray tracing中,每条光线都需要和场景中所有的图元求交(这里我们假设所有的图元都是三角形)。Brute force的方法就是一点一点的遍历每个图元,然后找出与光线交点距离光线起始点最近的图元,当然这种方法的算法复杂度是O(N)的,对于少量的图元还可以,如果图元数量很多,光

2011-07-25 20:49:05

阅读数 6130

评论数 0

在离线渲染器中应用MERL BRDF

BRDF(Bidirectional Reflection Density Function),即入射光线的irradiance和出射光线的radiance的比值,在图形学中被用来描述物体的表面反射属性,BRDF的值一般来说由几个参数决定,入射光线的角度、出射光线的角度、光谱以及

2011-07-14 22:50:45

阅读数 4786

评论数 4

CUDA 交互式光线跟踪

由于最近工作比较繁忙,博客基本不怎么更新了…… 这次也不打算写点什么,只是把之前的code开源了,把链接帖在这里,有兴趣的朋友可以check out出来简单看看。 简单列出一些信息吧: 1. 这份代码实现有UI界面,可以进行简单的交互。UI部分是用MFC实现的。 2....

2011-06-03 21:25:00

阅读数 5597

评论数 8

Anti-Aliasing (SSAA , MSAA , MLAA , SRAA) 简介

前两天在浏览游民星空的时候,小编居然在文章中挂了一篇技术文章,是关于SRAA的。对于AA的了解很少,正好入职之前还有几天的空闲时间,所以就这个机会把AA的一些基本算法简单学习了一下,不过也只是学习到了一点皮毛而已。 本文将简单介绍四种反走样算法,他们分别是: SSAA: Super Sa...

2011-04-09 23:23:00

阅读数 21158

评论数 2

PCSS 简介

本文简单介绍一下Percentage Closer Soft Shadow的原理,由于本人对于这个东西理解很浅,所以有些想法可能是不成熟的。 谈到PCSS,首先我们要介绍一下PCF(Percentage Closer Filtering),最早在1987年就被人提出的一种过虑算法,当时作者的初...

2011-04-05 13:50:00

阅读数 11423

评论数 3

关于latex制作简历(Moderncv)中文不能复制的问题

本文不是一篇技术文章,只是昨天晚上闲着没事,突然想起来Moderncv简历模板的一个问题:中文无法复制。其实之前我一直没有意识到,直到HR告诉我需要换一个能复制中文的简历,当时因为着急,所以被迫换了个word的,效果非常糟糕。因为这个问题,这个模板很可能就不再实用了。但是由于这个是我见到过的最好的...

2011-03-20 13:47:00

阅读数 9572

评论数 1

PBRT学习笔记: 颜色在离线渲染中的表示方法

本文简单总结下PBRT中的第五章的前半部分,是关于光谱的一些内容。这部分的内容相对而言比较独立,不受其他模块的制约。 计算机是一个有限的资源,我们的显示器同样是只能表示有限的信息量。举个简单的例子,对于一个普通的LCD 22寸的显示器而言,假设分辨率是1650*1080,而每个pixel只能...

2011-03-18 15:56:00

阅读数 3672

评论数 0

AMD显卡中的Hyber-Z的工作原理

本文简单总结了Emil Persson的文章Depth in Depth的一些内容,基本上是关于光栅化管线中的Z compare部分的一些工作原理以及优化方法。由于文章很早了,所以最新的硬件可能会有一些更好的特性,但是这些理解这些基本内容还是有一定好处的。 光线跟踪中,三角形的剔除是通过找到...

2011-03-17 21:19:00

阅读数 3167

评论数 0

PBRT学习笔记:在单位圆内部均匀采样

在一个单位圆内部均匀采样,即在单位圆内部随机取一个采样点,而每个采样点被取到的概率都是1/Pi。这个问题看似非常简单,但是可能要比想象中复杂一点。这里的采样我们从canonical uniform variable开始,即我们只能够生成从0到1的随机数,而其分布是均匀分布的。 首先,最容易想到...

2011-03-05 18:52:00

阅读数 7332

评论数 4

PBRT学习笔记:利用Monte Carlo算法模拟积分

Monte Carlo算法经常会被用来进行定积分的运算。在光线跟踪中,经常会有一些不定积分的运算,由于引入了场景、光源等诸多因素,这些积分很难通过分析模型计算出积分的结果。从而这些积分的运算必须通过其他的方式进行,而Monte Carlo算法刚好可以解决其中的诸多渲染积分,从而被广泛应用到光线跟踪...

2011-02-27 20:30:00

阅读数 7240

评论数 0

PBRT学习笔记: KD树的一点优化技巧

KD树作为光线跟踪的加速结构,一直以来是光线跟踪中的一个研究热点。一个高效的KD树对于光线跟踪算法具有非常重要的意义。本文简单总结下PBRT中的KD树的一些有价值相关内容。首先,我们看一下PBRT中的KD树的一些重要内容,然后会解释其中的一部分内容: 1. 该KD树是基于SAH模型的。KD树...

2011-02-02 16:00:00

阅读数 8138

评论数 2

PBRT学习笔记:光线跟踪中的景深算法

景深是人眼视觉系统中的一种自然现象。同样,相机里面也有景深的效果,这是由于相机的成像光圈的半径是有一定大小的,从而导致了成相平面中的某些点可以‘看到’镜头外面的一部分场景,而这些场景的共同作用,导致了一种模糊现象。 景深的效果在计算机图形学中被应用广泛,电影,游戏里面经常会利用景深特效来强调...

2011-01-23 13:27:00

阅读数 7714

评论数 2

PBRT书刚刚入手

下面是在淘宝淘到的一本PBRT第二版,等了五天终于盼到了,发个图庆祝一下。 网上有PBRT第一版的手稿pdf,之前一直用ipad读那个版本的书,不过因为太累眼睛,所以就打算买了这本了,还是有很大区别的。 首先,这个版本比网上下载到的第一版手稿好很多,解释问题也更清晰。之前看那个pdf,光谱...

2011-01-22 02:23:00

阅读数 10738

评论数 1

编译luxrender源代码

又有快小半年没有更新我的博客了,这次记录下我编译LuxRender的过程吧,这东西基本上是我至今为止编译过的最麻烦的东西。这篇博文里面介绍了编译LuxRender的最基本过程,在windows下进行编译。由于LuxRender用了多个三方库,所以本文会涉及到boost、freeimage、open...

2010-08-04 11:57:00

阅读数 5674

评论数 0

实例化的基本原理

引言:      最近刚好有个项目要用到这个技术,就学习了下DXSDK的Sample里面的Instancing10。      实例化的技术是利用多个顶点缓冲区有效的合并,减少Draw Call的次数,从而有效的提高程序的性能。实例化比较适合于相同物体的重复渲染,例如粒子系统,草被模拟等等。   ...

2009-12-21 14:27:00

阅读数 4968

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭