
计算机图形学
文章平均质量分 93
ZJU_fish1996
这个作者很懒,什么都没留下…
展开
-
[图形学] Adaptive Shadow Map
reference:https://www.cs.cornell.edu/~kb/publications/ASM.pdf概述 阴影贴图提供了一种快速方便的方法来识别场景中的阴影,但是会引入锯齿。本文介绍了自适应阴影贴图(ASM)作为此问题的解决方案。ASM通过解决眼睛视图和光源视图之间的像素大小不匹配来消除锯齿。通过将光源贴图(即光源的阴影图)存储与常规平面结构相反的分层网格结构,可以实现这一目标。在像素从相机视图转换为灯光视图时,可以改进ASM以在需要时创建更高分辨率的阴影图。这...翻译 2021-05-15 16:54:08 · 7455 阅读 · 0 评论 -
[图形学] Hair Simulation in TressFX(头发模拟)
reference:《GPU Pro5》Hair Simulation in TressFX 人类的头发大约有120000根,由于渲染成本高和缺乏实时仿真技术,在实时视频游戏中呈现人类的头发一直是一个挑战。因此,许多艺术家和游戏开发人员必须选择其它方法,例如使用简单的多边形和纹理。 在本章中,我将解释TressFX中的头发模拟方法,该方法已在最近的Tomb Raider和AMD Rudy演示中使用。 在高端GPU中,它可以在不到一毫秒的时间内模拟大约19...翻译 2021-02-06 16:23:57 · 7234 阅读 · 0 评论 -
OpenGL4.0教程 计算着色器简介
reference:https://antongerdelan.net/opengl/compute.html 本篇文章给出了OpenGL计算着色器的实用介绍,并且我们将要开始制作一个玩具光线追踪渲染器。在阅读本教程前,你需要具备一定的OpenGL基础,并且知道如何将纹理渲染到全屏四边形上。 我之所以推迟编写OpenGL计算着色器的教程,是因为我希望先总结足够多的坑,以便可以帮助人们避免常见错误,并有足够多的经验来给出一些有用的建议。我想到我之前从未写过关于光线追踪或路径追踪...翻译 2020-06-16 01:55:09 · 5978 阅读 · 0 评论 -
[图形学] 基于OpenGL ES 3.0的高效目标变形动画
reference: Efficient Morph Target Animation Using OpenGL ES 3.0 James L. Jones介绍 移动平台上对高质量图形渲染的需求推进了GPU和图形API的发展,例如OpenGL ES 3.0;这些硬件/API上的进步使得程序员能够编写更加简洁、高效的图形学算法实现。其中的一个受益领域就是手机游戏中角色的面部动画,该技术通常通过目标变形(morph target)来实现。目标变形动画通常要求美术离线制作模型的多个姿态,然后...翻译 2020-06-14 16:48:08 · 4260 阅读 · 1 评论 -
[图形学] 光轴渲染 (Light Shafts)
reference:《Interactive Rendering Method for Displaying Shafts of Light》 Yoshinori Dobashi, Tsuyoshi Yamamoto, Tomoyuki Nishita 本篇文章是2000年的论文,里面提到的很多硬件限制目前已经不是限制了,也就是说,文章中描述的一些问题在目前的硬件条件下并不是问题,会有更好...翻译 2019-02-10 21:53:39 · 2217 阅读 · 0 评论 -
[图形学] Killzone: Shadow Fall 中的体积光效果
reference : 《GPU Pro 5》简介 体积光效果是由于光线在潮湿、多尘或烟雾环境中散射产生的(如图3.1所示)。这是一个令人惊叹的自然现象,它可以用于创建壮观的图像,并为环境增添氛围感。 关于光散射和体积光已经有了许多文章。它们的中的大多数都专注于提高渲染性能和图像质量的技术。但是,它们中的大多数都没有解决在现实中的游戏场景中实现效果所需要克服...翻译 2019-02-16 19:37:09 · 2963 阅读 · 2 评论 -
[图形学] 延迟贴花渲染技术 (A Deffered Decal Rendering Technique)
reference:《Game Engine Gems》 1 渲染贴花是3D世界中动态生成细节的一种常用方法。贴花常用于制作子弹孔、血迹、轮胎痕迹以及其它相似的项作为游戏中发生的事件。它们也可以用于设计师使用位于墙上的污迹、破损效果的纹理来丰富场景。 本文介绍了一种延迟贴花技术,它应用于使用延迟渲染生成场景的地方,如图20.1所示。该技术完全基于shader,而对...翻译 2019-02-05 12:21:56 · 6695 阅读 · 0 评论 -
[图形学] 基于物理的渲染(PBR)
reference :《real-time rendering 4》BRDF 概述 基于物理的渲染即计算沿着视线进入相机的光照辐射。如果不考虑吸收或散射的介质,则进入相机的辐射等于离开相机方向上最近物体表面的辐射: 上式中,p 是视线与最近物体的交点,v是视线向量(指向相机),c是相机方向, L代表辐射。 ...原创 2019-03-05 23:09:23 · 3757 阅读 · 0 评论 -
[图形学] 基于图像的照明:漫反射辐照度
reference:https://learnopengl.com/PBR/IBL/Diffuse-irradiance IBL或者基于图像的照明是一组照明物体的技术,它不像前一个教程中直接分析光,而是将周围环境视为一个大光源。这通常通过立方体环境贴图(取自现实世界或从3D场景中生成)来完成,这样我们就可以在我们的光照方程中直接使用它:将每个立方体贴图像素视为光发射器。通过这种...翻译 2019-03-24 23:19:19 · 2383 阅读 · 1 评论 -
[图形学] Mirror’s Edge中Hi-Z屏幕空间锥跟踪反射
reference:《GPU Pro 5》总览 本章将介绍一种计算动态3D场景反射的新方法,该方法适用于任意形状的表面。Mirror’s Edge早期研究的算法和技术已经提出并共享。 我们将研究的方法在性能和图像质量方面都由于任何其它方法,如第4.8节“性能”和第4.9”结果“中所示。 我们将研究在实时反射领域所做的最新工作,分析它们的优缺点...翻译 2019-03-25 21:42:12 · 3139 阅读 · 1 评论 -
[图形学] Killzone:Shadow Fall中的屏幕空间反射效果
reference:Siggraph 2014http://advances.realtimerendering.com/s2014/ 今天的演讲主要是我们做的两个效果,这些效果极大地影响了我们设计游戏关卡的方式。对错过早上会议的人我们先进行简短的关于时域重投影的介绍后,我们将开始描述我们的实时反射系统和我们的体积照明技术。 Guerrilla g...翻译 2019-03-30 17:23:23 · 4284 阅读 · 0 评论 -
[图形学] 实时体积水和泡沫的渲染
reference :《GPU Pro3》Volumetric Real-Time Water and Foam Rendering Daniel Scherzer, Florian Bagar, and Oliver Mattausch简介 在过去十年内,模拟和渲染复杂的自然现象,如火、烟、云和流体等,一直是计算机图形学中一个活跃且多样化的研究领域。在这些现象中,水...翻译 2019-04-07 16:34:30 · 2813 阅读 · 0 评论 -
[图形学] 基于图像的照明:镜面反射
reference:https://learnopengl.com/#!PBR/IBL/Specular-IBL 在前一教程中,我们已经结合了基于图像的照明和PBR,通过预计算辐照度映射作为光照的间接漫反射。在这一教程中,我们将关注反射方程的镜面反射部分: 你将会观察到Cook-Torrance镜面反射部分(乘以kS)在积分上并非常数,并且依...翻译 2019-03-28 23:50:45 · 2413 阅读 · 1 评论 -
[图形学] 实时体积云(Horizon: Zero Dawn)
reference : 《GPU Pro 7》 游戏中的实时体积云通常会降低质量来提升性能。其中最成功的方法仅限于低空蓬松和半透明的层状云。我们提出了一种体积解决方案,可以填充天空,具有不断变化的逼真效果,描绘了高海拔卷云和所有主要的底层云类型,包括了厚而汹涌的积云。此外,我们的方法和实时云渲染解决方案中尚未发表的几种体积光照效果比较接近。最后,这个解决方案在内存和GPU上运行...翻译 2019-04-17 18:41:56 · 20007 阅读 · 3 评论 -
[图形学] 环境光遮蔽(AO)
reference: 《Real-Time Rendering Third Edit》 当光源照向一个大的立体角时,它会投射一个软阴影。从各个方向均匀照射的环境光将会投射出最柔和的阴影。由于环境光缺乏任何方向性变化,阴影显得尤其重要——在没有阴影的情况下,对象变得扁平。 9.36 漫反射光均匀照亮的物体。在左侧,我们没有使用任何阴影或相互影...翻译 2018-12-30 17:33:28 · 7396 阅读 · 2 评论 -
[图形学] 《Real-Time Rendering》四元数
最近四元数用得比较多,虽然对运算和转换已经比较熟悉了,但还是知其然而不知其所以然,所以就再把这本经典之作里的四元数章节好好读了一下,来加深自己的理解 四元数是1843年Sir William Rowan Hamilton作为复数扩展发明的,但是直到1985年,Shoemake才将它们引入计算机图形学领域。四元数是构造变换的非常好的一个工具,在某些方面,四元数要比欧拉角和矩阵...翻译 2018-12-01 19:24:17 · 1341 阅读 · 0 评论 -
[图形学]图形裁剪_Cohen-Sutherland算法
图形的裁剪算法就是判断图形是否在屏幕内,如果不在屏幕内就要将其裁剪再显示。它的基础就是直线的裁剪。 在Cohen-Sutherland算法中,我们将每条线段的端点编码为。 对于一个屏幕,将其四边延长,可将空间分为如下九个区域,落入每个区域的端点编码如下: 对于一条线段,其两个端点的编码分原创 2016-01-28 16:30:47 · 3569 阅读 · 0 评论 -
[图形学] 《Real-Time Rendering》碰撞检测(一)
原文有35页,容我慢慢翻译,第一部分翻译了10页 reference:《Real-Time Rendering》目录17 前言17.1 和射线的碰撞检测17.2 使用BSP树的动态碰撞检测17.3 一般层次的碰撞检测 17.3.1 分层的构建 17.3.2 不同层之间的碰撞检测 17.3.3 代价函数17.4 O翻译 2016-08-29 17:42:19 · 8114 阅读 · 2 评论 -
[图形学] 《Real-Time Rendering》碰撞检测(二)
reference:《Real-Time Rendering》目录17 前言17.1 和射线的碰撞检测17.2 使用BSP树的动态碰撞检测17.3 一般层次的碰撞检测 17.3.1 分层的构建 17.3.2 不同层之间的碰撞检测 17.3.3 代价函数17.4 OBB树17.5 多重物体碰撞检测系翻译 2016-08-31 19:24:33 · 5644 阅读 · 3 评论 -
[图形学] 光线追踪中的数学方法
reference: 《Mathematics for 3D Game Programming and Computer Graphics》 光线追踪这一术语是指跟随光束来决定它们和世界中的哪个物体相交的算法。 它的应用包括光照纹理的生成、判断可见性、碰撞检测,以及视线检测。这一章描述了当光线与物体相交时如何找到它们的交点,以及当光线与反射或者折射表面相交时翻译 2016-08-22 17:33:21 · 6896 阅读 · 1 评论 -
[图形学] 简化的bsp树
简介 bsp树是一种空间分割树,它主要用于游戏中的场景管理,尤其是室内场景的管理。 它的本质是二叉树,也就是用一个面把空间分割成两部分,分割出的空间则继续用面分割,以此类推,直到到达特定递归深度,或者空间中不再有物体或只剩下一个物体(得到凸包/凸多面体)。 最终,叶结点对应场景中的物体,内部结点存储分割面。物体被“收纳”到各个包围盒中。原创 2016-09-16 15:43:43 · 8321 阅读 · 2 评论 -
[图形学] 实时流体模拟中的数学方法
reference: 《Mathematics for 3D Game Programming and Computer Graphics》 许多游戏里表达的世界里都有被流体表面覆盖的区域。要么是水泊,要么是一桶强酸,或者是熔岩坑,我们想要流体表面能够表现得和物理现实世界一样。我们可以通过模拟流体以波的形式起伏来实现这些效果。在这一章节中,我们介绍著名的波动方程,并将它应用到翻译 2016-08-24 15:39:00 · 7411 阅读 · 1 评论 -
[图形学] 《Real-Time Rendering》碰撞检测(三)
reference:《Real-Time Rendering》目录17 前言17.1 和射线的碰撞检测17.2 使用BSP树的动态碰撞检测17.3 一般层次的碰撞检测 17.3.1 分层的构建 17.3.2 不同层之间的碰撞检测 17.3.3 代价函数17.4 OBB树17.5 多重物体碰撞检测系统 17.5.翻译 2016-09-05 16:24:05 · 6617 阅读 · 0 评论 -
[图形学] 纹理映射原理详解
目录1.标准纹理映射2.投影纹理映射3.立方体纹理映射4.滤波与分级细化 为了获得更真实的细节,一张或多张纹理映射将会应用到物体的表面,正如下图所显示的。物体表面上每一点的纹理像素都能在纹理映射中找到,它们遵循光照公式结合在一起。在最简单的例子里,一个从漫反射纹理映射得到的例子可以。本章之后还会探讨更多高级应用。翻译 2016-08-26 12:24:57 · 22248 阅读 · 0 评论 -
[图形学] 布料仿真(质点弹簧模型)
参考:http://www.paulsprojects.net/opengl/cloth/cloth.html 布料仿真的常用方法就是将布料表达为三维网格,然后通过弹力+外力进行布料仿真。它在游戏中有着广泛的应用,如衣袖的摆动,旗帜的飘动;此外,也可以用于模拟试衣等。模型初始化 在质点弹簧模型中,整个布原创 2016-11-06 21:19:51 · 13610 阅读 · 11 评论 -
[图形学] 坐标系变换——从世界坐标系到相机坐标系
坐标系变换是图形学中最基础的部分,一个物体从建模到显示在屏幕,经历了从物体坐标系到世界坐标系,再从世界坐标系到观察坐标系,最后通过投影到2D平面,再变换到屏幕坐标等一系列过程。 投影矩阵 我们可以很容易地从线性代数的角度解释这一现象:这相当于把物体从一个空间投影变换到了另一个空间,类似于傅立叶、离散余弦、特征人脸等一系列空间变换,我们把同样的信息原创 2017-03-28 20:23:30 · 10168 阅读 · 0 评论 -
[图形学] 柏林噪声 (perlin noise)
参考论文:《An Image Synthesizer》 Ken Perlin 如果你是游戏玩家,你也许曾在游戏风景中驻足,并仔细观察草木和岩石的贴图,并感叹于它那看似杂乱而又自然的纹脉。你未必会知道,这里面的很多纹理,并不是美工一个个像素填出来的,也不是相机拍摄出来的,而是由代码自动生成的。同样,波澜起伏的地面或海洋,也不一定完全是手工制作的高度图,而同样依赖于代码的...原创 2017-05-03 18:54:13 · 16732 阅读 · 3 评论 -
[图形学] 游戏中的场景管理 - 四叉树 八叉树
提到物体的管理,那么我们的第一反应就是分门别类——把相同类别的东西归到一起。 场景管理也是如此,把不同的物体归属到不同类别里,而相似性的判断是根据物体的空间相干性。一个直观的想法就是,我们依然以网格来划分空间,物体落到哪个网格里,它就属于哪个网格,这是迭代层次的想法。 但是这样的话可能会出现很多空白连续的网格,它们不维护任何物体的信息,是“多余”的。还有一种可能原创 2017-04-11 22:26:13 · 6775 阅读 · 0 评论 -
[图形学] 经典算法 - Kajiya三维纹理渲染毛发
简介 渲染复杂度高细节丰富的场景一直是图像绘制的重要目标。一个想法是引入不同尺度的层次,每一层次对应一种精度几何模型。因此那些复杂的小物体可以被归类为可被简化的几何物体。 但是,绘制毛皮表面依然面临着一个重大的问题,传统的方法会产生一个严重的走样问题。我们认为这是几何物体的尺度定义不正确导致的。还有一种方法是把精细的几何物体作为纹理而不是几何物体来看待。我们在此...翻译 2018-11-04 17:06:03 · 3533 阅读 · 1 评论 -
[图形学] 《Real-Time Rendering》卡通渲染
原文:《Real-Time Rendering,Third Version》 Toon Shading章节11.1 卡通着色 正如不同的字体能给文字带来不同的风格一样,不同的渲染风格也有着自己的情绪,含义和词义。人们对于NPR的一种特殊形式——卡通渲染(cel or toon shading)给予了大量的关注。由于这种风格和卡通形式相一致,它具有丰富的幻想感和童真感(至少在西...翻译 2018-11-19 21:57:09 · 1541 阅读 · 1 评论 -
[图形学]光栅直线算法
DDA算法(数值微分法) 浮点加法,依赖于斜截式 具体方法:每次x增加一个单位,y根据斜截式计算出相应的值,并且四舍五入取整(先加0.5,再下取整) 复杂度:一次加法,一次(或2次)取整。 缺陷:斜率过大时,表达直线的点过少。 中点画线算法 整数加法,依赖于一般式原创 2016-01-26 16:36:17 · 1657 阅读 · 0 评论