SDF&RayMarching

图形学  

  

2020-04-11 09:24:09

这个号荒废了好久,因为疫情在家这些日子继续学了点跟Shader有关的知识,就拿工作号做个记录吧,我会慢慢从最基础的Shader知识开始分享同时也会有一部分数学原理的,如果有错误也希望大家及时更正,这个东西还是非常有意思的。 这几天打交道的东西比较多的就是RayMarching同时也避免不了用SDF建模,可以理解为纯数学硬核建模。以前因为家里电脑配置太垃圾,有时玩的64KB的枪战小游戏,这种程序体积...

光栅化之线段扫描转换算法

图形学  算法  

  

2020-08-31 05:18:04

光栅化之线段扫描转换算法 线段扫描转换算法就是通常所说的 DDA 算法,它是以数字微分分析器(Digital Differential Analyzer)命名的,这种数字微分分析器是早期用于微分方程数字仿真的机电设备。因此直线满足下面的微分方程: 假定线段的两个端点为(x1,y1)(x2,y2)(x_1, y_1) (x_2, y_2)(x1​,y1​)(x2​,y2​),那么有 因为像素的坐标是...

BRDF理论及shader实现(下)

图形学  BRDF  

  

2020-10-07 16:51:19

接上篇: BRDF理论及shader实现(上) Specular BRDF 对于specular分量来说, f m f_m fm​是一个遵循菲涅尔反射定律的镜面BRDF项,此时的 f m f_m fm​满足([3]和[21]有详细的推导): f m ( l , v , m ) = F ( v , m ) δ ω m ( h , m ) 4 ( l ⋅ h ) 2 ...

两种不同的PBR工作流介绍

图形学  PBR  

  

2020-10-09 14:42:33

本文介绍两种常用的PBR材质工作流:金属/粗糙度工作流(Metal/Roughness)和镜面反射/光泽度工作流(Specular/Glossiness)。这两种工作流都可以用来制作一个支持PBR的材质,并用PBR渲染出逼真的效果,它们没有优劣之分,只是对同一种现象的不同实现。理解了这两种工作流,才可以更好的理解PBR着色器的一些参数及其使用背后的原理。 本文参考了Substance出版的The ...

首先我们看作业1的要求: 本次作业的任务是填写一个旋转矩阵和一个透视投影矩阵。给定三维下三个 点 v 0 (2 . 0 , 0 . 0 , 2 . 0) , v 1 (0 . 0 , 2 . 0 , 2 . 0) , v 2 ( 2 . 0 , 0 . 0 , 2 . 0) , 你需要将这三个点的坐 标变换为屏幕坐标并在屏幕上绘制出对应的线框三角形 ( 在代码框架中,我们已 经提供了 draw_t...