自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 技术美术百人计划 | 《2.1 色彩空间介绍》笔记

光理论上讲是无限大的,只是我们人眼可见光是由局限的。如果没有光,我们就无法在黑暗中看到色彩,光的本质就是一种物理现象,光在没有进入我们的眼睛前,我们对它的认知是一种波长与能量分布。

2024-11-21 17:11:30 1110 2

原创 凹凸/高度贴图、法线贴图、视差贴图、置换贴图异同

因为NormalMap只是改变的表面上的光照结果,并没有改变表面上的形状,不能实现自身内部的遮挡,因此不能表现平面上凹凸起伏比较大的场合。根据经验,这个凸起会很轻易的挡住我们的视线,让我们看不见那支牙签。通过将这张附加的表示表面凸凹的贴图的因素于实际的原贴图进行运算后,可以得到新的细节更加丰富富有立体感的渲染效果。最简单的做法是,直接把BumpMap叠加在已经渲染好的表面上,造成亮度上的扰动,从而让人以为是凹凸的--这个很容易理解,把一面白色的墙面有技巧的部分划成灰色就会变成蚀痕,这些诸位会比小的更擅长。

2024-11-15 17:52:44 2408

原创 技术美术百人计划 | 《5.4 水体渲染》笔记

除了水体模拟之外,其还可以用于模拟天气,水流,气流,恒星的运动。除了独立的两种方法之外,还有结合两者的欧拉-拉格朗日混合方法(Eularian-Lagrangian Hybrid approaches),其主要思想是使用欧拉方法来模拟流体的主体,并使用拉格朗日方法来模拟诸如泡沫,喷雾或气泡之类的细小细节。Depth Based-LUT方法的思路是,计算视线方向的水体像素深度,然后基于此深度值采样吸收/散射LUT(Absorb/Scatter LUT)纹理,以控制不同深度水体的上色,得到通透的水体质感表现。

2024-10-08 11:38:53 2193 2

原创 技术美术百人计划 | 《5.1.3 PBR-基于物理的灯光》笔记

对于非光谱渲染,就像大多数游戏引擎一样,光效信息是需要再辐射度和光度之间来回转换的,但是对于艺术家来说,提供两个值(光强和光效)会增加复杂性,所以最好使用假设η=683,在这样近似情况下,每个量都是另一个量的线性变换,因此它们的处理将是相同的,然后最好是能够在引擎中使用真实世界的光强,以便在感知上与现实世界中观察到的情况相匹配,100%光效的假设阻止了辐射参考值的使用,因为这将产生过亮的照明,好在商业照明提供了它们的光度特性。因为只要是一个恒定的光源,在被光所照亮的空间内的地方不会变的忽明忽暗。

2024-09-26 16:41:41 1233 1

原创 技术美术百人计划 | 《5.1.2 PBR-基于物理的相机》笔记

