主页
游戏项目
计算机图形学
简历
主页
游戏项目
计算机图形学
简历
More
  • 主页
  • 游戏项目
  • 计算机图形学
  • 简历
  • 主页
  • 游戏项目
  • 计算机图形学
  • 简历

3. MipMap

如何测量 mipmap 级别(lod)

Lod

其中 dx 和 dy 测量屏幕空间的变化,du 和 dv 测量纹理空间的变化。

L 测量变化的欧氏距离。取最大值即可得到一个数字。


图片来源: CMU[15362/15662], 2025Spring Rasterization and Barycentric Coordinates p82

Midmap 生成

L Williams'83

Mipmap 是通过过滤方法对原始纹理进行降采样而生成的,每降低一级分辨率就会减半。所需的额外内存约为原始纹理大小的 1/3,因此总内存使用量为原始纹理的 4/3。

三种采样方法

Nearest(最近采样)

Trilinear(三线性插值)

Bilinear(双线性插值)

  • 选择与给定纹理坐标最接近的纹素(纹理像素),无需插值。
  • 速度快但可能会产生块状外观

Bilinear(双线性插值)

Trilinear(三线性插值)

Bilinear(双线性插值)

  • 在纹理坐标周围的四个最近的纹素之间执行线性插值。
  • 与最近的采样相比,产生更平滑的结果,但仍然可能显得模糊

Trilinear(三线性插值)

Trilinear(三线性插值)

Trilinear(三线性插值)

  • 通过在两个 mipmap 级别之间进行插值来扩展双线性采样。
  • 减少混叠并平滑 mipmap 级别之间的过渡,从而提高不同距离的纹理质量。

Nearest 采样代码

Bilinear 采样代码

Trilinear 采样代码

最终效果比对

Nearest

1/3

4. 超采样

SSAA 简介

算法原理:

强制增加采样点数量,避免出现三角形穿过像素但未覆盖任何采样点的情况。例如图中,原本只有一个采样点,导致最终像素颜色为黑色。但通过使用旋转采样模式,两个采样点落在三角形区域内,导致最终颜色显示为一半红色。

步骤 1:制作采样图案

示例 :RGSS 2×2 (4x Super Sampling)

每个点都有其偏移量和权重。

它适用于沿对角线边缘或线条进行抗锯齿处理,有助于避免常规网格过采样造成的伪影。但是,在整个场景的像素以某个角度倾斜,并且该角度恰好与旋转的网格紧密对齐的情况下,它可能表现不佳。

步骤2:多次采样

怎么存储采样结果

  • 多重采样:在不同位置对图像进行多次采样(遵循特定的采样模式)并存储在帧缓冲区中。

步骤 3:解析样本的颜色

如何获得最终颜色:

  • 检索颜色:根据样本索引从帧缓冲区中检索每个像素的颜色。
  • 加权样本:根据不同采样颜色的贡献,为其分配特定的权重(例如 0.3、0.1)。
  • 混合颜色:通过根据权重混合采样的颜色来计算最终的像素颜色,从而产生更平滑、更抗锯齿的输出。

最终效果比对

No SSAA

1/4

Copyright© 2024 jimmy-jian_web -keep the right。

Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept