
概念名词
图形学基础概念名词;
DoomGT
这个作者很懒,什么都没留下…
展开
-
Graphics - 延迟渲染 & 前向渲染
以前对一些文章的学习笔记和摘抄等,归档发布;丰富的灯光环境在前向渲染中,会增加大量的Draw Call和Overdraw;可以使用延迟渲染来解决这个问题;前向渲染中,我们需要在片元着色器中计算光照,这也就意味着当我们使用多个灯光的时候,就会产生大量的Overdraw,虽然有遮挡剔除(Occlusion culling)和early-z来减少overdraw,但是对于GPU运算的消耗依然有指数增长的趋势:而延迟渲染中,会将相关信息渲染到延迟缓存(deferred buffer,又称为G-buf.原创 2022-04-07 18:38:03 · 909 阅读 · 0 评论 -
Graphics - Render Target
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;渲染目标(Render Target):渲染目标是一个缓冲,显卡通过这个缓冲使用一个Effect类绘制场景的像素;默认的渲染目标叫做后置缓冲(GPU流水线),物理上就是包含下一帧要绘制的信息的一块显存;你可以使用RenderTarget2D类创建另一个渲染目标,在显存中保留一块新区域用于绘制;大多数游戏在后置缓冲之外将大量的内容绘制到其它的渲染目标内(Off-Screen,离屏渲染),然后编译这些不同的图像元素,将它们组合起来构成.原创 2021-05-12 22:43:02 · 423 阅读 · 0 评论 -
Graphics - 图元 & 片元
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;图元:这里主要指渲染图元(rendering primitives),图形渲染开发接口中用来描述各种图形元素的图形数据,所对应的就是绘图界面上看得见的实体,它包括了渲染所需的几何信息,可以是顶点数据、线段、多边形等;OpenGL中的图元类型;图元至少要包含一个顶点(Vertex);一个顶点定义了2D或3D坐标系中一个点,也同样定义了若干个可以影响如何把顶点渲染到屏幕上的属性,如:片元:在GPU流水线中的三角...原创 2021-04-18 01:38:14 · 1535 阅读 · 0 评论 -
Graphics - 离屏渲染 & 屏幕渲染
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;离屏渲染(Off-Screen Rendering):指的是 GPU 在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作;屏幕渲染(On-Screen Rendering):当前屏幕渲染,指的是 GPU 的渲染操作是在当前用于显示的屏幕缓冲区中进行;...原创 2021-04-01 21:36:19 · 536 阅读 · 0 评论 -
Graphics - MIP Mapping
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;MIP Mapping:首先需要提到MIP levels, MIP levels是同一张纹理按照分辨率递减的不同版本(的纹理);MIP levels 的存在,可以使系统根据要处理的surface表面的距离,自主的选择合适分辨率的纹理:越是远离我们视野的物体,绘制到屏幕上的像素就越少,如果还是采用高分率去映射的话,会导致过多的Texel绘制在用一个位置上,不仅浪费还会产生叠加;同样,为了能够产生高质量的显示效果,越是近的物体.原创 2021-03-22 21:27:12 · 364 阅读 · 0 评论 -
Graphics - Pass
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;Pass:将一组 Mesh/Parameter 输入转化为Pixel Output的过程,称做一个Pass;多Pass则是指将一组 Mesh/Parameter 输入在屏幕上Draw多次;在Unity的Shaderlab中,我们经常会使用Pass{ }关键字为同一个材质声明多个RenderState不同的Pass实现一些效果,而在UE4中并没有在shader/材质层面做多Pass的支持;虽然有Layer,但并无法实现不同Shadi.原创 2021-03-18 22:32:02 · 340 阅读 · 0 评论 -
Graphics - 图形接口
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;图形编程接口:开发者直接访问GPU是一件非常麻烦的事情,我们可能需要和各种寄存器、显存打交道;而图形编程接口在这些硬件的基础上实现了一层抽象;OpenGL和DirectX就是这些图形应用编程接口,这些接口用于渲染二维或三维图形;这些接口架起了上层应用程序和底层GPU的沟通桥梁;一个应用程序向这些接口发送渲染命令,而这些接口会依次向显卡驱动(Graphics Driver)发送渲染命令,这些显卡驱动是真正知道如何和GPU通信的角色,.原创 2021-03-10 11:55:59 · 999 阅读 · 0 评论 -
Graphics - Texel & Pixel
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;纹理元素(Texel):纹理元素是纹理图形的基本单位,用于定义三维对象的曲面;3D 对象曲面的基本单位是纹理,而 2D 对象由像素(Pixel)组成;在计算机图形学当中,纹素代表了映射到三维表面的二维纹理的最小单元,纹素和像素很相似因为都代表了图像的基础单元,但是在贴图中的纹素和图片中的像素在显示的时候是有区别的,在特殊的3D映射情况下,纹素和像素可以一一对应,但大多数情况下,他们并不能直接映射;包含3D纹理的对象靠近观看者时.原创 2021-03-09 17:56:32 · 1255 阅读 · 0 评论 -
Graphics - 应用阶段流水线
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;应用阶段流水线:渲染流水线的起点是CPU,即应用阶段;应用阶段大致可分为下面三个阶段:把数据加载到显存中:所有渲染所需的数据都需要从硬盘(HDD)中加载到系统内存(RAM)中;然后,网格和纹理等数据又被加载到显卡上的存储空间——显存(VRAM)中;这是因为,显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权限;加载在显存中,在渲染时,GPU可以快速访问这些数据;加载在显存中的数据有顶点的位置信息、法线方向、顶.原创 2021-02-13 23:19:24 · 257 阅读 · 0 评论 -
Graphics - 环境映射
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;环境映射(Environment mapping):环境映射,又称Reflection Mapping(反射映射),是计算机图形学领域中使用基于图像的光照(Image-Based Lighting,IBL)技术,用预先计算的纹理图像模拟复杂镜面的一种高效方法;由Blinn 和 Newell 在1976首次提出;由于是事先准备好的数据,这种实现方法比传统的光线跟踪算法效率更高,但是需要注意的是这种方法是实际反射的一种近似,有时甚至是.原创 2021-02-13 23:07:09 · 596 阅读 · 0 评论 -
Graphics - 多渲染目标
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;多渲染目标(Multiple Render Targets, MRT):这种技术的作用就是将每个像素的数据保存到不同的缓冲区当中(如Basecolor缓冲区、Normal缓冲区、深度缓冲区等);这样的好处就是这些缓冲区数据由此可以成为照片级光照效果着色器的参数;GeForce6系列图形芯片支持的PixelShader3.0中开始支持这种技术;在这种方法的帮助下,光照可以在所有几何图形被渲染以后最后进行应用,不再需要进行多步的渲染,.原创 2021-02-12 01:48:13 · 435 阅读 · 1 评论 -
Graphics - 渲染状态
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;渲染状态:一个通俗的解释就是,这些状态定义了场景中的网格(Mesh)是怎样被渲染的;例如,使用哪个顶点着色器(Vertex Shader)/片元着色器(Fragment Shader)、光源属性、材质等;如果没有更改渲染状态,那么所有的网格都将使用同一种渲染状态:图片源自《Unity Shader入门精要》...原创 2021-02-10 23:39:55 · 596 阅读 · 0 评论 -
Graphics - Draw Call
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;Draw Call:简单的说来,就是CPU调用图像编程接口,如OpenGL中的glDrawElements命令或者DirectX中的DrawIndexedPrimitive命令,以命令GPU进行渲染的操作;Draw Call中造成性能的原因一般是CPU方面的原因;原因是每次调用Draw Call之前,CPU需要向GPU发送很多内容,包括数据、状态和命令等;在这一阶段,CPU需要完成很多工作,例如检查渲染状态等;而一旦CPU完成了这.原创 2021-02-07 01:16:01 · 327 阅读 · 0 评论 -
Graphics - ToneMapping
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;ToneMapping:简单的说来,就是为了让图像能在显示器上面显示的更真实,把大于1的亮度通过一定的方式压缩在0-1的范围之内,让我们可以在显示器上观察到;因为人对世界的感知是接近对数的,比如对亮度的感知大概是这样的:具体来说,主要是计算当前的平均亮度,然后根据这个平均亮度来选择一个合适的亮度域;最后将整个场景映射到这个亮度域得到一个正确的计算结果;防止在将一部分像素映射到显示器时出现曝光的现象;随着拍摄设备、渲.原创 2021-02-05 17:04:41 · 323 阅读 · 0 评论 -
Graphics - 照明单位
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;照明单位(Lumen, candelas 和 lux):Lumen(lm,流明)度量的是光通量(luminousflux),这是光源的总体能量(the sum of all the light it emits in every direction),无论分布情况如何(宽或窄),发出的总能量是相同的;Candelas(cd,烛光)度量的是发光强度(luminous intensity),这是光源在给定方向上的能量(the pow..原创 2021-01-15 11:26:50 · 857 阅读 · 0 评论 -
Graphics - 渲染方程
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;渲染方程(Rendering Equation):在计算机图形学中,渲染方程是一个积分方程,它是所有全局照明方法的理论基础(光线跟踪,路径跟踪,辐射度等);其描述了光能在场景中的流动,是渲染中不可感知方面的最抽象的正式表示;根据光学的物理学原理,渲染方程在理论上给出了一个完美的结果,而各种各样的渲染技术,只是这个理想结果的一个近似;1986年,James Kajiya将其引入计算机图形学;在计算机图形学中,真实感渲染的目标就是求解.原创 2021-01-15 11:16:51 · 453 阅读 · 2 评论 -
Graphics - 微表面理论
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;微表面理论(Microfacet Theory):微表面理论认为我们看到的表面上的一点是由很多朝向各异且光学平的微小表面组成。当光线从L方向照射到这点,而我们在v方向观察时,由于光学平面只会将光线L反射到关于法线对称的v方向,而L和v已经确定,所以只有法线朝向正好是L和v的半角向量h的微表面才会将光线发射到v方向(如下图),从而被我们看见;光与非光学平坦表面的交互对理解微表面理论(Microfacet Theory)至关重要;.原创 2021-01-03 22:34:33 · 734 阅读 · 0 评论 -
Graphics - 着色计算
一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;着色(Shading):在计算机图形学领域,着色(Shading)是指根据材质属性(如漫反射属性等)、光源信息(如光源方向、辐照度等),使用一个等式去计算沿某个观察方向的出射度的过程;我们也把这个等式称为光照模型(Lighting Model);不同的用途可以使用不同的光照模型;CAD等追求响应速度的交互式图形领域可以使用简单快速的算法,卡通油画等艺术效果可以使用非真实感(Nonphotorealistic)算法,而追求真实感的C.原创 2020-12-22 21:28:24 · 289 阅读 · 0 评论 -
Graphics - 着色器&材质
有些图形渲染等方面的基础概念容易混淆或误解,这里把自己相关的个人笔记整理出来;以后自己的文章也可以用其作为词条引用;着色器是整个渲染流程的一个子部分;是GPU渲染流水线上一些可高度编程的阶段,而由着色器编译出来的最终代码是会在GPU上运行的;依靠着色器我们可以控制流水线中的渲染细节,例如用顶点着色器来进行顶点变换以及传递数据,用片元着色器来进行逐像素的渲染;文章发表在知乎:https:...原创 2019-01-18 15:24:32 · 447 阅读 · 0 评论 -
Graphics - 模板测试&深度测试
在GPU渲染流水线的最后一步,逐片元操作(OpenGL中的说法,在DirectX中,这一个阶段被称为合并阶段(Merger Stage))中,要解决每个片元的可见性问题;这需要进行一系列测试,一个片元只有通过了所有的测试,才能和颜色缓冲区进行合并;只要没通过其中一个测试,那么这个片元就会被舍弃掉;文章发表在知乎:https://zhuanlan.zhihu.com/p/56739656...原创 2019-02-16 11:19:02 · 746 阅读 · 0 评论 -
Graphics - 阴影生成技术
一些简单的概念介绍,作为个人文章的词条引用;阴影生成技术,目前普遍采用的一般有三种:Planar Shadow、Shadow Map和Shadow Volume:Planar Shadow:类似投影,计算最简单,缺点只能绘制投射在平面上的阴影;Shadow Volume:适合精确表现动态光影场景的技术,在屏幕空间光栅化阴影体积,可准确判断每个屏幕像素是否在阴影之内;可以处理平行光源和点光源的阴影,其典型的适用范例便是Doom3,不足在于Shadow Volume引入了额外的顶点和面,加大了..原创 2020-12-06 13:31:54 · 415 阅读 · 0 评论