dx12学习之旅-

记录一下,第一篇博客2024年7月26日下午。
计划在毕业后从事游戏开发的工作,现在在学习龙书dx12,平时会写一些对龙书内容上的一些理解。在读完全书之后,会考虑进行一次龙书相关的总结,不过这应该要很长一段时间吧。

在写龙书的blog之前,先从games101开始入手。

参考blog:https://www.yuque.com/gaoshanliushui-mbfny/sst4c5/agupih#8af4f8bb

-2.16
05光栅化

三角形?
• 最基础的多边形 (其他图形可分解为三角形)
• 为一个平面
• 内外定义清晰
• 定义三个顶点,三角形内可插值

光栅化--Rasterization

采样--Sampling

离散化连续函数


for(int x = 0; x < xmax; ++x)
    output[x] = f(x);

img

定义一个二元函数--用以判断像素中心点在三角形内


inside(t,x,y) = 1 Point (x,y) in triangle t
                0 otherwise

采样函数

for(int x = 0; x < xmax; ++x)
    for(int y = 0; y < ymax; ++y>)
    image[x][y] = inside(tri,x + 0.5, y+ 0.5);

原理:像素在三角形内

P2P0 * P2Q,P0P1 * P0Q, P1P2 * P1Q符号相同则在内部,否则为外部

img

Bounding Box

使用一个Bounding Box,对其内部点进行采样,可减少不必要的计算

img

锯齿

经过上述光栅化,得到图片会发生走样,又称锯齿
img
反走样则为解决此问题,

06光栅化

反走样


像素值采用均值

img

Regular Sampling

像素值为纯红色或纯白色

img

解释

采样前滤除高频滤波,缩小原信号的间隔

img

计算像素值的均值

 均值即为一个像素点被三角形覆盖的面积
 the average value inside a pixel area of f(x,y) = inside(triangle,x,y) 
 is equal to the area of the 
 pixel covered by the triangle.
 

img

反走样的实现,可以参考MSAA。

MSAA

多重采样MSAA(Multi Sampling Anti-Aliasing),对任何一个像素点进行平均,可以理解为,像素分解为更小的像素,计算它们中心点在三角形内,得到覆盖率,则可得到像素对应的颜色
 

一次采样
img

对像素进行N * N次采样
img

计算多重采样的均值
img

采样结果
img

FXAA

快速近似抗锯齿FXAA(Fast Approximate Anti-Aliasing),与MSAA不同,不增加采样次数,进行采样后,从图像进行,找到三角形的边界,将有锯齿的边界替换,处理很快。
 
TAA

时间抗锯齿TAA(Temporal Anti-Aliasing),将静态图片在时间上进行采样

缩小 关闭
PERFECT WORLD ARENA
,可以理解为,MSAA像素分解的N个最小像素,在N帧中分别进行采样,每次采样考虑上一帧的结果,又为MSAA对应的样本分布在时间上,

DLSS

深度学习超级采样DLSS(Deep Learning Super Sampling),依赖于深度学习,使用低分辨率图像(比如1080p)生成高分辨率图像(8K),再把8K图像缩回4K,得到抗锯齿图像,以代替传统的时间抗锯齿等技术。
 

2.17
07着色

着色的定义:物体应用材质的过程
img

Inputs

观测方向\(\hat{v}\)

法线\(\hat{n}\)

光照方向\(\hat{l}\)

表面参数(color,shininess)

着色,不会渲染阴影


泛光反射 泛光反射即环境光,
做出假设:任何一个点接受环境光相同,可以得到理想经验模型

img

Ka--表面对环境光的反射率
Ia--入射环境光的亮度

这个式子与\(\hat{l}\)\(\hat{n}\)\(\hat{v}\)无关,可以这个正式理想模型La是常数即一个颜色

泛光反射效果图

img


Diffuse Reflection--漫反射

img
漫反射是光从一定角度入射之后,从入射点向四面八方反射,且每个不同方向反射的光的强度相等

Lambert’s cosine law --郎伯余弦定律

img

\(\hat{l}\)\(\hat{n}\)夹角决定光照强度,光强应乘上\(\cos\theta = l*n\)

Light Falloff --能量衰退定理

img

点光源,半径越大,能量越小,光强应除上r2

(r为光源到入射点距离)

根据两个理论,可以获得Lambert漫反射模型

img

kd-漫反射系数,修改kd可得到物体表面不同颜色
-一个vector,表示一个RGB三通道,定义一个颜色
I-入射光强
r-光源到入射点距离
n-法向量方向
l-入射方向
max()-剔除夹角大于90的光

式子中没有出现\(\hat{v}\),也证实了漫反射与观察方向无关。

漫反射效果图

img

img

posted @ 2025-02-18 02:06  Insanial  阅读(59)  评论(0)    收藏  举报