CN104778739A - 一种计算机实时素描渲染算法 - Google Patents
一种计算机实时素描渲染算法 Download PDFInfo
- Publication number
- CN104778739A CN104778739A CN201510139934.8A CN201510139934A CN104778739A CN 104778739 A CN104778739 A CN 104778739A CN 201510139934 A CN201510139934 A CN 201510139934A CN 104778739 A CN104778739 A CN 104778739A
- Authority
- CN
- China
- Prior art keywords
- scene
- model
- algorithm
- rendering
- plane
- 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
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种计算机实时素描渲染算法,使用两个不同的模型场景进行渲染,其中,3D场景是需要渲染的模型所在的主要场景,2D场景是进行后期混合使用的场景,先在3D场景中渲染出模型的深度、法线和Hatching算法的素描笔触结果,并将其输出到Frame Buffer里,然后在2D场景中进行混合。本发明设计采用了WebGL,使用JavaScript和HTML显示3D效果,为了显示更加细致的光影效果,再渲染明暗效果时引入了烘焙的方法决定贴图的混合模式,因此也能够显示出阴影的效果。
Description
技术领域
本发明涉及计算机图学,具体涉及非真实感绘制技术。
背景技术
非真实感绘制(NPR)是3D渲染中一个很重要的门类,其使用NPR技术,实时渲染出类似于素描作品的渲染效果,与之相关的渲染技术主要包括:
1.卡通风格的Shading渲染;
2.模型边缘和轮廓的风格化;
3.模型表面的笔触效果。
WebGL作为一种新兴的技术,在实现一些效果的技巧方面仍处于空白的状态。
发明内容
本发明针对WebGL技术,提出了一种基计算机实时素描渲染算法。
为解决上述技术问题,本发明采用如下技术方案:一种计算机实时素描渲染算法,其特征在于:使用两个不同的模型场景进行渲染,其中,3D场景是需要渲染的模型所在的主要场景,2D场景是进行后期混合使用的场景,先在3D场景中渲染出模型的深度、法线和Hatching算法的素描笔触结果,并将其输出到Frame Buffer里,然后在2D场景中进行混合。
优选的,2D场景仅包含一个非透视类型的摄像机和一个与视口大小相同的平面,通过为这一平面编写Shader,并将之前输出到Frame Buffer中的渲染图作为贴图应用于平面,就可以进行混合了。
优选的,模型表面边缘的检测算法结合了采用深度检测的方法和采用法线方向检测的方法,最终得到了Plane算法。
本发明设计采用了WebGL,使用JavaScript和HTML显示3D效果,为了显示更加细致的光影效果,再渲染明暗效果时引入了烘焙的方法决定贴图的混合模式,因此也能够显示出阴影的效果。
具体实施方式
本发明使用两个不同的模型场景进行渲染。其中,3D场景是需要渲染的模型所在的主要场景,2D场景是进行后期混合使用的场景。
本文先在3D场景中渲染出模型的深度、法线和Hatching算法的素描笔触结果,并将其输出到Frame Buffer里。然后在2D场景中进行混合。2D场景仅包含一个非透视类型的摄像机和一个与视口大小相同的平面。通过为这一平面编写Shader,并将之前输出到Frame Buffer中的渲染图作为贴图应用于平面,就可以进行混合了。
模型表面边缘的检测算法结合了采用深度检测的方法和采用法线方向检测的方法。最终得到了Plane算法。算法的基本原理是,对于在投影到屏幕上的两个相邻的像素点。利用深度信息换算出其在摄像机坐标系中的坐标,然后结合两点在摄像机坐标中的法线方向进行计算。
设两点换算到摄像机坐标系中的位置坐标为p1;p2,法线方向为n1;n2。则我们可以使用
γ=max{(p1-p2)·n1,(p2-p1)·n2}
作为这两点的一个距离函数。在决定某一像素po是否应该作为边缘加重时,采用十字星采样的方法。取得其上下左右四个像素的位置和发现方向。设这四个点为ps;pn;pw,pe,取下列参数作为判定的参数
θo=α|(γ(ps,pn),γ(pw,pe))|
其中α是一个缩放因子。使用po的深度值do作为阈值,当满足式1的时候将po设为边缘点予以加深。
θo≥do (1)
素描笔触的效果使用的Hatching算法的基本原理是,将三种不同密度的笔触贴图应用在模型表面。根据笔触所在位置的明暗调整贴图的混合。为了实现交叉的笔触效果,这里采用了复用相同的贴图并进行旋转混合的方式。
设u(x;y)是对于贴图在其(x;y)坐标上的颜色深度值。以四个元素组成的向量表示RGBA格式的颜色,那么最终采样使用的贴图颜色是:
uv(x,y)×u(αy,αx)
在Hatching算法中有两种混合方法:
1.第一种混合方法,在混合时仅考虑当前色彩的明暗深度值,为各个贴图分配不同的权重,然后将结果叠加起来。
2.第二种混合方法,在渲染时将像素所在三角形表面的顶点信息考虑进来,分别以三个顶点到对应边的垂线方向使用两张贴图进行混合,再将所有的结果混合起来。
本文采用了使用烘焙贴图提供明暗信息的方法进行贴图混合,实现过程需要通过OpenGL的实时渲染管线进行。此外第二种方法无法细致表现三角形平面内部细致的光影变化。而场景中大部分三角形表面的尺寸较大,使用第二种方法无法表现细致的明暗变化。
设T0;T1;.....;Tl是经过上述交叉处理之后产生的笔触贴图,s0;s1;..;sl分别是他们的混合权重,则最终混合贴图的Hatching算法可以表示为
其中为正则化因子,保证有效的贴图权重之和为1.0。
设tuv为烘焙的光影贴图在(u;v)坐标提供的明暗值,且tuv 2[0;1]。则通过公式2确定si的值。
最后使用乘法方式将得到的边缘和Hatching算法的结果混合起来。设最后显示出来的颜色值为c,边缘算法输出的颜色是coutline,Hatching算法的输出是chatching,那么混合公式为
c=coutline×chatching
这里的c;coutline和chatching都是思维向量表示的颜色值。
Claims (3)
1.一种计算机实时素描渲染算法,其特征在于:使用两个不同的模型场景进行渲染,其中,3D场景是需要渲染的模型所在的主要场景,2D场景是进行后期混合使用的场景,先在3D场景中渲染出模型的深度、法线和Hatching算法的素描笔触结果,并将其输出到Frame Buffer里,然后在2D场景中进行混合。
2.根据权利要求1所述的一种计算机实时素描渲染算法,其特征在于:2D场景仅包含一个非透视类型的摄像机和一个与视口大小相同的平面,通过为这一平面编写Shader,并将之前输出到Frame Buffer中的渲染图作为贴图应用于平面,就可以进行混合了。
3.根据权利要求1所述的一种计算机实时素描渲染算法,其特征在于:模型表面边缘的检测算法结合了采用深度检测的方法和采用法线方向检测的方法,最终得到了Plane算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510139934.8A CN104778739A (zh) | 2015-03-27 | 2015-03-27 | 一种计算机实时素描渲染算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510139934.8A CN104778739A (zh) | 2015-03-27 | 2015-03-27 | 一种计算机实时素描渲染算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104778739A true CN104778739A (zh) | 2015-07-15 |
Family
ID=53620183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510139934.8A Pending CN104778739A (zh) | 2015-03-27 | 2015-03-27 | 一种计算机实时素描渲染算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778739A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608718A (zh) * | 2015-12-23 | 2016-05-25 | 苏州汇莱斯信息科技有限公司 | 一种基于gpu的计算机实时素描渲染算法 |
CN106910237A (zh) * | 2017-02-24 | 2017-06-30 | 盐城工学院 | 一种计算机实时素描渲染系统及其算法 |
CN111127623A (zh) * | 2019-12-25 | 2020-05-08 | 上海米哈游天命科技有限公司 | 模型的渲染方法、装置、存储介质及终端 |
CN112116692A (zh) * | 2020-08-28 | 2020-12-22 | 北京完美赤金科技有限公司 | 模型渲染方法、装置、设备 |
CN113935893A (zh) * | 2021-09-09 | 2022-01-14 | 完美世界(北京)软件科技发展有限公司 | 素描风格的场景渲染方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300602A (zh) * | 2005-11-01 | 2008-11-05 | 微软公司 | 草绘真实 |
CN101587593A (zh) * | 2009-06-19 | 2009-11-25 | 西安交通大学 | 一种基于真实图像素描风格化的方法 |
US20140253546A1 (en) * | 2011-11-11 | 2014-09-11 | Google Inc. | Side-by-Side and Synchronized Displays for Three-Dimensional (3D) Object Data Models |
-
2015
- 2015-03-27 CN CN201510139934.8A patent/CN104778739A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300602A (zh) * | 2005-11-01 | 2008-11-05 | 微软公司 | 草绘真实 |
CN101587593A (zh) * | 2009-06-19 | 2009-11-25 | 西安交通大学 | 一种基于真实图像素描风格化的方法 |
US20140253546A1 (en) * | 2011-11-11 | 2014-09-11 | Google Inc. | Side-by-Side and Synchronized Displays for Three-Dimensional (3D) Object Data Models |
Non-Patent Citations (1)
Title |
---|
CHASE ZHANG: "使用WebGL实现素描效果的渲染", 《HTTPS://IO-METER.COM/2014/12/31/SKETCH-RENDERING/》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608718A (zh) * | 2015-12-23 | 2016-05-25 | 苏州汇莱斯信息科技有限公司 | 一种基于gpu的计算机实时素描渲染算法 |
CN106910237A (zh) * | 2017-02-24 | 2017-06-30 | 盐城工学院 | 一种计算机实时素描渲染系统及其算法 |
CN111127623A (zh) * | 2019-12-25 | 2020-05-08 | 上海米哈游天命科技有限公司 | 模型的渲染方法、装置、存储介质及终端 |
CN111127623B (zh) * | 2019-12-25 | 2023-08-29 | 上海米哈游天命科技有限公司 | 模型的渲染方法、装置、存储介质及终端 |
CN112116692A (zh) * | 2020-08-28 | 2020-12-22 | 北京完美赤金科技有限公司 | 模型渲染方法、装置、设备 |
CN112116692B (zh) * | 2020-08-28 | 2024-05-10 | 北京完美赤金科技有限公司 | 模型渲染方法、装置、设备 |
CN113935893A (zh) * | 2021-09-09 | 2022-01-14 | 完美世界(北京)软件科技发展有限公司 | 素描风格的场景渲染方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778739A (zh) | 一种计算机实时素描渲染算法 | |
CN104183016B (zh) | 一种快速的2.5维建筑物模型的构建方法 | |
CN104318605B (zh) | 矢量实线与三维地形的并行贴合渲染方法 | |
CN111127623B (zh) | 模型的渲染方法、装置、存储介质及终端 | |
KR20080050279A (ko) | 다단계 해상도 지형의 이미지 튐 현상 완화 장치 및 방법 | |
US10525351B2 (en) | Composing an image | |
CN104574496B (zh) | 一种计算光照图的静态阴影和动态阴影融合的方法及装置 | |
CN102243768A (zh) | 一种三维虚拟场景立体画面的绘制方法 | |
CN103778599A (zh) | 一种图像处理方法及系统 | |
JP2014529796A5 (zh) | ||
US20170372512A1 (en) | System and Methods for Generating Procedural Window Lighting Effects | |
CN109448137A (zh) | 交互方法、交互装置、电子设备及存储介质 | |
CN110349261B (zh) | 基于gis生成三维热力图的方法 | |
CN101221658A (zh) | 基于软件的环幕帧缓存纹理重贴几何校正方法 | |
CN104217461B (zh) | 一种基于深度图模拟实时凹凸效果的视差映射方法 | |
CN101393651A (zh) | 一种视野驱动的实时阴影方法 | |
CN107430783A (zh) | 纹理映射装置、纹理映射方法和程序 | |
CN106204703A (zh) | 三维场景模型渲染方法和装置 | |
CN103403755A (zh) | 图像处理方法及装置 | |
CN105631924A (zh) | 一种场景中扭曲效果的实现方法 | |
CN105023288B (zh) | 二维矢量实线在三维场景中的视觉误差消除方法 | |
CN102663802A (zh) | 一种游戏地形道路生成方法和装置 | |
CN102722902A (zh) | 一种图形渲染流水线中光栅化阶段反走样的改进方法 | |
CN109829962B (zh) | 一种利用opengl的物体空间消隐线计算加速方法 | |
CN109155074B (zh) | 用于无缝隙地渲染点的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150715 |
|
RJ01 | Rejection of invention patent application after publication |