绘制管线(图形流水线):
应用程序阶段---几何处理阶段---光栅阶段 绘制概念:主要指将计算机中对象的数字几何模型转化为直观形象的图形或图像形式,是一个数字几何模型的视觉可视化过程。
应用程序阶段:将数据以图元的形式提供给图形硬件。数据包括:描述三维几何模型的点、线或多边形,同时也提供用于表面纹理映射的图像或者位图。几何处理阶段:以每个顶点为基础对几何图元进行处理,并从三维坐标变换为二维屏幕坐标。**
光栅阶段(像素处理阶段):屏幕对象首先被传送到像素处理器进行光栅化,并对每个像素进行着色,然后输出到帧缓冲器中,最后输出到显示器中。什么是光栅化?光栅化:几何处理阶段不是传来很多的顶点、颜色以及纹理坐标吗,这时候我们就要给每个像素准确配色,确保我们能够准确的绘制整个图像,这个配色的过程就叫做光栅化(或叫做扫描转换)。通俗点来说,就是将上一个阶段生成的屏幕二维坐标顶点转化为屏幕上的像素=_=
光照
环境光遮罩(AO)
环境光遮蔽(Ambient Occlusion)
是计算机图形学中的一种着色和渲染技术,用来计算场景中每一点是如何接受环境光的。简单来说就是根据周围物体对光线的遮挡程度,改变明暗效果 **百度百科解释:**AO是来描绘物体和物体相交或靠近的时候遮挡周围漫反射光线的效果,可以解决或改善漏光、飘和阴影不实等问题,解决或改善场景中缝隙、褶皱与墙角、角线以及细小物体等的表现不清晰问题,综合改善细节尤其是暗部阴影,增强空间的层次感、真实感,同时加强和改善画面明暗对比,增强画面的艺术性。
光照探针LightProbe
光照探针是一种在3D场景中添加光源的另一种方法。与经典光源(平行光、点光、聚光)不同, 光照探针不发光。相反,光照探针存储着有关穿过3D空间的光线的信息。 渲染过程中,通过使用来自光照探针的数据,来逼近打到3D物体上的光线。 光照探针通常从(辐射)环境贴图中创建。 LightProbeGenerator 类可以根据 CubeTexture 或 WebGLCubeRenderTarget 的实例来创建光照探针。 但是,光照估算数据同样可以以其他形式提供,例如,通过WebXR。 这将能够渲染可对真实世界的光照做出反应的增强现实内容。
抗锯齿
抗锯齿概述 渲染本质上就是一个采样任务的过程,锯齿(aliasing)则是由于采样不足造成的。 锯齿分为几何锯齿和着色锯齿
几何锯齿 对几何覆盖函数的采样不足,就会产生几何锯齿(Geometric Aliasing),也就是我们最常看到的边缘锯齿,如图1所示,几何图形的边缘就存在锯齿。 图1. 几何锯齿 几何锯齿一般发生在光栅化阶段,如图2所示,浅蓝色是要光栅化的三角形,但是由于采样像素不足,绿色部分出现的锯齿状的(jagged)线,就是实际上的像素结构所能呈现出来的效果,这就造成上述的几何锯齿现象。
着色锯齿 一般发生在着色阶段,对渲染方程的采样不足。因为渲染方程也是一个连续函数,对某些部分(比如法线,高光等)在空间变化较快(高频部分)采样不足也会造成锯齿,反映在视觉上一般是图像闪烁或者噪点,如图3所示。
MSAA: 多重采样抗锯齿
它是一个硬件端支持的技术,在效果和性能上都有不错的表现,在移动游戏中得到了广泛应用。该技术关键点在于对像素点的超采样,使得物体边缘的像素有一个渐变过渡,如图4所示,感受下所谓的边缘像素的渐变过滤。
FXAA 快速近似抗锯齿
由于MSAA的原理限制,它不适用于延迟管线(deferred pipeline)。此时,快速近似抗锯齿(FXAA,fast approximate antialising)可以作为MSAA算法的补充。FXAA是通过单一次、全屏的后处理来实现的,也是对边缘像素多次超采样,达到边缘锯齿的效果,是一个偏经验性的算法。
HDR
**HDR**
全称**High-Dynamic Range**
(高动态光照渲染),通过HDR,显示器或相机可以很好的表现超出其亮度范围的图像,也可以简单理解为HDR能大幅提高画面细节的明暗对比度。
**HDR**
由两部分组成,动态曝光控制和光晕效果。 先说动态曝光控制,通常,显示器能够显示R、G、B分量在[0,255]之间的像素值。而256个不同的亮度级别显然不能表示自然界中光线的亮度情况。举个例子,太阳的亮度是白炽灯亮度的几千倍或者被漫反射照亮的室内亮度的几万倍,这远远超出了显示器的亮度表示能力。HDR技术所要解决的问题就是在有限的亮度范围内表示出宽广的亮度范围。原理类似于照相机的曝光功能,通过算法调整光线亮度,将光线从高动态范围映射到低动态范围,从而得到得到令人信服的光照效果。
HDR的另一部分是光晕效果。人从暗处走到光亮的地方,瞳孔由于来不及收缩,眼睛会自己眯起来,以保护视网膜上的感光细胞。HDR通过对原始图像进行调整,可以模拟这种人眼自动适应光线变化的生理反应,产生类似于光晕的效果。