10 2009 档案

摘要:还是通过我们的Perlin Noise1. 创建4个纹理,大小分别为256,256,256,2562. 创建一个临时纹理,大小为32.3. 向临时纹理中添加随机数,并将其压缩到0-255范围内(相对于D3DFMT_A8R8G8B8格式)4. 分别使用1步中创建的纹理作为RenderTarget,将3中的纹理渲染到一个大小和RenderTarget相等的矩形上,注意纹理坐标每次在上一次的基础上乘以2... 阅读全文
posted @ 2009-10-28 16:04 ttthinks 阅读(557) 评论(0) 推荐(0)
摘要:常用数学符号【转】 大写 小写 英文注音国际音标注音 中文注音Α α alpha alfa 阿耳法Β β beta beta 贝塔Γ γ gamma gamma 伽马Δ δ deta delta 德耳塔Ε ε epsilon epsilon 艾普西隆Ζ ζ zeta ... 阅读全文
posted @ 2009-10-24 17:15 ttthinks 阅读(682) 评论(0) 推荐(0)
摘要:又做了一个,用的RenderMonkey,为了省事,今下午加上了两个Gerstner Wave,我晕,直接用RenderMonkey写,没有保存,突然程序死了一下,我把它关了,再打开居然又发现回到了没加Gerstner Wave之前的状态,也不知道自动保存一下。准备到时用DX把程序完善一下,而且现在也没有加折射效果。/Files/ttthink/WaterRenderMonkey.rar 阅读全文
posted @ 2009-10-22 17:25 ttthinks 阅读(525) 评论(0) 推荐(0)
摘要:做了个水面,纪念一下,感觉效果不行,不太和谐。看着不太顺眼,不过毕竟是做出来的第一个水面效果,还是贴上来,纪念一下 另外用RenderMonkey写了个渲染反射和水深颜色的Shader.终于开始有点像水了,待会儿加几个水面渲染小结Gerstner Wave看看会咋样 阅读全文
posted @ 2009-10-20 18:08 ttthinks 阅读(667) 评论(1) 推荐(1)
摘要:工具->外部工具->添加(随便输入名字)。命令为C:\Program Files\Microsoft DirectX SDK (August 2009)\Utilities\bin\x86\fxc.exe。就是你的fxc.exe的地址。在参数里输入$(ItemPath) /Od /Zi /T fx_2_0 /LD /Fo 后面的一串其实就是fxc.exe里命令。同样方法适用CG编译器。... 阅读全文
posted @ 2009-10-20 10:32 ttthinks 阅读(2999) 评论(0) 推荐(0)
摘要:DXUT编程指南. 收藏 DXUT设计指南 DXUT是一个建立在Direct3D API之上的,被大部分Direct3D指南和例子所使用的层。 它的目标是创建Direct3D例子、原型、工具,更容易的建立坚固、专业的游戏。 · DXUT概观 · 初始化DXUT · ... 阅读全文
posted @ 2009-10-19 19:57 ttthinks 阅读(2613) 评论(1) 推荐(0)
摘要:意思我就不解释了,主要是最亮值和最暗值的比,屏幕有个极限,那就是0~255.这个范围太小了,不足以模拟一下环境,对于大于1的像素来说,会被直接夹到1.这意味着细节的丢失,12和20的值都变成了1,那么这不叫丢失么,因此,最主要的问题为将高动态范围HDR映射至低动态范围LDR.我们使用的是Tone Mapping。要使用ToneMapping,又要得到屏幕的平均亮度。因此问题变成了计算平均亮度。  ... 阅读全文
posted @ 2009-10-16 16:42 ttthinks 阅读(3252) 评论(0) 推荐(0)
摘要:累死我了 阅读全文
posted @ 2009-10-16 13:25 ttthinks 阅读(705) 评论(0) 推荐(0)
摘要:纹理坐标采样,看似简单,其实则不然,特别是DX9中的像素纹素对应,这对纹理的精确操作带来非常大的困难,至少对我来说,今天记录下刚才分析出的一些结论。  首先我们引入1个一维图片1x8它的维度是1x8的,我们首先绘制一个1x8的矩形。我们要把它精确对应到像素怎么办呢,答案是将矩形的位置左移-0.5个单位,这样做导致了什么样的结果呢?因为我们的纹理坐标是采用的像素点的坐标。原先的像素点也是矩形的顶点是... 阅读全文
posted @ 2009-10-13 16:35 ttthinks 阅读(1868) 评论(0) 推荐(0)
摘要:javascript:WebForm_DoPostBackWithOptions(new%20WebForm_PostBackOptions("Editor$Edit$lkbPost",%20"",%20true,%20"",%20"",%20false,%20true)) 阅读全文
posted @ 2009-10-09 20:01 ttthinks 阅读(1305) 评论(0) 推荐(0)
摘要:多视口渲染主要是改变了视口矩阵,一般我们的Shader程序没有直接处理这个视口矩阵,注意多视口渲染的顺序void Render(){  Clear()  GetViewport()保存原视口  BeginScene();  SetViewport(1);  DrawObject();  EndScene();   BeginScene();   SetViewport(2);   DrawObje... 阅读全文
posted @ 2009-10-08 22:16 ttthinks 阅读(1758) 评论(0) 推荐(0)
摘要:按照那篇英文文档的方法,实现了一边软阴影,做出来的还是有点问题,可能主要是集中在那个PCF上,使用的取周围像素阴影平均值的方法,但是很明显,周围的点的深度和当前点的深度并不一样,而我们比较的阴影值仍然是使用的当前点的深度,因此会出现误差,这个误差我是自己调的,但是这样不好。然后我们再把阴影图片用Gussian Filter 进行使用两个一维卷积模糊一下,这样可以消除些锯齿,但是仍然不能完全消除,至... 阅读全文
posted @ 2009-10-07 11:48 ttthinks 阅读(2066) 评论(1) 推荐(0)
摘要:关于RenderTarget,其实包括图像渲染缓冲和深度缓冲,你可以只设置图像缓冲,忽略深度缓冲,那么这时候深度缓冲将使用原先的深度缓冲,也就是使用D3DPRESENT_PARAMETERS指定的深度缓冲,渲染完毕之后再将深度缓冲置1.这里有个问题,也就是深度缓冲的大小问题,深度缓冲的尺寸必须比你自己指定的RenderTarget相等,或者更大,因为每个像素都要做深度测试,深度缓冲尺寸太小就不能够... 阅读全文
posted @ 2009-10-03 15:38 ttthinks 阅读(1437) 评论(0) 推荐(0)
摘要:KILLZONE 2 显示技术详解【上】KILLZONE 2 显示技术详解【下】 人们开始摸索着如何抛弃现有的 Forward Rendering 而使用其他技术。作为其中一个方法,就是最近开始流行起来的 延迟着色( Deferred Shading )技术。 延迟渲染是什么——重度渲染的优化手段之一 在欧美有着巨大人气的 FPS 游戏 KILLZONE 系列,作为开发小组... 阅读全文
posted @ 2009-10-02 18:49 ttthinks 阅读(1176) 评论(0) 推荐(0)
摘要:前几天看到一本《DirectX特效开发》的书,翻了几页发现了关于一些Perlin Noise和云纹理的生成。自己做了一下,搞到现在终于弄出个比较像Perlin Noise的噪音图。  Perlin Noise主要目标是生成一个比较平滑的随机数,如果是纹理图,那么U,V方向的各个纹素应该较为平滑,不能太过剧烈的变化。  频率:波长的倒数,这里是指距上一次随机点多远取一个随机数。也就是两个随机数之间的... 阅读全文
posted @ 2009-10-02 13:40 ttthinks 阅读(2067) 评论(0) 推荐(0)
摘要:Perlin Noise and Turbulence Written by Paul Bourke January 2000 Introduction It is not uncommon in computer graphics and modelling to want to use a random function to make imagery or geometry appear ... 阅读全文
posted @ 2009-10-02 12:03 ttthinks 阅读(926) 评论(0) 推荐(0)