《Computer-Generated Pen-and-Ink Illustration》
Georges Winkenbach David H. Salesin
Department of Computer Science and EngineeringUniversity of Washington
Seattle, Washington 98195
计算机生成的笔墨插图
本文介绍了传统笔墨插图的原理,并说明了如何将大量的这些插图实现为自动绘制系统的一部分。 它引入了“笔触纹理”,可用于通过线条绘制实现纹理和色调。 笔触纹理还允许进行与分辨率相关的渲染,其中插图中使用的笔触选择与目标介质的分辨率适当相关。 我们使用复杂的建筑模型来演示这些技术,包括Frank Lloyd Wright的“ Robie House”。
在本文中,我们研究了复杂形式的“非照片逼真的”渲染算法。插图胜过照片的好处已广为人知。例如,医学文本几乎总是使用手绘插图来代替照片(或除了照片之外),因为它们可以更好地描述微小的隐藏结构。本文描述的研究最直接的启发是Saito和Takahashi的工作,他们介绍了用于创建可理解的3D场景渲染的“ G缓冲区”的概念[22]。我们的工作采用了某种不同的方法,因为它集成了2D和3D渲染的各个方面,而一旦创建了G缓冲区集,他们的方法就实质上使用了图像处理技术。此外,通过介绍使用笔触对表面进行纹理化的方法,本文的工作扩展了可以以纯自动化方式生成的渲染类型的全部功能。
2.Principle
2.1 Strokes
在经典的笔墨插图中,通过将笔的笔尖或“笔尖”与纸张接触,然后让笔尖找到一条路径来产生“笔画”。 笔触的粗细可以通过改变笔尖上的压力来改变。
2.2 Tones and texture
术语“值”和“色调”可互换使用,是指从表面上的一点向观察者反射的可见光量。在传统的笔墨插图中,不可能精确地描绘每个表面的值。而是使用笔触组合来创建所需色调的整体印象。
通过笔划组合获得的色调是插图中给定区域上黑色墨水与白纸的比率的函数。 如果笔画的特征变化,则也可以同时使用用于获得特定色调的相同笔画来指示要渲染的对象的“纹理”。 笔触既传达色调又传递纹理的双重作用,是笔墨插图经济的一部分。
2.3 Outlines
真实的场景没有真实的轮廓; 而是通过纹理和色调的变化来定义形式。 但是,轮廓仍然是描绘物体的一种非常自然的方法。
钢笔和墨水的媒介是创造具有难以置信的表现力的轮廓的理想选择。笔允许轮廓改变厚度,有时会完全消失。 另外,轮廓笔触的特征是纹理的一个非常强大的指示器。
轮廓描边不仅用于对象的轮廓,还用于描绘其内部的基本要素。 例如,在叶子的图示中,除了轮廓之外,通常还以轮廓绘制静脉。
不同的渲染样式使用轮廓和色调的各种组合; 所有组合都是可能的。 此外,轮廓图和色调图之间存在着一个整体范围:随着轮廓图变得越来越复杂,它们开始以越来越多的方式呈现色调图。以下是绘制表达轮廓的一些重要的经典原理:
•轮廓笔画的质量对传达纹理很重要。例如,清晰的直线适合硬对象,而更多种类的线条质量更适合软对象。
•粗轮廓用于表示阴影或使一个物体或物体的一部分在场景中向前移动。 粗线交界处用于提示物体重叠,并在插图中添加“曲线”。
•轮廓应该是“晕”,并在一个物体经过另一个物体时淡出。
•必须在省略色调以表达形状的地方引入轮廓。
•使用“indication”绘制轮廓与绘制色调一样重要。
3 Computer-generated pen-and-ink illustration
将传统的“图形渲染流程”用于真实感图像,并查看哪些部分(如果有的话)需要修改,以支持这种非真实感风格。
我们确定了两个基本差异:
1.笔画的双重性。在传统的图形流水线中,纹理和色调的渲染是完全独立的。纹理通常被定义为分配给每个表面的一组图像,这将影响着色参数。色调是通过调光或使渲染的色调变亮而产生的,同时保持纹理不变。然而,对于钢笔和墨水插图,同样的笔触,产生的色调也必须用来传达纹理。因此,色调和纹理必须在一个系统中变得更加紧密地联系在一起,以产生这种类型的图像。
2.二维和三维信息的结合。在传统的图形流程中,用于渲染的信息是完全三维的,最终投影到二维空间主要是对渲染的阴影进行采样。对于笔墨插图,所使用的特定投影的2D方面与用于创建适当渲染的3D信息一样重要。必要的二维信息有多种形式。首先,投影面积的大小必须用来计算适当的笔画密度,以适应上述笔画的双重性质。此外,还必须使用投影几何体的二维邻接,由于轮廓线取决于2D边界之间的连接类型(2D中的两个相邻区域在3D中是相邻还是一个接一个地通过),相邻二维区域色调对比度。
因此,我们的渲染系统是一个基本的图形流程图,有几个显着的变化。流程图的标准方面包括:
A.光照模型,Phong模型
B.笔触纹理
C.阴影算法
4.Strokes and stroke texture
4.1Strokes
在我们的系统中,所有的笔画都是通过沿着基本的直线路径移动笔尖而产生的。通过用波纹函数扰动路径,通过用压力函数改变笔尖上的压力,将特征添加到笔尖上。图1展示了不同的波纹度和压力函数可以实现的一些效果。附录A.3.1对我们的笔画有更详细的解释。
一些笔触纹理的原则:
•色调应从粗细和间距大致相等的线条中创建。
•不一定要准确地描述每个色调;但是,在相邻区域之间呈现正确地色调是必不可少的。
•为了消除物体的歧义,有时通过增强对比度或创造阴影来“增强色调”非常重要。
•笔触的特性对于表现纹理,几何图形和照明非常重要。 例如:
·酥脆的直线对“玻璃”有益。
·水平面应以阴影线为主
·完全没有细节表示眩光。
·粗略的线条适用于“旧”材料,而小心点画则适用于“新”材料
•重要的是要利用某种形式的“指示”来传达纹理的印象,而不必绘制每个笔触。
4.2 Stroke texture
笔触纹理是用于产生纹理和色调的笔划的集合。 我们将优先级笔划纹理定义为一组笔划,每个笔划均具有关联的优先级。 渲染优先的笔触纹理时,将首先绘制所有优先级最高的笔触; 如果渲染的色调仍然太浅,则添加下一个最高优先级的笔画,依此类推,直到获得正确的色调为止。
对于笔触纹理,我们为纹理的不同方面分配不同的优先级。例如,对于“砖”纹理,单个砖块元素的轮廓具有最高优先级,为单个砖块着色(shading)的笔触具有中等优先级,而在整个表面上的阴影线(hatching)具有最低优先级。在阴影线纹理中,垂直笔划优先于水平笔划,水平笔划优先于各种对角笔划方向。
正如纹理生成原理中所讨论的那样,建议纹理而不绘制每个最后的笔划很重要。 这种“指示”原理使经济性得到了例证。 通过吸引观看者的想象力而不是揭示所有内容,它还使插图更加有力。indication是笔墨生最难掌握的技术之一。 它需要在适当的位置放置足够的细节,并以微妙和不引人注目的方式将细节淡化到表面的未装饰部分中。
借鉴了由线段生成场的想法,用户以交互方式在图像上放置“细节段”,以指示应在何处出现细节。每个段都投影并附着到为其设计指示的3D表面纹理上。
4.3 Outline
轮廓有两种类型:边界轮廓和内部轮廓。
边界轮廓围绕图像的可见多边形,并且必须以考虑到周围区域的纹理以及平面地图中存储的邻接信息的方式绘制。
内部轮廓用于在多边形中暗示阴影方向,或给笔触纹理提供与视图相关的强调。
5.summary
但是,我们认为它仍然为计算机图形学界做出了许多贡献。这些贡献包括:
•从传统插图中调查已建立的原理,这些原理可用于有效地传达视觉信息。
•表明可以将大量这些原理作为自动渲染系统的一部分加以组合,并且用于驱动普通图形管线的信息在很多方面也足以实现重要的非真实感效果。
•引入“优先笔触纹理”的概念,这是一个从笔触创建纹理的通用框架,并提供了构建这些纹理的程序版本的方法。
•允许使用一种与分辨率有关的渲染形式,其中插图中使用的笔触选择应与目标介质的分辨率适当相关。