亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種WebGL圖形渲染引擎的建立方法與流程

文檔序號(hào):11653990閱讀:4124來源:國(guó)知局
一種WebGL圖形渲染引擎的建立方法與流程

本發(fā)明涉及圖形處理技術(shù)領(lǐng)域,特別涉及一種webgl圖形渲染引擎的建立方法。



背景技術(shù):

webgl(webgraphicslibrary)是一種3d繪圖標(biāo)準(zhǔn),這種繪圖技術(shù)標(biāo)準(zhǔn)把javascript和opengles2.0結(jié)合在一起,通過增加opengles2.0的一個(gè)javascript綁定,可以為html5canvas提供硬件3d加速渲染,提供了基于瀏覽器的無插件三維渲染跨平臺(tái)方案,可被用于創(chuàng)建具有復(fù)雜3d結(jié)構(gòu)的網(wǎng)站頁面。

webgl接口較底層,需要熟悉計(jì)算機(jī)圖形學(xué)相關(guān)知識(shí)體系才能從事相關(guān)開發(fā),使用難度非常高,并且直接使用webgl開發(fā)三維功能周期較長(zhǎng)。webgl標(biāo)準(zhǔn)推出并得到大多數(shù)瀏覽器支持的時(shí)間較短,目前國(guó)內(nèi)市場(chǎng)基于webgl的商業(yè)三維引擎封裝度非常低,無法滿足前端開發(fā)人員開發(fā)三維功能的需求。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。

為此,本發(fā)明的目的在于提出一種webgl圖形渲染引擎的建立方法。

為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種webgl圖形渲染引擎的建立方法,包括如下步驟:

步驟s1,基于webgl標(biāo)準(zhǔn),建立evm圖形渲染引擎的底層接口模塊,包括:

封裝引擎循環(huán)框架,包括事件更新和圖像幀更新;

封裝圖形數(shù)學(xué)庫模塊,包括向量及計(jì)算、歐拉角及計(jì)算、四元數(shù)及計(jì)算、歐拉角轉(zhuǎn)四元數(shù)、四元數(shù)轉(zhuǎn)歐拉角、射線拾取計(jì)算、模型包圍盒計(jì)算、顏色計(jì)算和插值計(jì)算;

封裝基本物體屬性模塊,包括三角面、線段的核心幾何體封裝,以支持正方向、球體、導(dǎo)入的自定義模型;

步驟s2,對(duì)所述底層接口模塊進(jìn)行分類整理和再封裝,形成多個(gè)功能模塊,其中,所述多個(gè)功能模塊包括:相機(jī)模塊、相機(jī)控制模塊、燈光模塊、圖片精靈模塊、材質(zhì)模塊、物理模塊、粒子發(fā)射器模塊、模型數(shù)據(jù)加載模塊、輔助物體模塊、事件綁定模塊和消息傳遞模塊;

步驟s3,根據(jù)建立的多個(gè)功能模塊,對(duì)預(yù)設(shè)的常見業(yè)務(wù)進(jìn)行封裝整合,建立evm圖形渲染引擎,提供標(biāo)準(zhǔn)api接口,供業(yè)務(wù)層使用。

進(jìn)一步,在所述步驟s1中,基于webgl標(biāo)準(zhǔn),對(duì)webgl接口進(jìn)行封裝。

進(jìn)一步,所述多個(gè)功能模塊包括:著色器、燈光控制模塊、相機(jī)控制模塊、場(chǎng)景控制模塊、物理模塊、粒子模塊、事件綁定模塊和消息傳遞模塊。

進(jìn)一步,在所述步驟s3中,預(yù)設(shè)的常見業(yè)務(wù)包括:流程制定業(yè)務(wù)、物體制定業(yè)務(wù)和報(bào)表圖表業(yè)務(wù)。

進(jìn)一步,所述步驟s2進(jìn)一步包括如下步驟:

封裝相機(jī)模塊,包括透視相機(jī)、正交相機(jī)、渲染到cube紋理相機(jī);

封裝相機(jī)控制模塊,包括飛行控制和注視旋轉(zhuǎn)控制;

封裝燈光模塊,包括環(huán)境光源、點(diǎn)光源、方向光源、聚光燈、穹型光源等,并實(shí)現(xiàn)燈光的陰影計(jì)算;

封裝圖片精靈模塊,實(shí)現(xiàn)圖片精靈的相關(guān)特性;

封裝材質(zhì)模塊,包括點(diǎn)材質(zhì)、線材質(zhì)、基礎(chǔ)材質(zhì)、標(biāo)準(zhǔn)材質(zhì)、深度材質(zhì)、法線材質(zhì)、phong材質(zhì)、蘭伯特材質(zhì)、自定義shader材質(zhì),封裝透明、半透明渲染設(shè)置;

