中EN
概念页

笔触与表面风格化

Stroke Surface Stylization

除卡通外,表面还可以呈现素描、炭笔、铅笔等笔触风格。核心问题是:按明暗选择笔触纹理,并在物体远近变化、运动时保持屏幕上笔触粗细和密度稳定。屏幕空间纹理会产生"浴室门效应",贴在表面上的纹理又要用色调艺术贴图 (TAM) 解决缩放问题。

按明暗选纹理与浴室门效应(15.3 节)

  • Lake 等用漫反射项选择纹理:漫反射越暗,选用笔触越密的纹理;纹理用屏幕空间坐标贴上以获得手绘感,再在屏幕空间给所有表面叠一层纸张纹理。
  • 主要问题是浴室门效应 (shower door effect):动画中物体像隔着花纹玻璃,仿佛在纹理中游动。Breslav 等寻找最匹配底层模型若干位置运动的二维图像变换,既保持填充图案的屏幕感,又与物体联系更紧。

色调艺术贴图 (Tonal Art Maps)

直接把纹理贴在表面上时,笔触纹理需要保持较均匀的粗细和密度:放大时笔触太粗;缩小时要么被模糊掉,要么变得细碎嘈杂(取决于是否用 mipmap)。

  • Praun 等把笔触直接画进各 mipmap 层级,形成 TAM:每一层包含其左侧(更浅色调)和上方(更粗层级)纹理中的全部笔触,因此 mip 层之间、相邻色调之间插值都平滑,物体距离变化时屏幕上笔触密度保持稳定。渲染时在各顶点所需色调间插值,得到手绘感。Klein 等的 "art maps" 思路相近。
  • Webb 等的两个扩展:用体积纹理以支持颜色;用阈值方案改善抗锯齿。
  • Nuebel 的炭笔渲染:噪声纹理沿一个轴由暗到亮,用强度值沿该轴索引。Lee 等用 TAM 等技术生成逼真的铅笔画效果。
flowchart LR
  L["光照强度"] --> T{"选色调"}
  T --> A["浅色调 TAM: 稀疏笔触"]
  T --> B["中色调 TAM"]
  T --> C["深色调 TAM: 密集笔触"]
  A & B & C --> M["按距离选 mip 层: 笔触密度在屏幕上恒定"]

上图示意 TAM 的两维:横向按色调选纹理,纵向按 mip 层保持屏幕密度。

其他笔触技巧

  • 为产生素描感,可让边抖动或越过原始端点(过冲)。
  • 主曲率方向笔触 (Girshick 等):表面每点的第一主方向指向最大曲率,第二主方向与之垂直、表面弯曲最小。这些方向线对曲面感知很重要,且与光照无关,静态模型只需生成一次;Hertzmann 与 Zorin 讨论如何清理和平滑主方向。
  • Graftal:按需在表面添加几何或贴花纹理产生特定效果,可由所需细节层次、表面朝向等控制,也能模拟钢笔或笔刷笔触;几何 graftal 是一种过程建模。

取舍

  • 屏幕空间笔触:实现简单、风格感强,但有浴室门效应。
  • 表面纹理 + TAM:与物体绑定、密度稳定,但需预先制作多层笔触纹理。
  • NPR 没有物理基准,速度、质量与实现成本之间的权衡要按应用判断。
  1. realtime_rendering_4ed.pdf 第 15 章 Non-Photorealistic Rendering

相关页面

图形学卡通着色Toon Shading非真实感渲染 (NPR,也称风格化渲染) 不追求照片般逼真,而是追求特定目的或画风。卡通 / cel 渲染是其中最受关注的一种:用实线分隔大块纯色区域。表面着色常用纯色填充、两色"硬着色"、或对最终图像做色调分离 (posterization);描边见 轮廓边与几何描边。图形学轮廓边与几何描边Contour Edges & Geometric Outlining卡通渲染的黑色描边可以按表面着色、过程几何、图像处理、几何边检测或混合方式生成。本页讲边的分类,以及在几何层面生成描边的三类方法:基于着色法线、背面过程几何(偏移、膨胀、外壳)、显式检测轮廓边并做隐藏线消除。图像空间方法见 图像空间边缘检测。图形学图像空间边缘检测Image-Space Edge Detection不碰场景几何,只对渲染出的深度、法线、物体 ID 等缓冲(G-buffer)做图像处理来找出描边位置,再用形态学算子加粗、与着色结果合成。它对任何表面都适用、不要求网格连通,是游戏中最常见的描边方式之一;缺点是边的判定需要按内容调参,可能漏检或误检。图形学纹理过滤与 MipmapTexture Filtering & Mipmap纹理在屏幕上被放大时需要插值,被缩小时一个像素覆盖许多纹素,必须预先滤波才能避免混叠。放大用最近邻、双线性或双三次;缩小的主流方案是 mipmap + 三线性插值,斜视角下用各向异性过滤减少过度模糊。注意:过滤纹理值只在输入与着色结果线性相关时等价于过滤最终颜色。图形学纹理映射管线Texturing Pipeline纹理通过修改着色方程中使用的值(颜色、粗糙度、法线等)来高效表现表面材质的变化。通用纹理管线是:空间位置 → 投影函数得到纹理坐标 → 对应函数变换到纹理空间 → 取值 → 值变换 → 用于着色。本页还整理纹理坐标约定、纹理表示方式、程序纹理、纹理动画、材质贴图、alpha 贴图和纹理光源。

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原