03 2023 档案

摘要:前言 ​ 本篇将介绍什么是色调映射,为什么需要色调映射,HDR,HDRI,当前流行的色调映射算法 HDR和色调映射 在谈及色调映射前我们先来看看平时经常听到的HDR和HDRI HDR: High-Dynamic Range(高动态范围)的缩写,可以理解为一个 CG 的概念,常出现在计算机 图形学与电 阅读全文
posted @ 2023-03-31 15:35 爱莉希雅 阅读(708) 评论(0) 推荐(0) 编辑
摘要:颜色空间 ​ 在介绍伽马校正前,我们先了解了解必要的知识——颜色空间 ​ 颜色空间有几种,分别是sRGB、CIE XYZ等,他们都有颜色匹配函数,但不同颜色空间表示的色域范围不同 CIE XYZ ​ CIE XYZ是人造的颜色空间,他并不是由实验得出的,用XYZ表示颜色,其中Y可以表示亮度 ​ CI 阅读全文
posted @ 2023-03-30 22:40 爱莉希雅 阅读(447) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 上一篇介绍了蒙特卡洛路径追踪,并解决它存在的问题,得到的渲染效果很不错,但还未提及基于物理的BRDF,本篇介绍菲涅尔效应、微表面模型、次表面散射,Cook-Torrance BRDF 次表面散射 ​ 在真实世界中许多物体都是半透明的,比如皮肤、玉、蜡等。当光进入到透明/半透明材料时,一部分 阅读全文
posted @ 2023-03-29 23:23 爱莉希雅 阅读(209) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 上一篇介绍如何表达一个正确的光线传播模型,但没有提及如何解它的值,因此本篇将介绍使用蒙特卡洛路径追踪来解决该问题 什么是蒙特卡洛积分? 原理:对函数值均匀采样求平均并作为积分值的近似。简单来说,就是将下图积分面积分割为多个小长方形,再对这些小长方形的面积求和 定义形式:欲求取[a,b]区间 阅读全文
posted @ 2023-03-28 17:56 爱莉希雅 阅读(274) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 在图形学中,BRDF(Bidirectional Reflectance Distribution Function,双向反射分布函数)是真实感图形学中最核心的概念之一,它描述的是物体表面将光能从任何一个入射方向反射到任何一个视点方向的反射特性,即入射光线经过某个表面反射后如何在各个出射方 阅读全文
posted @ 2023-03-28 16:17 爱莉希雅 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 若您写过光线追踪会发现光线追踪计算时间是非常非常长的,计算次数 = 像素数量 x 三角形面的个数 x 弹射次数,因此本篇将着重介绍如何对光线追踪进行加速、加速方法有哪些 轴对齐包围盒 为什么使用包围盒?在这之前我们遍历场景中所有物体的所有面来判断光线是否和三角形面相交,但仔细思考若光线都没 阅读全文
posted @ 2023-03-27 21:49 爱莉希雅 阅读(195) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 本篇将介绍什么是光线追踪,为什么需要光线追踪,实现光线追踪的细节,看完本篇即可跟着教程ray tracing in one weekend用c++实现一个简单的光线追踪器,关于该教程笔者也写了总结rayTracingInOneWeekend - 爱莉希雅 - 博客园 (cnblogs.co 阅读全文
posted @ 2023-03-27 21:49 爱莉希雅 阅读(527) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 目前我们以所学的渲染方式还不能表现出阴影,因此本篇将介绍阴影贴图原理、存在的问题、如何解决这些问题、实现例子 阴影贴图原理 思想:光源看不到而摄像机可以看到的地方 阴影贴图的主要步骤: 第一次渲染(PASS):将光源看作一个摄像机进行渲染,将光源空间的深度值写入称为阴影图的深度缓冲区,将该 阅读全文
posted @ 2023-03-26 17:20 爱莉希雅 阅读(113) 评论(0) 推荐(0) 编辑
摘要:Introduction ​ 本篇是对十大排序的总结,会涉及每个排序的重要步骤、时间复杂度、空间复杂度、稳定性、代码实现 Summary | 排序算法 | 最差时间复杂度 | 空间复杂度 | 平均时间复杂度 | 数据对象稳定性 | | | | | | | | 冒泡排序 | $O(n^2)$ | $O 阅读全文
posted @ 2023-03-19 15:51 爱莉希雅 阅读(19) 评论(0) 推荐(0) 编辑
摘要:什么是曲面细分阶段? ​ 曲面细分(tessellation)阶段是GPU渲染管线中一个可选阶段,在该阶段中又包含三个阶段——外壳着色器(hull shader,HS)阶段、镶嵌器(tessellator)阶段、域着色器(domain shader, GS)阶段.通过使用这三个阶段,我们可以细分几何 阅读全文
posted @ 2023-03-17 17:51 爱莉希雅 阅读(553) 评论(0) 推荐(0) 编辑
摘要:推导 为什么需要透视矫正(Perspective-Correct Interpolation)? 在Phong Shading中,我们提到过通过使用重心插值的方式求三角形内任意一点,但这个重心插值的对象本应是世界空间中的坐标,但大多数计算都是使用透视投影后的二维平面内的数据,而恰恰问题就出在这里。如 阅读全文
posted @ 2023-03-15 23:31 爱莉希雅 阅读(173) 评论(0) 推荐(0) 编辑
摘要:前言 ​ 上篇我们谈及phone光照、法线贴图与切线空间,实现了高效的光照效果。本篇我们将基于上篇的效果实现阴影贴图添加硬阴影 原理 ​ 阴影贴图的思想是光源看不到而摄像机可以看到的地方,基于此思想我们将阴影贴图的步骤分为三步: 将光源看作一个摄像机进行渲染,将光源空间的深度值写入阴影映射纹理,记为 阅读全文
posted @ 2023-03-15 20:55 爱莉希雅 阅读(267) 评论(0) 推荐(0) 编辑
摘要:前言 ​ https://github.com/ssloy/tinyrenderer/wiki/Lesson-6:-Shaders-for-the-software-renderer本系列基于此教程总结 ​ 在上一篇中,我们学会了如何将物体从局部空间变化到世界空间中;如何移动摄像机;如何进行透视投影 阅读全文
posted @ 2023-03-15 13:43 爱莉希雅 阅读(281) 评论(0) 推荐(0) 编辑
摘要:GPGPU和GPU的区别 概念:通用GPU程序(General Purpose GPU programming,GPGPU):GPGPU通常被集成至CPU中,是一个辅助CPU的工具,可以帮助CPU进行非图形渲染的运算,GPGPU programming 则主要负责非图形相关程序的计算 为什么GPGP 阅读全文
posted @ 2023-03-02 16:24 爱莉希雅 阅读(329) 评论(2) 推荐(0) 编辑