封裝物理模塊,實(shí)現(xiàn)模型碰撞檢測(cè)等效果;

封裝粒子發(fā)射器模塊、實(shí)現(xiàn)三維粒子特效功能;

封裝模型數(shù)據(jù)加載模塊,包括obj格式、collada格式;

封裝輔助物體模塊,包括位置、包圍盒、坐標(biāo)軸、法線等輔助物體方便功能開發(fā)調(diào)試;

封裝事件綁定模塊和消息傳遞模塊,實(shí)現(xiàn)模塊間交互機(jī)制。

進(jìn)一步,所述步驟s3進(jìn)一步包括如下步驟:

建立evm圖形渲染引擎,所述evm圖形渲染引擎提供三維場(chǎng)景初始化、模型加載、燈光創(chuàng)建及設(shè)置、材質(zhì)創(chuàng)建及設(shè)置,以實(shí)現(xiàn)快速搭建web無插件三維實(shí)時(shí)渲染方案,以及提供client/server架構(gòu)三維引擎的所有標(biāo)準(zhǔn)接口。

本發(fā)明提供的evm-圖形渲染引擎基于webgl標(biāo)準(zhǔn)進(jìn)行開發(fā),對(duì)底層圖形硬件接口進(jìn)行完整封裝,生成一套完整的webgl圖形渲染引擎,比直接使用webgl開發(fā)降低了開發(fā)門檻,前端開發(fā)工程師通過培訓(xùn)能快速的使用evm-圖形渲染引擎api進(jìn)行頁面三維功能的開發(fā)。并且,evm-圖形渲染引擎還面向gis顯示,事件綁定,效果展現(xiàn)等功能進(jìn)行業(yè)務(wù)層面封裝,對(duì)外提供標(biāo)準(zhǔn)api,供業(yè)務(wù)層使用。

根據(jù)本發(fā)明實(shí)施例的webgl圖形渲染引擎的建立方法,具有以下有益效果:

(1)evm-圖形渲染引擎基于webgl原生接口進(jìn)行開發(fā),在渲染效率和性能上和同類產(chǎn)品相比有顯著提高。

(2)evm-圖形渲染引擎封裝了底層渲染硬件接口,區(qū)分基礎(chǔ)功能模塊,提供豐富api。

(3)evm-圖形庫封裝了業(yè)務(wù)層接口,同時(shí)提供詳盡功能文檔,即使沒有豐富底層硬件知識(shí)也可以做上層業(yè)務(wù)邏輯開發(fā)。evm-圖形渲染引擎使用方便,層次清晰,接口明確,文檔方便可查,方便廣大開發(fā)者進(jìn)行二次開發(fā)和功能定制。

本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。

附圖說明

本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:

圖1為根據(jù)本發(fā)明實(shí)施例的webgl圖形渲染引擎的建立方法的流程圖;

圖2為根據(jù)本發(fā)明實(shí)施例的webgl圖形渲染引擎的建立方法的示意圖。

具體實(shí)施方式

下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。

本發(fā)明實(shí)施了提供一種webgl圖形渲染引擎的建立方法,該引擎可以提供api封裝接口使用。

如圖1所示,本發(fā)明實(shí)施例的webgl圖形渲染引擎的建立方法,包括如下步驟:

步驟s1,基于webgl標(biāo)準(zhǔn),建立evm圖形渲染的底層接口模塊。

在本步驟中,基于webgl標(biāo)準(zhǔn),對(duì)webgl接口進(jìn)行封裝,形成evm圖形渲染引擎的底層接口模塊。具體接口封裝見api文檔及代碼清單。

具體地,封裝引擎循環(huán)框架,包括事件更新和圖像幀更新等。封裝圖形數(shù)學(xué)庫模塊,包括向量及計(jì)算、歐拉角及計(jì)算、四元數(shù)及計(jì)算、歐拉角轉(zhuǎn)四元數(shù)、四元數(shù)轉(zhuǎn)歐拉角、射線拾取計(jì)算、模型包圍盒計(jì)算、顏色計(jì)算、多種方式的插值計(jì)算等。封裝基本物體屬性模塊,包括三角面、線段等核心幾何體封裝,以支持正方向、球體、導(dǎo)入的自定義模型等。

步驟s2,對(duì)底層接口模塊進(jìn)行分類整理和再封裝,形成多個(gè)功能模塊。

在本發(fā)明的一個(gè)實(shí)施例中,參考圖2,多個(gè)功能模塊包括:著色器、燈光控制模塊、相機(jī)控制模塊、場(chǎng)景控制模塊、物理模塊、粒子模塊、事件綁定模塊和消息傳遞模塊等。使evm圖形渲染引擎完整可用,功能模塊清晰友好。

