随笔分类 -  CG

SkyBox
摘要:对于SkyBox,首先得准备一张CubeMap,常规有三种方法: 方法1,画一个在远剪裁面上的矩形,然后根据NDC坐标反求World Space坐标,用这个坐标作为纹理坐标去采样CubeMap。 方法2,画一个Cube,直接把CubeMap纹理贴上去。 方法3, 画一个Sphere,直接把CubeMap纹理贴上去。 需要注意到是,三种方法都必需以通过将天空盒移动到相机位置而使相机总保持处在天空盒中心。方法2和方法3其实相同。 阅读全文
posted @ 2013-05-27 09:15 Just a Programer 阅读(1197) 评论(2) 推荐(0) 编辑
运动模糊(MotionBlur)
摘要:当人眼在观察快速运动的物体时,看到的物体是模糊的,这种现象就是运动模糊(MotionBlur)。 阅读全文
posted @ 2013-03-25 20:55 Just a Programer 阅读(3447) 评论(0) 推荐(0) 编辑
HDR高动态范围光照渲染
摘要:HDR是High-Dynamic Range的缩写,实时渲染中称之为高动态范围光照渲染,是一种表达超过了显示器所能表现的亮度范围的图像映射技术。 阅读全文
posted @ 2013-03-22 20:04 Just a Programer 阅读(3576) 评论(0) 推荐(0) 编辑
景深(Depth of Field)
摘要:所谓景深,就是当焦距对准某一点时,焦平面前后图像仍然清晰的范围。景深是摄影技术中的术语。它能决定是把背景模糊化来突出拍摄对象,还是拍出清晰的背景。我们经常能够看到拍摄花、昆虫等的照片中,将背景拍得很模糊(称之为小景深)。但是在拍摄纪念照或集体照,风景等的照片一般会把背景拍摄得和拍摄对象一样清晰(称之为大景深)。 阅读全文
posted @ 2013-03-22 09:47 Just a Programer 阅读(7163) 评论(0) 推荐(0) 编辑
SSAO
摘要:可参照gamedev上的这篇文章:http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/a-simple-and-practical-approach-to-ssao-r2753这篇是中文翻译:http://blog.csdn.net/xoyojank/article/details/5734537百度百科对AO和SSAO的介绍也不错:http://baike.baidu.com/view/3889497.htm 阅读全文
posted @ 2012-09-03 10:16 Just a Programer 阅读(329) 评论(0) 推荐(0) 编辑
Reconstructing Position From Depth
摘要:很多实时渲染算法中都需要用到从深度值中重建位置信息(Reconstructing position from depth),如SSAO,Deferred Shading等,其目的是用一个通道的数据重建三个通道的数据,节省宝贵的显存资源。 阅读全文
posted @ 2012-08-30 10:07 Just a Programer 阅读(462) 评论(0) 推荐(0) 编辑
Deferred Shading(延迟渲染)
摘要:1.Realtime lighting 常用方法 在游戏中的实时光照,一般有三种常用的办法, 1)Single-pass, multi-light(一遍渲染多个光源).For Each Object:Render object, apply all lighting in one shader.在Single-Pass光照方法中,所有光照运算都在一个shader中进行。但一个shader有指令数量的限制,所以这个技术只适用于光源数量较少的情况。在某些游戏中,只需要少量光源,例如室外白天场景,这就是个较好的选择。这个技术的缺点是不能支持光源数量较多的情况. 2)Multi-pass, mul.. 阅读全文
posted @ 2012-08-28 17:50 Just a Programer 阅读(2539) 评论(0) 推荐(0) 编辑
Shadow Mapping续
摘要: 本文简单介绍了Percentage-Closer Filtering Shadow Map、Perspective Shadow Maps、Light Space Perspective Shadow Maps、Parallel-Split Shadow Maps for Large-scale Virtual Environments、Variance Shadow Maps。 阅读全文
posted @ 2010-03-07 13:01 Just a Programer 阅读(3682) 评论(1) 推荐(2) 编辑
3D局部光照模型
摘要:对于光照模型,从算法理论基础而言,可分为两类,一类是基于物理理论的光照模型,另一种是基于经验的模型。从使用角度而言,可分为全局光照模型和局部光照模型,本文简单地介绍了几种最基础的经典局部光照模型:Lambert Phong Blinn-Phong 阅读全文
posted @ 2010-01-10 15:20 Just a Programer 阅读(6257) 评论(4) 推荐(2) 编辑
Bump Mapping综述
摘要:本文对Bump Mapping, Normal Mapping, Parallax Mapping, Parallax Occlusion Mapping作了介绍 阅读全文
posted @ 2009-11-22 15:35 Just a Programer 阅读(5666) 评论(2) 推荐(1) 编辑
如何由Height Map生成Normal Map
摘要:本文介绍了一种由HeightMap生成NormalMap的方法 阅读全文
posted @ 2009-11-01 22:02 Just a Programer 阅读(5353) 评论(0) 推荐(0) 编辑
3D中的切线空间简介
摘要:本文简单介绍了什么是切线空间,为什么需要切线空间,怎样计算切线空间。 阅读全文
posted @ 2009-10-25 16:54 Just a Programer 阅读(4660) 评论(8) 推荐(1) 编辑
纹理过滤模式中的Bilinear、Trilinear以及Anistropic Filtering
摘要: 本文介绍了什么是MipMap,什么是各向同性各向异性对纹理过滤模式进行了介绍,包括Nearest Point Sampling、Bilinear、Trilinear、Anisotropic Filtering,并对各纹理过滤模式性能进行了简单的比较。 阅读全文
posted @ 2009-10-18 11:58 Just a Programer 阅读(11377) 评论(5) 推荐(2) 编辑
一起学习Shadow mapping
摘要:Shadow Mapping是由Lance Williams于1978年在一篇名为"Casting curved shadows on curved surfaces"的文章中提出的,这篇文章是ShadowMap技术之根源。其实原理很简单,如果光源和目标点之间的连线没有任何物体阻挡的话,则目标点没有在阴影中;如果有物体遮挡,则目标点处在阴影中。而ShadowMap,就是一张记录了每个象素处用于比较遮挡关系信息的Texture. 产生这个ShadowTexture的方法很简单,以SpotLight为例,把3D Camera放到光源的位置,把DepthTest打开,渲染场景,在PixShader中把每个象素的深度信息或者光源和此象素的距离信息写到RenderTarget上,由于DepthTest是打开的,保证了最终写到RenderTarget上的均是物体上未处在阴影中的点的深度值,实质完全可以等效为最终的DepthBuffer。 得到这个ShowMap之后,如何最终生成阴影呢?在PixShader对每个pixel进行处理时,算出当前象素与灯当的距离Dc,与存在S 阅读全文
posted @ 2009-10-17 15:53 Just a Programer 阅读(5089) 评论(0) 推荐(5) 编辑