欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種計算機實時素描渲染算法

文檔序號:8457831閱讀:306來源:國知局
一種計算機實時素描渲染算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機圖學(xué),具體涉及非真實感繪制技術(shù)。
【背景技術(shù)】
[0002] 非真實感繪制(NPR)是3D渲染中一個很重要的門類,其使用NPR技術(shù),實時渲染 出類似于素描作品的渲染效果,與之相關(guān)的渲染技術(shù)主要包括:
[0003] 1.卡通風格的Shading植染;
[0004] 2.模型邊緣和輪廓的風格化;
[0005] 3?模型表面的筆觸效果。
[0006] WebGL作為一種新興的技術(shù),在實現(xiàn)一些效果的技巧方面仍處于空白的狀態(tài)。

【發(fā)明內(nèi)容】

[0007] 本發(fā)明針對WebGL技術(shù),提出了一種基計算機實時素描渲染算法。
[0008] 為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案:一種計算機實時素描渲染算法, 其特征在于:使用兩個不同的模型場景進行渲染,其中,3D場景是需要渲染的模型所在的 主要場景,2D場景是進行后期混合使用的場景,先在3D場景中渲染出模型的深度、法線和 Hatching算法的素描筆觸結(jié)果,并將其輸出到FrameBuffer里,然后在2D場景中進行混 合。
[0009] 優(yōu)選的,2D場景僅包含一個非透視類型的攝像機和一個與視口大小相同的平面, 通過為這一平面編寫Shader,并將之前輸出到FrameBuffer中的渲染圖作為貼圖應(yīng)用于 平面,就可以進行混合了。
[0010] 優(yōu)選的,模型表面邊緣的檢測算法結(jié)合了采用深度檢測的方法和采用法線方向檢 測的方法,最終得到了Plane算法。
[0011] 本發(fā)明設(shè)計采用了WebGL,使用JavaScript和HTML顯示3D效果,為了顯示更加細 致的光影效果,再渲染明暗效果時引入了烘焙的方法決定貼圖的混合模式,因此也能夠顯 示出陰影的效果。
【具體實施方式】
[0012] 本發(fā)明使用兩個不同的模型場景進行渲染。其中,3D場景是需要渲染的模型所在 的主要場景,2D場景是進行后期混合使用的場景。
[0013] 本文先在3D場景中渲染出模型的深度、法線和Hatching算法的素描筆觸結(jié)果,并 將其輸出到FrameBuffer里。然后在2D場景中進行混合。2D場景僅包含一個非透視類 型的攝像機和一個與視口大小相同的平面。通過為這一平面編寫Shader,并將之前輸出到 FrameBuffer中的植染圖作為貼圖應(yīng)用于平面,就可以進行混合了。
[0014] 模型表面邊緣的檢測算法結(jié)合了采用深度檢測的方法和采用法線方向檢測的方 法。最終得到了Plane算法。算法的基本原理是,對于在投影到屏幕上的兩個相鄰的像素 點。利用深度信息換算出其在攝像機坐標系中的坐標,然后結(jié)合兩點在攝像機坐標中的法 線方向進行計算。
[0015] 設(shè)兩點換算到攝像機坐標系中的位置坐標為pi;p2,法線方向為nl;n2。則我們可 以使用
[0016] y=max{(p1-p2) ? (p2-Pi) ?n2}
[0017] 作為這兩點的一個距離函數(shù)。在決定某一像素po是否應(yīng)該作為邊緣加重時,采用 十字星采樣的方法。取得其上下左右四個像素的位置和發(fā)現(xiàn)方向。設(shè)這四個點為pS;pn; pw,pe,取下列參數(shù)作為判定的參數(shù)
[0018] 0 〇=a|(y(ps,pn) ,y(pw,pe))
[0019] 其中a是一個縮放因子。使用p〇的深度值do作為閾值,當滿足式1的時候?qū)o設(shè)為邊緣點予以加深。
[0020] 0〇^do (1)
[0021] 素描筆觸的效果使用的Hatching算法的基本原理是,將三種不同密度的筆觸貼 圖應(yīng)用在模型表面。根據(jù)筆觸所在位置的明暗調(diào)整貼圖的混合。為了實現(xiàn)交叉的筆觸效果, 這里采用了復(fù)用相同的貼圖并進行旋轉(zhuǎn)混合的方式。
[0022] 設(shè)u(x;y)是對于貼圖在其(x;y)坐標上的顏色深度值。以四個元素組成的向量 表示RGBA格式的顏色,那么最終采樣使用的貼圖顏色是:
[0023] uv(x,y)Xu(ay,ax)
[0024] 在Hatching算法中有兩種混合方法:
[0025] 1.第一種混合方法,在混合時僅考慮當前色彩的明暗深度值,為各個貼圖分配不 同的權(quán)重,然后將結(jié)果疊加起來。
[0026] 2.第二種混合方法,在渲染時將像素所在三角形表面的頂點信息考慮進來,分別 以三個頂點到對應(yīng)邊的垂線方向使用兩張貼圖進行混合,再將所有的結(jié)果混合起來。
[0027] 本文采用了使用烘焙貼圖提供明暗信息的方法進行貼圖混合,實現(xiàn)過程需要通過 OpenGL的實時渲染管線進行。此外第二種方法無法細致表現(xiàn)三角形平面內(nèi)部細致的光影變 化。而場景中大部分三角形表面的尺寸較大,使用第二種方法無法表現(xiàn)細致的明暗變化。
[0028] 設(shè)TO;T1 ;……;T1是經(jīng)過上述交叉處理之后產(chǎn)生的筆觸貼圖,s0;sl. ;sl分 別是他們的混合權(quán)重,則最終混合貼圖的Hatching算法可以表示為
[0029]
【主權(quán)項】
1. 一種計算機實時素描渲染算法,其特征在于:使用兩個不同的模型場景進行渲染, 其中,3D場景是需要渲染的模型所在的主要場景,2D場景是進行后期混合使用的場景,先 在3D場景中植染出模型的深度、法線和Hatching算法的素描筆觸結(jié)果,并將其輸出到 FrameBuffer里,然后在2D場景中進行混合。
2. 根據(jù)權(quán)利要求1所述的一種計算機實時素描渲染算法,其特征在于:2D場景僅包含 一個非透視類型的攝像機和一個與視口大小相同的平面,通過為這一平面編寫Shader,并 將之前輸出到FrameBuffer中的渲染圖作為貼圖應(yīng)用于平面,就可以進行混合了。
3. 根據(jù)權(quán)利要求1所述的一種計算機實時素描渲染算法,其特征在于:模型表面邊緣 的檢測算法結(jié)合了采用深度檢測的方法和采用法線方向檢測的方法,最終得到了Plane算 法。
【專利摘要】本發(fā)明公開了一種計算機實時素描渲染算法,使用兩個不同的模型場景進行渲染,其中,3D場景是需要渲染的模型所在的主要場景,2D場景是進行后期混合使用的場景,先在3D場景中渲染出模型的深度、法線和Hatching算法的素描筆觸結(jié)果,并將其輸出到Frame Buffer里,然后在2D場景中進行混合。本發(fā)明設(shè)計采用了WebGL,使用JavaScript和HTML顯示3D效果,為了顯示更加細致的光影效果,再渲染明暗效果時引入了烘焙的方法決定貼圖的混合模式,因此也能夠顯示出陰影的效果。
【IPC分類】G06T15-00
【公開號】CN104778739
【申請?zhí)枴緾N201510139934
【發(fā)明人】盛斌, 田立武, 張越青, 蔣斌, 王偉鋒
【申請人】浙江慧谷信息技術(shù)有限公司
【公開日】2015年7月15日
【申請日】2015年3月27日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灵山县| 女性| 克拉玛依市| 应城市| 隆昌县| 华池县| 隆昌县| 新营市| 平利县| 芜湖县| 额尔古纳市| 杭锦旗| 丹棱县| 松潘县| 绍兴市| 徐闻县| 肇州县| 五常市| 班戈县| 来凤县| 岳西县| 吉首市| 蒙城县| 玛沁县| 克东县| 庆元县| 荣昌县| 武义县| 绿春县| 德昌县| 五大连池市| 襄城县| 乐山市| 保靖县| 织金县| 稷山县| 林甸县| 华亭县| 大冶市| 嘉兴市| 菏泽市|