摘要:官网:http://developer.nvidia.com/node/76http://msdn.microsoft.com/en-us/library/ee663274(v=vs.85)http://www.computer.org/portal/web/computingnow/cgahttp://developer.amd.com/Pages/default.aspxhttp://www.spacesimulator.net/index.php?p=homehttp://downloads.akpeters.com/gpupro/http://www.beyond3d.com/http
阅读全文
摘要:http://archive3d.net/?page=25http://www.amazing3d.com/free/free.shtmlhttp://artist-3d.com/free_3d_models/http://www.gfx-3d-model.com/
阅读全文
摘要:To be able to fully debug shader programs you will need either a shader IDE like FXComposer or a GPU debugging tool like Nvidia Nsight. These are both complex tools and beyond the scope of a quick tutorial but what I can do if provide you a quick guide to aid you in writing shaders directly within V
阅读全文
摘要:接着上回随笔,这一次在局部光源的计算上做了些优化,包括光强度随距离衰弱的计算和将法向量加入到局部光源的计算中。视频地址:https://vimeo.com/42946031截图如下:下面的是局部光源的Light volumn图要精确计算局部光源,就必须获取当前物体的位置。这个可以通过将屏幕像素从投影坐标转换到视角坐标,再传入当前光源在视角坐标系中的位置,这样入射光线向量就有了。法向量可以从之前保持在贴图读取。两个向量作dot计算可以得出光照强度。同理,计算光源和物体位置的距离除以最大光照范围可以得到光强度衰减值(当前用的是简易的线性衰减)。此处点光源没有按精确的入射光来计算,原因是物体可能在光
阅读全文
摘要:忙碌了好几天终于把deffered lighting做出了个雏形。其实关键就是局部灯光范围的检测。这里我是通过depth fail test和读写stencil value 来实现的。以下是每一步的截图:这幅图是将场景物体的法向量渲染到第一个render target texture的RGB值这幅图是将场景物体的projection depth渲染到第一个render target texture的Alpha值这幅图是将场景物体的diffuse color渲染到第二个render target texture的RGB值,如果有specular color的话可以写到alpha值之后就开始利用之
阅读全文
摘要:今天按照shadow volumn阴影的检查方法对spot light和point light的灯光范围模型做了个测试。测试图片如下:(蓝色为场景中的物体,黄色表示场景中受灯光影响的部分,绿色为灯光模型)depth fail test 和 stencil test 是在GPU中执行的,首先渲染蓝色的盒子RenderScene,再渲染灯光模型CalRadium(disable write to depth buffer),最后再将模板值为1的部分添加上另一个颜色来突出受光照部分LitScene,代码如下: 1 SamplerState g_samWrap 2 { 3 Filter ...
阅读全文
摘要:在deferred shading中,对于局部光源,我们是需要建立一个它的光照范围的模型,然后再通过深度和模板检测来获取受光照影响的物体(类似shadow volumn中用到的方法)。以下是两个常用局部光源的模型:点光源模型的一个球体(也可以用cube或者square近似代替),spot light 是一个cone模型, 平行光模型可以用cube模型。需要注意的是所有模型都是封闭的。如果光源是动态产生的话,例如例子系统中粒子的光源,这些模型也可以在geometirc shader生成。以下是模型的截图:以下是程序代码:步骤主要分为两步(生成顶点位置,生成顶点的索引) 1 void CGeom.
阅读全文
摘要:参考shaderx2 中DOFvia Simulationof Circle of Confusion算法 or http://amdstaging.wpengine.com/wordpress/media/2012/10/Scheuermann_DepthOfField.pdf,引擎中增加了depth of field 功能模块。基本原理就是根据物体与聚焦平面的距离来设定模糊kernel的大小,对远离聚焦平面的物体做模糊处理。视频地址:http://my.ku6.com/watch?v=c-wjiz_TdM2S7MkC_MNwpw..#1.首先将场景中物体的颜色渲染到一个render tar
阅读全文
摘要:最近在学习DX10和HLSL4.0,在学习图形算法和做demo的同时也在构建一个自己的渲染引擎,并且试着融合一下设计模式方面的东西。首先展示的是简单的水面效果,视频地址:https://vimeo.com/42953251主要包含如下要素:sky dome, .obj 模型文件转化及导入,mesh grid (水面),海浪动画(multi sin wave), normal map, shadow mapping, reflection, refraction, fresnel effect。这只是初步实现,还有很多待改善,例如更真实的海浪模型,水下光的散射,水面的镜面反射(可以用specul
阅读全文