
图形学
镜子.
游戏开发
努力成为一个全能游戏制作人
展开
-
GAMES202-高质量实时渲染笔记04-Environment Mapping
Split Sum环境光贴图分为Spherical map、Cube Map.如何从环境光贴图中计算场景内物体的Shading结果?方法名叫IBL(Image-Based Lighting)利用蒙特卡洛积分求解。但是对每一个像素点进行采样计算,效率很低,目前可能可以解决,但最好还是运用不采样方式解决。如果BRDF是glossy 则积分区域就很小如果BRDF是diffuse 则积分区域就大但是还smooth。所以可以利用这个公式当GX积分域较小,或者GX比较SMOOTH下可以用。拆分原创 2021-04-22 15:58:30 · 394 阅读 · 0 评论 -
GAMES202-高质量实时渲染笔记03-SDF
Distance field soft shadow距离场阴影空间中任意一个点,到一个表面的最小距离。SDF=0时为边界。对两张图做平均,并不能得到过渡的图像假如将图片转换为SDF 再做线性插值Ray-Marching利用SDF进行Spher tracing进行判断。SDF距离内都是安全距离,所以光线可以继续向外传输。利用距离场生成软阴影从安全距离转换为安全角,从某个shading point看去,得到的安全角越小,可遮挡视野越多。将光线延伸,得到不同安全角,取最小的安全角。通过反原创 2021-04-10 17:05:56 · 381 阅读 · 0 评论 -
GAMES202-高质量实时渲染笔记02-ShadowMapping
Variance Soft Shadow Mappingvssm为了处理pcss第一步与第三步较慢的问题。pcf其实就是想通过shadow map上一个区域,来知道这个区域中有多少像素的深度比自身要小。但是如果全部对比完所有区域,则速度十分慢。vssm通过近似的正态分布,不需要全体数据,即可知道自身排百分之几。只需要知道均值和方差。均值:在shadowmap上,一个正方形区域的均值可以利用MipMap技术。Summed Area Tables(SAT)也可以完成均值计算。方差:Var(X)原创 2021-04-08 17:42:55 · 372 阅读 · 0 评论 -
GAMES202-高质量实时渲染笔记01-ShadowMapping
ShadowMapping一共做两次计算,第一次从灯光出发,记录各点最近深度形成shadowmap。第二次从摄像机出发,利用shadowmap进行阴影判断。但是会出现自遮挡现象,以及走样现象因为shadowmap有像素分别率,从某个像素看去,覆盖过去的深度,就是一个像素大小常值深度。橘色值方片,就是一个常值深度,随后后面像素被遮挡。解决办法:通过夹角判断忽略一小段距离。secondDepth shadowmapping还记录次小深度,利用最小和次小深度的中间深度,来做阴影投射。原创 2021-04-07 16:41:46 · 252 阅读 · 0 评论 -
计算机图形学学习记录-01-点的旋转和平移
声明一个点P为(2,1) 先按原点逆时针旋转45°,再平移(1,2)。利用齐次线性做。本作业使用c++Eigen库完成。对于点p先进行升维,变成(2,1, 1)旋转矩阵为对旋转矩阵进行升维再将旋转矩阵升维的第三列输入平移值就会先进行旋转 再进行平移acos(-1)约等于πEigen::Matrix<double,3,1> p;//升维点P p << 1.0, 0, 1.0; cout << "这是点P的坐标:\n"; cout<< p&原创 2020-09-16 17:31:58 · 854 阅读 · 0 评论