
GPU Gems1
子胤
这个作者很懒,什么都没留下…
展开
-
GPU Gems1 - 1 用物理模型进行高效的水模拟(Effective Water Simulation from Physical Models)
该读书笔记大多内容参照了大神浅墨的该篇文章https://zhuanlan.zhihu.com/p/35974789本章介绍了一种在GPU中模拟和渲染大的水体的系统。它把基本网格的集合波动于动态发现贴图的生成结合起来。1.1 目标和范围这章里,我们将由计算简单正弦函数之和开始,逐步扩展到更复杂的函数如Gerstner波,也扩展到像素着色器。主要思路是使用周期波的加和,来创建动态的平铺(...原创 2019-04-01 14:45:28 · 947 阅读 · 0 评论 -
GPU Gems1 - 18 空间BRDF(Spatial BRDFs)
这章主要介绍了空间双向反射分布函数(SBRDF),接着文章讨论了压缩SBRDF表达式,以及由离散光或环境贴图所照明的SBRDF的渲染方法。关于BRDF请参考大佬浅墨的这篇文章https://blog.youkuaiyun.com/poem_qianmo/article/details/75943714SBRDF是纹理贴图和双向反射分布函数(BRDF)的组合。纹理贴图存储了反射或其他的属性,它们沿着2D表面...原创 2019-04-21 00:21:21 · 318 阅读 · 0 评论 -
GPU Gems1 - 23 景深技术综述
本章主要介绍如何使用GPU创建实时的景深(Depth of Field)效果。参考浅墨总结文章的链接https://zhuanlan.zhihu.com/p/36499291聚焦在枪上,背景模糊【核心要点】物体在距离镜头的一个范围之内能够清晰成像(经过聚焦),在那个范围之外(或近或远)则成像模糊,这种效果就是景深。在相机业和电影业中,景深经常用来指示对场景的注意范围,并且提供场...原创 2019-04-26 11:34:27 · 345 阅读 · 0 评论 -
GPU Gems1 - 16 次表面散射的实时近似(Real-Time Approximations to Subsurface Scattering)
这一章,浅墨这篇文章介绍的非常详细,我照扒一遍再稍加一些内容,增加记忆。https://zhuanlan.zhihu.com/p/36499291【章节概览】次表面散射(Subsurface Scattering),简称SSS,或3S,是光射入非金属材质后在内部发生散射,最后射出物体并进入视野中产生的现象,即光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程。原理...原创 2019-04-17 16:08:17 · 1509 阅读 · 0 评论 -
GPU Gems1 - 22 颜色控制(Color Controls)
这章将在游戏中图像处理的讨论,扩展到技术和艺术上控制颜色的方法和应用,包括将图像从一些的色彩空间中移入移出,以及快速地给任何2D或3D场景加上精美的色调。色彩校正(Color Correction)是几乎所有印刷和胶片成像应用的一部分。色彩校正可用于将彩色图像从一个色彩空间移动到另一个色彩空间。我们在电视、杂志和电影中剪刀的大部分图像,都经过了非常小心的彩色校正和控制。对于这个过程的理解,...原创 2019-04-26 13:54:15 · 416 阅读 · 0 评论 -
GPU Gems1 - 19 基于图像的光照(Image-Based Lighting)
这篇文章打破了当时立方体贴图环境(Cube-Map Environment)用法的桎梏,深入研究了更多可能的逼真光照效果。文章主要研究了基于图像的光照(Image-Based Lighting,IBL),包括局部化的立方体映射,类似于使用基于图像的局部光照(Localizing Image-Based Lighting),然后介绍了如何把哪些重要的技巧用于着色模型,包括逼真的反射、阴影和漫反射/环...原创 2019-04-23 11:13:40 · 1067 阅读 · 0 评论 -
GPU Gems1 - 20 纹理爆炸(Texture Bombing)
【章节概览】这章介绍了纹理爆炸(Texture Bombing)和相关的细胞技术,它们能在Shader中增加视觉的丰富性,图像的多样性,并减少大块纹理图案的重复性。【核心要点】纹理爆炸(Texture bombing)是一种程序化技术,它把小块图像以不规则的间隔放置。有助于减少团案的失真。纹理爆炸的基本思想是把UV空间分为规则的单元栅格。然后使用噪声或者伪随机函数,把一个图像放在任意位...原创 2019-04-23 14:17:11 · 924 阅读 · 0 评论 -
GPU Gems1 - 25 用纹理贴图进行快速过滤宽度的计算
这章介绍在片元shader中计算导数近似值的技术。这个技术把特别的值载入纹理mipmap的每个级别,以特殊的方式使用纹理映射硬件,计算出导数的结果,给出在屏幕上的像素间某个量的变化率。Cg标准程序库提供ddx和ddy函数,计算任意关于x和y像素的导数,但是有些硬件不支持这些导数的计算(至少在写这本书的时候),本文提供了一个解决方案,可以基于纹理映射功能解决这个问题。在程序纹理中需要特别注意...原创 2019-04-28 11:52:31 · 277 阅读 · 0 评论 -
GPU Gems1 - 24 高质量的过滤
在一些应用中,高质量的过滤是至关重要的,可以用像素shader代码执行任何过滤。GPU着色程序不用于CPU的主要之处在于:一般来说,CPU数学操作比纹理访问更快,而在GPU中恰恰相反。图像过滤的目的很简单:对于给你的输入图像A,我们想要创建新的图像B。把源图像A变换到目标图像B的操作就是图像滤波。最一般的变换是调整图像大小,锐化,变化颜色,模糊图像等。源像素的图案和它们对图像B像素的相对贡献,...原创 2019-04-28 14:32:04 · 255 阅读 · 0 评论 -
GPU Gems1 - 26 OpenEXR图像文件格式与HDR(The OpenEXR Image File Format and HDR)
【章节概览】这章中,大名鼎鼎的工业光魔公司的Florian Kainz、Rod Bogart和DrweHess介绍了OpenEXR标准,这是一种当时新的高动态范围图像(HDRI)格式,在计算机成像的顶级电影中正在快速推广。对于基于图像照明的开发者而言,OpenEXR是关键的工具。【核心要点】OpenEXR是由工业光魔( Industrial Light & Magic,ILM ...原创 2019-04-28 15:12:15 · 3828 阅读 · 0 评论 -
GPU Gems1 - 15 逐像素光照的可见性管理
这章讲到了可见性在逐像素渲染光照场景中的作用,也考虑如何使用可见性减少必须渲染的批次数量,从而改善性能。假设一个非常简单的场景,一个房间,因为房间的不同部位是不同的材质,所以将其分为8个batch,另外在房间中还有3个不同的模型,每个模型又分成两个batch,房间里还有3个光源。对于此场景,为了建立场景的深度值和应用环境或发射光照,必须将所有的batch渲染一次,即 8 + 3*2 = 1...原创 2019-04-16 17:02:57 · 393 阅读 · 0 评论 -
GPU Gems1 - 14 透视阴影贴图(Perspective Shadow Maps: Care and Feeding)
开篇先说,这文章好难懂啊,到现在也没完全弄明白,有大佬的话欢迎指点。这篇大体意思是对Perspective Shadow Maps进行部分优化。GEMS这书这点是真挺蛋疼,很多文章都是对某项技术的优化,那先介绍介绍原来技术嘛,我都不知道原来技术为啥有毛病(当然是咱自己菜鸡)上来就给我整优化,完全看不懂。先贴上Perspective Shadow Maps技术的最原始论文链接http://ci...原创 2019-04-16 14:22:17 · 920 阅读 · 0 评论 -
GPU Gems1 - 5 改良的Perlin噪声的实现
Perlin 噪声KenPerlin(1985a,2002)KenPerlin(1985a,2002) 定义的噪声函数是最常用的噪声函数,称为 Perlin 噪声。PerlinPerlin 噪声在全部 (x,y,z)(x,y,z) 整形顶点处的参数值都为 00,变化源自各顶点间的梯度向量,然后再进行平滑插值。 ...原创 2019-04-03 17:34:45 · 358 阅读 · 0 评论 -
GPU Gems1 - 9 有效的阴影体渲染
这章全面讲述了用于实时阴影渲染中常见两种流派之一的阴影体(Shadow Volumes)技术,又称模板阴影(Stencil Shadows)技术,重点是得到正确的角度的情形,减少几何图形和填充率的消耗。简单谈谈阴影生成技术,目前普遍采用的一般有三种:Planar Shadow、Shadow Mapping和Shadow Volume,前者类似投影,计算最简单,缺点只能绘制抛射在平面上的阴影;S...原创 2019-04-10 19:10:46 · 611 阅读 · 0 评论 -
GPU Gems1 - 10 电影级的光照
本章中介绍了一个的简化的uberlight(可理解为“全能光照”)实现,此光照shader根据Ronen Barzel(1997,1999)提出的照明模型编写而成。而该模型的超集已由Pixar动画开发,并应用于《玩具总动员》、《怪物公司》、《海底总动员》等一系列的迪士尼电影中。本章所对该光照模型的尝试,旨在提供一套全面的光照控制参数,以涵盖灯光美术师日常使用的大部分效果。首先,该章中呈现的Sh...原创 2019-04-10 19:19:49 · 252 阅读 · 0 评论 -
GPU Gems1 - 2 水刻蚀的渲染
2.1 引言光线从弯曲的表面反射或折射,因此只聚焦在受光面上的某些区域,于是就产生了刻蚀现象。本文从美学角度出发,不以纯物理的方式计算,使其很容易在大多数图形硬件上实现,效果又十分逼真。2.2 刻蚀的计算如果想正确地计算水下的刻蚀,是一个复杂的过程:这涉及到数目庞大的光线及其相互作用。为了模拟这一过程,必须从光源射出光子作为开始,一部分光子碰到海面,或者反射或者折射。对于折射部分,...原创 2019-04-02 11:01:56 · 644 阅读 · 0 评论 -
GPU Gems1 - 11 阴影贴图反走样
这章介绍了如何通过邻近百分比过滤方法(Percentage-Closer Filtering , PCF)有效减少阴影贴图的反走样,并描述了如何实现一个简化版本,并对PCF方法进行了一定改进。关于阴影贴图和PCF技术的一些链接https://pubweb.eng.utah.edu/~cs5610/handouts/reeves87.pdfhttps://gameinstitute.qq.c...原创 2019-04-11 14:45:30 · 275 阅读 · 0 评论 -
GPU Gems1 - 3 Dawn Demo中的皮肤渲染(Skin in the Dawn Demo)
该篇文章参照浅墨的这篇文章:https://zhuanlan.zhihu.com/p/35974789Dawn是由NVIDIA创建的,用来介绍GeForce FX产品线的演示程序,它说明如何使用可编程的着色技术创建出逼真的人类角色。最初的Dawn Demo由NVIDIA于2002年发布,而十年之后的2012年,NVIDIA新发布了“A New Dawn”技术Demo。 ...原创 2019-04-02 14:49:01 · 476 阅读 · 0 评论 -
GPU Gems1 - 13 使用遮挡区间映射产生模糊的阴影(Generating Soft Shadows Using Occlusion Interval Maps)
这章介绍了一种渲染软阴影的技术,称为遮挡区间映射(Occlusion Interval Maps),能够正确地在静态场景中渲染出光源沿着预定路径移动时产生的模糊阴影。之所以叫遮挡区间映射,是因为此算法使用纹理贴图来存储这种光源可见、而本身被遮挡的区间。对于需现实的加油站的Demo,文章一开始本打算使用一种预计算的可见度技术,例如球谐光照(Spherical Harmonic Lighting ...原创 2019-04-15 16:41:34 · 243 阅读 · 0 评论 -
GPU Gems1 - 7 无数波动草叶的渲染
本文部分参照该文章https://zhuanlan.zhihu.com/p/359747891.引言本章介绍了一种灵活的,广泛应用的草模拟。该方案渲染的草不仅生长得自然,也能够逼真地在风中舞动,而且性能很高。2.概述首先,需要意识到,对单个草叶的细节建模意义不大,因为那样大片草地需要的多边形数目会太多。所以,我们必须建立一个符合以下条件的简单而有用的替代方案:许多草的叶片必须由...原创 2019-04-08 23:35:56 · 322 阅读 · 0 评论 -
GPU Gems1 - 8 衍射的模拟
1.什么是衍射小尺度的表面细节引起反射波彼此干扰,这个现象就是衍射。首先,计算机绘图的大多数表面反射模型都忽略自然光的波动效果。当表面的细节比光的波长(约1um)大许多时,不存在问题。但对于小尺寸的细节,例如一个光盘的表面,波效应就不能忽略了。所以,对于小尺度的表面细节引起反射波彼此干扰的现象,即为衍射。衍射使这些表面的反射光呈现五彩缤纷的图案,由光盘的精细反射可以看到这一现象。衍...原创 2019-04-09 00:08:11 · 452 阅读 · 0 评论 -
GPU Gems1 - 12 全方位的阴影映射
在这章中,把阴影贴图的思路扩展到正确处理全方位的(点)光源中,其中包括了实现细节,也涉及到基本硬件能力不足时的低效运行策略。首先,这篇文章也谈到了在实时计算机图形学中产生可见阴影的两个流行方法是:模板阴影(stencil shadows)/ 阴影体(Shadow Volume) 相关知识可以参考之前的章https://mp.youkuaiyun.com/postedit/89161545 阴影...原创 2019-04-12 17:10:31 · 239 阅读 · 0 评论 -
GPU Gems1 - 17 环境遮挡
环境光遮蔽(Ambient Occlusion)“AO”为Amblent Occlusion的缩写,中文译为环境光遮蔽。在DirectX 10.1 API推出后,Amblent Occlusion升级为SSAO(Screen-Space Ambient Occlusion:屏幕空间环境光遮蔽);而在微软推出DirectX 11 API后,SSAO升级至HDAO(高解析度环境光遮蔽:High Def...原创 2019-04-20 00:39:11 · 382 阅读 · 0 评论