OpenGL 视差贴图(Parallax Mapping)

参考: 视差贴图(Parallax Mapping)学习笔记 视差映射(Parallax Mapping) Learn about Parallax(视差贴图)

July 18, 2022 · 1 min · Rick Cui

OpenGL Gamma 校正和线性工作流

sRGBA 和 RGBA

July 18, 2022 · 1 min · Rick Cui

OpenGL Shading Frequencies

July 10, 2022 · 0 min · Rick Cui

OpenGL 纹理采样

有两个不同的概念:像素(Pixel)和纹素(Texel) 在纹理上查询纹素有两种方式: 点查(Point Query):小纹理,而要对纹理放大 范围查(Range Query):动态生成 Mipmap 小纹理:低分辨率纹理应用到高分辨率设备,会产生马赛克问题 Nearest:邻近点 Bilinear:双线性插值 Bicubic: 大纹理:高分辨率纹理应用到低分辨率设备,会有 锯齿(Jaggies) 和 摩尔纹(Moire) 等 走样(Aliasing) 的问题 多重采样(supersampling) 面采样求平均值 Mipmap:图像金字塔 具有速度快、只是近似值且只能是方形范围的特点 会额外占用 1/3 的原始纹理显存空间,总共 4/3 的显存占用 三线性插值(Trilinear interpolation): 先在相邻两层 Mipmap 中分别进行 Bilinear 插值,再在结果之上进行线性插值 局限性:会存在 overblur 的问题 各项异性过滤(Anisotropic Filtering)(Ripmap): 对于平行于坐标轴的矩形区域查询有较好的表现,但是对于非矩形区域仍是效果不佳 会额外占用 3 倍的显存空间 纹理映射的不规则区域 EWA Filtering:...

July 10, 2022 · 1 min · Rick Cui

OpenGL 重心坐标与插值

重心坐标在投影下不是不变的,所以如果要获取光栅化后三角形内部像素点的深度,不能使用光栅化后三角形的重心坐标进行插值,而是要先找到像素点中心位置对应的三维世界的三维坐标,在三维世界中进行深度插值计算。 参考: 利用重心坐标平滑插值三角形顶点的任何属性 GAMES101-现代计算机图形学入门-闫令琪

July 9, 2022 · 1 min · Rick Cui