因此,假设所有其他条件都不变,如果将相机的 ISO 从 400 更改为 200,则得到-1的EV (曝光)偏移,ISO 800 更改为 ISO 1600 ,感光度加倍,则+1 的EV偏移。(完整的光圈值系列如下: f/1,f/1.4,f/2,f/2.8,f/4,f/5.6,f/8,f/11,f/16,f/22,f/32,f/44,f/64。比如F/1.4、F/2.8这组数值都表示大光圈(F数“F/”+光圈数值),其中F/1.2的光圈最大,而F/18、F/22、F/32则表示小光圈,其中F/32最小。

2024-09-24 16:45:25 944

原创 技术美术百人计划 | 《5.1.1 PBR-基于物理的材质》笔记

PBR,或者用更通俗一些的称呼是指基于物理的渲染(Physically Based Rendering),它指的是一些在不同程度上都基于与现实世界的物理原理更相符的基本理论所构成的渲染技术的集合。正因为基于物理的渲染目的便是为了使用一种更符合物理学规律的方式来模拟光线,因此这种渲染方式与我们原来的Phong或者Blinn-Phong光照算法相比总体上看起来要更真实一些。

2024-09-20 09:11:10 1177

原创 技术美术百人计划 | 《4.5 DOF景深算法》笔记

景深(Depth of Field,DOF),是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。镜头光圈、镜头焦距、及焦平面到拍摄物的距离是影响景深的重要因素。在聚焦完成后,焦点前后的范围内所呈现的清晰图像的距离,这一前一后的范围,便叫做景深。在镜头前方(焦点的前、后)有一段一定长度的空间,当被摄物体位于这段空间内时,其在底片上的成像恰位于同一个弥散圆之间。被摄体所在的这段空间的长度,就叫景深。

2024-09-19 08:39:15 1169

原创 技术美术百人计划 | 《4.1 Bloom算法》笔记

实际拍摄照片与游戏画面Bloom效果对比,Bloom模拟了真实世界图片的效果Bloom流程图。

2024-09-14 16:47:17 625

原创 技术美术百人计划 | 《4.4 抗锯齿》笔记

在学习渲染的旅途中,你可能会时不时遇到模型边缘有锯齿的情况。这些锯齿边缘(Jagged Edges)的产生和光栅器将顶点数据转化为片段的方式有关。在下面的例子中,你可以看到,我们只是绘制了一个简单的立方体,你就能注意到它存在锯齿边缘了:可能不是非常明显,但如果你离近仔细观察立方体的边缘,你就应该能够看到锯齿状的图案。如果放大的话,你会看到下面的图案:这很明显不是我们想要在最终程序中所实现的效果。你能够清楚看见形成边缘的像素。这种现象被称之为走样(Aliasing)。

2024-09-14 08:56:57 1050

原创 技术美术百人计划 | 《4.3 实时阴影》笔记

左图为正常摄像机视角,右图为从光源看向场景的角度渲出的一张图,一般叫做深度图,深度范围为0到1,离光源越近就越黑(接近0),越远就越白(接近1)。这张图反映出了场景中物体的远近关系。在上图中的两个点位置如下,对于红点处于阴影之中,且在深度图中被遮挡,肯定不可见。这就是阴影映射的核心思想。自阴影:因为shadow mapping的分辨率有限,离散的采样点以及数值上的偏差可能造成不正确的自阴影效果。也被称为Z-Fighting或者阴影粉刺(Surface Acne)。

2024-09-09 16:44:47 1431

原创 技术美术百人计划 | 《4.2 SSAO算法》笔记

在具体介绍SSAO之前, 先介绍更加广义的AO(Ambient Occlusion 环境光遮蔽)。简单来说, AO是一种基于全局照明中的环境光(Ambient Light)参数和环境几何信息来计算场景中任何一点的光照强度系数的算法。AO描述了表面上的任何一点所接受到的环境光被周围几何体所遮蔽的百分比,因此使得渲染的结果更加富有层次感, 对比度更高。它是模拟光线到达物体能力的粗略的全局方法。计算 AO 可通过在半球面上对可见性函数的积分来得到,公式为:Ω是 p 点朝向法线方向的半球面上的方向集合。

2024-09-06 13:43:59 1449

原创 技术美术百人计划 | 《1.1.4 场景设计精要》笔记

设计游戏场景之前,要先确定游戏的背景、时间等因素,进而来明确游戏风格,和角色设计思路类似。通过对玩家动线的设计,功能模型的合理布局构建出场景的基础骨架。可以通过光影效果、色彩变化来烘托场景氛围。通俗来讲就是不同主题的游戏有着不同的画风。现在市场常见游戏主题类型有剑侠、科幻、废墟、魔幻等等。游戏场景风格按照大类可以分化为:写实风和非写实风。细分常见风格有赛博朋克、写实、卡通、像素风等等。其中场景构图是场景设计中非常重要的一部分。

2024-09-02 08:40:15 1137 1

原创 技术美术百人计划 | 《3.72 Command Buffer》笔记

Command Buffer出现的目的是为了扩展Unity的渲染管线(Rendering Pipeline) ,一个Command Buffer 中存储很多绘制命令(Rendering Command),这些 Rendering Command 其实就是OpenGL或者DirectX 中的一些列指令,比如glClear等。Command Buffer 扩展渲染管线的方法是:预定义一系列的渲染指令,然后在特定的时机去执行这些指令。

2024-08-29 13:31:56 1187

原创 技术美术百人计划 | 《3.6 纹理压缩》笔记

纹理压缩是为了解决内存、带宽问题,专为在计算机图形渲染系统中存储纹理而使用的图像压缩技术。

2024-08-28 09:14:41 1164

原创 技术美术百人计划 | 《3.7 移动端GPU的TB(D)R架构》笔记

核心目的为了降低带宽,减少功耗,但渲染帧率上并不比IMR快优点给消除OverDraw提供了机会:PowerVR有HSR技术,Mali有Forward Pixel Killing技术,都有为了最大限度减少被遮挡的pixel的texturing和shading缓存友好(Cache friendly),在cache的读写速度要比全局内存中快得多(以降低帧率为代价,降低带宽、功耗)缺点这个操作需要在vertex阶段之后,将输出的几何数据写入到DDR,然后才被fragment shader读取。

2024-08-26 14:46:04 1463

原创 技术美术百人计划 | 《3.5 Early Z与Pre Z》笔记

其中的逐片元操作详细流程:在传统的渲染管线中,ZTest是在逐片元操作的Blending阶段进行的。其中的一部分像素不会通过ZTest,它们仍然在进行深度测试之前还需要执行前面的一系列操作,这会造成性能的浪费,而Over Draw也是这么产生的。应用阶段(CPU)->几何阶段(顶点着色器)->early-z(提前深度测试)->光栅化阶段的片元着色器->各种测试(深度测试,透明度测试,模板测试等)->颜色缓冲区(buffer)

2024-08-23 14:31:46 1313

原创 《3.4 渲染路径》笔记补充-GPU架构

具体的执行过程类似于Z Test,如下图所示,对于不透明物件,只保留最近的像素,对于透明的物件而言,其对应的像素数据都会被保留。在PC上,显存是GPU直接访问的内存,是独立的,而在Mobile的AP SOC芯片中CPU和GPU使用的内存其实是在同一个物理内存颗粒上的,但GPU有逻辑上独立的内存区间。这种渲染架构下信息传出的特点:对于每一个具体的绘制,渲染管线里的读写操作都是直接在显存和GPU中传输数据的,比如说上图中灰色和蓝色之间交互的箭头,向上的箭头表示读取,向下的箭头表示写回。

2024-08-21 16:08:31 785

原创 技术美术百人计划 | 《3.4 渲染路径》笔记

MSAA是一种抗锯齿技术,即多重采样抗锯齿(MultiSampling Anti-Aliasing,简称MSAA),这是一种在OpenGL中的特殊的超级采样抗锯齿(SSAA),MSAA主要是对 Z-Buffer 和 Stencil Buffer(模板缓冲)进行SSAA处理,其原理是通过提取像素界面周围的颜色信息,通过混合颜色信息来消除高对比界面所产生的锯齿。和延迟渲染的区别:用更少的buffer信息,着色计算的时候用的是forward,所以第三步开始都是前向渲染(可以对不同的物体进行不同的光照模型)。

2024-08-21 16:02:26 910

原创 技术美术百人计划 | 《3.2 混合与剔除》笔记

混合Blend 就是把两种颜色混在一起。具体就是把某一像素位置原来颜色和将要会上去的颜色,通过某种方式或者算法混在一起,从而实现新的效果。例如:PS内的正片叠底,叠加都属于混合模式的一种。ShaderLab 命令:Blend - Unity 手册虽然所有图形 API 和硬件都支持混合功能,但对某些混合操作的支持较为有限。启用混合会禁用 GPU 上的一些优化(主要是删除隐藏的表面/Early-Z),这些优化会增加 GPU 帧时间。混合Blend 就是把两种颜色混在一起。

2024-08-21 11:42:44 1052

原创 技术美术百人计划 | 《3.3曲面细分着色器TESS与几何着色器GS 》笔记

基于三角形构建一个草地,从简单的生成三角形开始,涉及Triangle Stream的使用,基于切线空间的顶点操作以及与曲面细分shader的联合使用, 同时可以说一下曲面细分参数的确定方式(基于distance, edge)体现具体的使用方法,通过一个quad可以看出不同数值对细分的影响(之后可以使用在草地中),基于shader再回顾一遍各个参数的作用。②草地等效果(与曲面细分结合):可以自定义草的画法,再和曲面细分着色器结合,就可以得到一个可以动态调整草密度的一个草地效果。将立方体逐渐细分为球体;

2024-08-20 13:35:47 1297

原创 技术美术百人计划 | 《3.1深度测试与模板测试 》笔记

模板缓冲区-FrameBuffer模板缓冲区可以为屏幕上的每一个像素点保存一个无符号整数值(通常为8位int 0-255)。这个值的意义根据程序的具体应用而定。模板测试渲染过程中,可以用这个值与预先设定好的参考值作(ReferenceValue)比较,根据结果来决定是否更新相应的像素点的颜色值。这个比较的过程就称为模板测试。执行顺序:透明度测试->模板测试->深度测试。如果模板测试通过,相应的像素点更新,否则不更新。

2024-08-13 17:23:33 742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除