CN108776987A - 一种基于屏幕空间的模型轮廓绘制方法 - Google Patents
一种基于屏幕空间的模型轮廓绘制方法 Download PDFInfo
- Publication number
- CN108776987A CN108776987A CN201810483649.1A CN201810483649A CN108776987A CN 108776987 A CN108776987 A CN 108776987A CN 201810483649 A CN201810483649 A CN 201810483649A CN 108776987 A CN108776987 A CN 108776987A
- Authority
- CN
- China
- Prior art keywords
- pixel
- picture
- screen space
- alpha
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Abstract
本发明方法具备高效率和精确且算法简易等优点。基于屏幕空间的模型轮廓算法主要的思想在于栅格化后的模型物体在屏幕空间的轮廓扩张,本发明方法是在屏幕空间进行处理,因此不存在轮廓线不连续以及不均质的情况。此外屏幕空间的像素处理从应用场景上来讲效率较高,绘制成本不随场景规模成比例增长。本发明方法的处理只是与屏幕像素分辨率相关,与场景数据大小无关。
Description
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及一种基于屏幕空间的高性能的模型轮廓绘制方法。
背景技术
物体轮廓绘制这一个功能在游戏和模型编辑器中很常见,比如在游戏场景中物件选取高亮等。
在图形学实时渲染技术中,常用的模型轮廓绘制算法中一般采用法线扩充加stencil-buffer的处理技术。简要操作如下:
1、开启并清空StencilBuffer。
2、绘制物体并设置StenciBuffer.物体可以是不透明或者透明。
3、然后设置StencilMode为只当Stencil值没有设置值的时候才写入像素。
4、将物体的顶点沿着法线方向扩充,扩充长度与物体中z-buffer里面的深度值成正比,然后用纯色shader绘制.
5、关闭StencilBuffer。
这种算法实现起来相对比较简单,但是存在一些缺点:
效率相对低下,因为这种算法要求绘制物体两次,相当于加倍了渲染开销。涉及StencilBuffer的管理,对体系要求相对较高。如图1所示,这种方法最主要的一个缺点就是可能出现轮廓线不连续以及不均质的情况。此外,像素处理从应用场景上来讲,绘制成本随场景规模成比例增长。
发明内容
为了解决上述问题,本发明提供一种基于屏幕空间的模型轮廓绘制方法,包括如下步骤:
S1、导入待绘制物体的图片,图片为实心;
S2、将待绘制物体的图片的所有网格数据和对应的材质收集到渲染队列中;
S3、根据渲染队列中的材质特效,分析影响轮廓线效果的因素,处理得到纯色材质,然后将原渲染队列的材质全部替换成对应的纯色材质;
S4、掏空待绘制物体的图片并进行轮廓水平拓展;首先根据我们所需的轮廓厚度设定我们需要的像素个数n,n≥1;然后,依次扫描某像素的分别左右2个像素,并根据此像素与左右2个像素颜色差异设置该像素的Alpha通道值,如果此像素与左右的2个像素颜色均相同则设置这个像素的Alpha通道为0即将其抠空;如果此像素与其左右2个像素存在差异,则将此像素的颜色写成填充色并将Alpha设置为;
S5、将步骤S4中进行水平拓展后的图片进行垂直方向的处理;取出正在处理的像素的Alpha值记为A,该像素与上下两个像素任意一个存在差异,则将该像素的alpha通道写成1否则写成A;
S6、将步骤S5中的处理结果通过透明混合叠加到主场景中。
本发明方法具备高效率和精确且算法简易等优点。基于屏幕空间的模型轮廓算法主要的思想在于栅格化后的模型物体在屏幕空间的轮廓扩张,本发明方法是在屏幕空间进行处理,因此不存在轮廓线不连续以及不均质的情况。此外屏幕空间的像素处理从应用场景上来讲效率较高,绘制成本不随场景规模成比例增长。本发明方法的处理只是与屏幕像素分辨率相关,与场景数据大小无关。
附图说明
图1是传统方式下轮廓绘制效果示意图;
图2是本发明的一种基于屏幕空间的模型轮廓绘制方法待绘制的物体图片;
图3是本发明的一种基于屏幕空间的模型轮廓绘制方法对待绘制的物体图片进行掏空和水平拓展处理示意图;
图4是水平拓展处理时Alpha值为0的像素处理示意图;
图5是水平拓展处理时Alpha值为1的像素处理示意图;
图6是水平拓展处理后物体轮廓示意图;
图7是垂直处理后物体轮廓示意图;
图8是轮廓通过透明混合叠加到主场景中示意图。
具体实施方式
为了更好的理解本发明,下面结合附图详细说明本发明。
如图2所示,待绘制的物体图片,设置轮廓颜色为任意所需颜色。
将要绘制的物体的所有网格数据和对应的材质收集到渲染队列中;据渲染队列中的材质特效,考虑其中是否会有影响轮廓线效果的因素,比如是否有AlphaTest以及不透明度贴图,从而得到对应的纯色材质。然后将原渲染队列的材质全部替换成对应的纯色材质。接下来对图3的实心图进行掏空以及轮廓水平拓展,具体实施原理如下:
首先要根据我们所需的轮廓厚度设定我们需要的像素个数;
假设我们想要的轮廓厚度为5个像素(这个值可以根据具体场景的需要进行动态调整);
描某像素的分别左右两个像素,如图4所示,如果此像素与左右的两个像素颜色均相同则设置这个像素的Alpha通道为0即相当于将其抠空;如图5所示,如果此像素与其左右两个像素存在差异,则将这个像素的颜色写成填充色并将Alpha设置为1。这样就保证了水平方向的轮廓扩充以及内部像素的抠除,运行结果如图6所示。
对水平拓展处理后的结果接着做垂直方向的处理,经过水平拓展处理后的所有像素的Alpha值不是0就是1,首先取出正在处理的该像素的Alpha值记为A,如果该像素与上下两个像素任意一个存在差异,则将该像素的alpha通道写成1否则写成A,处理结果如图7所示。
将垂直处理结果通过透明混合叠加到主场景中,结果如图8所示。
本发明方法具备高效率和精确且算法简易等优点。基于屏幕空间的模型轮廓算法主要的思想在于栅格化后的模型物体在屏幕空间的轮廓扩张,本发明方法是在屏幕空间进行处理,因此不存在轮廓线不连续以及不均质的情况。此外屏幕空间的像素处理从应用场景上来讲效率较高,绘制成本不随场景规模成比例增长。本发明方法的处理只是与屏幕像素分辨率相关,与场景数据大小无关。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种基于屏幕空间的模型轮廓绘制方法,其特征在于,包括如下步骤:
S1、导入待绘制物体的图片,图片为实心;
S2、将待绘制物体的图片的所有网格数据和对应的材质收集到渲染队列中;
S3、根据渲染队列中的材质特效,分析影响轮廓线效果的因素,处理得到纯色材质,然后将原渲染队列的材质全部替换成对应的纯色材质;
S4、掏空待绘制物体的图片并进行轮廓水平拓展;
S5、将步骤S4中进行水平拓展后的图片进行垂直方向的处理;
S6、将步骤S5中的处理结果通过透明混合叠加到主场景中。
2.根据权利要求1所述的一种基于屏幕空间的模型轮廓绘制方法,其特征在于,
所述步骤S4中,对掏空的待绘制物体的图片进行水平拓展,包括以下步骤:
S41、根据我们所需的轮廓厚度设定我们需要的像素个数n,n≥1;
S42、依次扫描某像素的分别左右2个像素,并根据此像素与左右2个像素颜色差异设置该像素的Alpha通道值,如果此像素与左右的2个像素颜色均相同则设置这个像素的Alpha通道为0即将其抠空;如果此像素与其左右2个像素存在差异,则将此像素的颜色写成填充色并将Alpha设置为1。
3.根据权利要求2所述的一种基于屏幕空间的模型轮廓绘制方法,其特征在于,
所述步骤S5中,将步骤S4中进行水平拓展后的图片进行垂直方向的处理,包括以下步骤:
S51、取出正在处理的像素的Alpha值记为A,该像素与上下两个像素任意一个存在差异,则将该像素的alpha通道写成1否则写成A。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810483649.1A CN108776987A (zh) | 2018-05-19 | 2018-05-19 | 一种基于屏幕空间的模型轮廓绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810483649.1A CN108776987A (zh) | 2018-05-19 | 2018-05-19 | 一种基于屏幕空间的模型轮廓绘制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108776987A true CN108776987A (zh) | 2018-11-09 |
Family
ID=64027279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810483649.1A Pending CN108776987A (zh) | 2018-05-19 | 2018-05-19 | 一种基于屏幕空间的模型轮廓绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776987A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110060325A (zh) * | 2019-04-19 | 2019-07-26 | 成都四方伟业软件股份有限公司 | 屏幕空间渲染方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106023196A (zh) * | 2016-05-19 | 2016-10-12 | 福建大娱号信息科技股份有限公司 | 一种基于目标人物的非单色背景抠像方法 |
-
2018
- 2018-05-19 CN CN201810483649.1A patent/CN108776987A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106023196A (zh) * | 2016-05-19 | 2016-10-12 | 福建大娱号信息科技股份有限公司 | 一种基于目标人物的非单色背景抠像方法 |
Non-Patent Citations (1)
Title |
---|
王小明: "一种简单易行的灰度图像边缘检测方法", 《百度文库》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110060325A (zh) * | 2019-04-19 | 2019-07-26 | 成都四方伟业软件股份有限公司 | 屏幕空间渲染方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022078281A (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
US6885378B1 (en) | Method and apparatus for the implementation of full-scene anti-aliasing supersampling | |
US6825847B1 (en) | System and method for real-time compression of pixel colors | |
CN109785417B (zh) | 一种实现OpenGL累积操作的方法及装置 | |
EP1306810A1 (en) | Triangle identification buffer | |
KR20160051154A (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US8130234B2 (en) | Computer graphics rendering apparatus and method | |
JP2008165760A (ja) | グラフィックスを処理する方法および装置 | |
US10186068B2 (en) | Method, apparatus and system for rendering an image | |
CN106067188B (zh) | 在图形处理系统中对基元进行图块化 | |
CN106575429A (zh) | 图形处理单元中的高阶滤波 | |
CN107392836A (zh) | 使用图形处理管线实现的立体多投影 | |
KR20130095651A (ko) | 텍스트 렌더링을 위한 룩업 테이블 | |
CN102067204A (zh) | 图像处理装置、显示装置、图像处理方法、程序和记录介质 | |
KR20100044874A (ko) | 2d 벡터 이미지의 멀티-샘플 렌더링 | |
CN106575428A (zh) | 图形处理单元中的高阶滤波 | |
JPWO2006013849A1 (ja) | 描画装置 | |
CN107016638A (zh) | 于系统存储器中产生α提示的方法及其图形装置 | |
CN108776987A (zh) | 一种基于屏幕空间的模型轮廓绘制方法 | |
KR20180038793A (ko) | 영상 데이터 처리 방법 및 장치 | |
US6693644B1 (en) | Graphic accelerator reducing and processing graphics data | |
CN102542528A (zh) | 一种图像转换处理方法及系统 | |
CN112740278B (zh) | 用于图形处理的方法及设备 | |
EP0855682B1 (en) | Scan line rendering of convolutions | |
CN114463400A (zh) | 一种基于纹理对象分割的纹理采样方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181109 |
|
WD01 | Invention patent application deemed withdrawn after publication |