具體地,封裝相機(jī)模塊,包括透視相機(jī)、正交相機(jī)、渲染到cube紋理相機(jī)。封裝相機(jī)控制模塊,包括飛行控制和注視旋轉(zhuǎn)控制等。封裝燈光模塊,包括環(huán)境光源、點(diǎn)光源、方向光源、聚光燈、穹型光源等,并實(shí)現(xiàn)燈光的陰影計(jì)算。封裝圖片精靈模塊,實(shí)現(xiàn)圖片精靈的相關(guān)特性。封裝材質(zhì)模塊,包括點(diǎn)材質(zhì)、線材質(zhì)、基礎(chǔ)材質(zhì)、標(biāo)準(zhǔn)材質(zhì)、深度材質(zhì)、法線材質(zhì)、phong材質(zhì)、蘭伯特材質(zhì)、自定義shader材質(zhì),封裝透明、半透明渲染設(shè)置等。

封裝物理模塊,實(shí)現(xiàn)模型碰撞檢測(cè)等效果。封裝粒子發(fā)射器模塊、實(shí)現(xiàn)三維粒子特效功能。封裝模型數(shù)據(jù)加載模塊,包括obj格式、collada格式等。封裝輔助物體模塊,包括位置、包圍盒、坐標(biāo)軸、法線等輔助物體方便功能開發(fā)調(diào)試。封裝事件綁定模塊和消息傳遞模塊,實(shí)現(xiàn)模塊間交互機(jī)制。

步驟s3,根據(jù)建立的多個(gè)功能模塊,對(duì)預(yù)設(shè)的常見業(yè)務(wù)進(jìn)行封裝整合,建立evm圖形渲染引擎,提供標(biāo)準(zhǔn)api接口,供業(yè)務(wù)層使用。

其中,預(yù)設(shè)的常見業(yè)務(wù)包括:流程制定業(yè)務(wù)、物體制定業(yè)務(wù)和報(bào)表圖表業(yè)務(wù)。詳見api接口文檔。

evm圖形渲染引擎提供詳細(xì)的api接口和豐富的手冊(cè)和文檔,降低開發(fā)人員學(xué)習(xí)和二次開發(fā)的技術(shù)成本。

具體地,evm圖形渲染引擎提供了三維場(chǎng)景初始化、模型加載、燈光創(chuàng)建及設(shè)置、材質(zhì)創(chuàng)建及設(shè)置等功能模塊,實(shí)現(xiàn)了快速搭建web無插件三維實(shí)時(shí)渲染方案。evm圖形渲染引擎具有豐富方便的接口,提供了傳統(tǒng)client/server架構(gòu)三維引擎的所有標(biāo)準(zhǔn)接口,并且使用高效的圖形算法,讓開發(fā)人員在開發(fā)三維功能開發(fā)時(shí),不需要額外擔(dān)心圖形渲染的性能問題。

本發(fā)明提供的evm-圖形渲染引擎基于webgl標(biāo)準(zhǔn)進(jìn)行開發(fā),對(duì)底層圖形硬件接口進(jìn)行完整封裝,生成一套完整的webgl圖形渲染引擎,比直接使用webgl開發(fā)降低了開發(fā)門檻,前端開發(fā)工程師通過培訓(xùn)能快速的使用evm-圖形渲染引擎api進(jìn)行頁面三維功能的開發(fā)。并且,evm-圖形渲染引擎還面向gis顯示,事件綁定,效果展現(xiàn)等功能進(jìn)行業(yè)務(wù)層面封裝,對(duì)外提供標(biāo)準(zhǔn)api,供業(yè)務(wù)層使用。

根據(jù)本發(fā)明實(shí)施例的webgl圖形渲染引擎的建立方法,具有以下有益效果:

(1)evm-圖形渲染引擎基于webgl原生接口進(jìn)行開發(fā),在渲染效率和性能上和同類產(chǎn)品相比有顯著提高。

(2)evm-圖形渲染引擎封裝了底層渲染硬件接口,區(qū)分基礎(chǔ)功能模塊,提供豐富api。

(3)evm-圖形庫封裝了業(yè)務(wù)層接口,同時(shí)提供詳盡功能文檔,即使沒有豐富底層硬件知識(shí)也可以做上層業(yè)務(wù)邏輯開發(fā)。evm-圖形渲染引擎使用方便,層次清晰,接口明確,文檔方便可查,方便廣大開發(fā)者進(jìn)行二次開發(fā)和功能定制。

在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。

盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求極其等同限定。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1