色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何選擇最合適的數(shù)字孿生引擎?B/S架構(gòu)還是C/S架構(gòu)?

jf_00255370 ? 來源:jf_00255370 ? 作者:jf_00255370 ? 2023-06-25 13:41 ? 次閱讀

上一期講了什么是3D引擎以及3D引擎的發(fā)展史,本期回到數(shù)字孿生引擎:

什么是B/S架構(gòu)和C/S架構(gòu)?

WebGL與WebGPU又有什么關(guān)系?

開發(fā)數(shù)字孿生必須要用數(shù)字孿生引擎嗎?游戲引擎不是也可以開發(fā)數(shù)字孿生嗎?

什么是B/S與C/S架構(gòu)?

常見的3D引擎可以分成兩大類,一類是Native3D引擎(客戶端),這類引擎以Unity、UE4等游戲引擎為主,另一類是Web3D引擎(瀏覽器),以ThingJS 3D等基于WebGL和WebGPU開發(fā)的渲染引擎為主。

wKgaomSX05aAVb-hAAOtv2Bkd7I32.webp

所以,目前數(shù)字孿生市場上有兩種技術(shù)路線,一個是基于游戲3D引擎的走C/S架構(gòu)的,一個是基于Web 3D引擎的走B/S架構(gòu)。

先來說說什么是C/S架構(gòu),C/S架構(gòu)是第一種比較早的軟件架構(gòu),主要用于局域網(wǎng)內(nèi),分為客戶機和服務(wù)器兩層。C/S架構(gòu)軟件有一個特點,就是如果用戶要使用的話,需要下載一個客戶端,安裝后就可以使用。例如,Office、QQ等軟件。

B/S架構(gòu)的全稱為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu),Browser指的是Web瀏覽器,極少數(shù)事務(wù)邏輯在前端實現(xiàn),但主要事務(wù)邏輯在服務(wù)器端實現(xiàn),分為表現(xiàn)層、邏輯層和數(shù)據(jù)層三層。B/S架構(gòu)的系統(tǒng)無需特別安裝,只用Web瀏覽器即可。

C/S架構(gòu)數(shù)字孿生系統(tǒng)缺點顯而易見,它只能安裝在局域網(wǎng)中,需要下載才能使用,一般規(guī)模的數(shù)字孿生系統(tǒng)都得十幾個甚至幾十個G,每次升級都要更新所有客戶端,優(yōu)點就是效果足夠精美,且只有一層交互,因此響應(yīng)速度較快。B/S架構(gòu)數(shù)字孿生系統(tǒng)效果可能不如C/S架構(gòu)效果那么好,優(yōu)點是無需安裝,可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實現(xiàn)多客戶訪問的目的,交互性較強。

WebGL與WebGPU的區(qū)別與聯(lián)系

提到WebGL與WebGPU,必須要提OpenGL圖形渲染接口,了解的朋友可能比較熟悉,OpenGL是一個跨平臺的行業(yè)標準,可以部署在Windows、MacOS、Linux、Andriod和iOS上,而且學(xué)習(xí)門檻很低,使用場景更加廣泛,除游戲外,大量的工業(yè)設(shè)計、仿真和數(shù)字孿生應(yīng)用都在使用OpenGL。

wKgZomSX05eAWC95AAF6mnWena864.webp

OpenGL是一個很大的家族,最早的OpenGL1.0是1991年發(fā)布的,后來每隔幾年都會更新一個版本。到了2012年WebGL才發(fā)布。WebGL天然是擁抱瀏覽器的,它以O(shè)penGL ES為基礎(chǔ),做了一些API裁剪和瀏覽器適配。

WebGL誕生的背景是因為互聯(lián)網(wǎng)的高速發(fā)展,基于瀏覽器的Web應(yīng)用越來越廣泛。程序員們就想,安裝那么多插件實在太麻煩,能否用瀏覽器直接訪問3D應(yīng)用呢?而且C++C#太難學(xué),能不能直接用JavaScript開發(fā)3D應(yīng)用程序呢?于是,WebGL在千呼萬喚中應(yīng)運而生。

而WebGPU是GPU顯卡硬件向瀏覽器開放的低級應(yīng)用程序接口,底層是基于 Vulkan、Metal和DirectThingJS 3D 12,是WebGL的升級版,更好地支持和開放了GPU顯卡的最新技術(shù),能提供更好的性能,更好地支持多線程,更好地使用GPU實現(xiàn)很多渲染和計算上的優(yōu)化,并采用了面向?qū)ο蟮?a target="_blank">編程風(fēng)格。

為什么說游戲引擎并不是做數(shù)字孿生的最佳選擇?

為什么游戲引擎不是做數(shù)字孿生的最佳選擇?其實《游戲引擎架構(gòu)》這本書中給出了答案:在游戲領(lǐng)域,沒有所謂最好的引擎,只有最合適的引擎,這句話同樣適用于數(shù)字孿生領(lǐng)域。

那回到本文的主題,如何選擇最合適數(shù)字孿生項目的引擎呢?在思考這個問題前,我們先要搞清楚數(shù)字孿生場景和游戲場景的區(qū)別。

做數(shù)字孿生,主要的業(yè)務(wù)場景是城市、園區(qū)、樓宇和數(shù)據(jù)中心的運營管理,業(yè)務(wù)價值是幫助人們更好地認知和管理現(xiàn)實世界。所以,這種業(yè)務(wù)場景和游戲有很大的區(qū)別。游戲大都是封閉的虛擬世界,里面出現(xiàn)的人物、事件和地點都是事先設(shè)計好的,游戲中做出的決策也不會影響現(xiàn)實世界。

而數(shù)字孿生是用來管理現(xiàn)實世界的,現(xiàn)實世界有大量的工具平臺需要兼容和集成、有大量的實時數(shù)據(jù)需要接入和處理,這些都是傳統(tǒng)游戲引擎難以適應(yīng)的。

另外,現(xiàn)實世界的管理需求在不斷演變,數(shù)字孿生應(yīng)用就需要不停地迭代,甚至以周為單位交付新的管理功能。如果用游戲引擎來做數(shù)字孿生應(yīng)用開發(fā)周期長且不說,而且迭代起來非常麻煩。因此就需要一個低門檻、易調(diào)試、高性能的引擎來開發(fā)數(shù)字孿生應(yīng)用。

所以數(shù)字孿生的最佳引擎應(yīng)該具備以下特點:

1??支持海量實時數(shù)據(jù)驅(qū)動現(xiàn)實世界有大量的傳感器,這就需要數(shù)字孿生體是能夠被實時數(shù)據(jù)驅(qū)動的,能夠根據(jù)數(shù)據(jù)狀態(tài)的變化而變化

2??支持與第三方物聯(lián)系統(tǒng)的無縫整合目前物聯(lián)網(wǎng)領(lǐng)域已經(jīng)有眾多的樓宇監(jiān)控系統(tǒng)、資產(chǎn)管理系統(tǒng)和物聯(lián)控制系統(tǒng)存在,數(shù)字孿生系統(tǒng)并非要取代這些系統(tǒng)工具,而是實現(xiàn)數(shù)據(jù)互通和界面整合,而且大部分已有系統(tǒng)都是Web應(yīng)用,所以數(shù)字孿生引擎必須兼容Web應(yīng)用

3??更快的需求響應(yīng)速度和適變能力對于一個現(xiàn)實世界的管理系統(tǒng)而言,管理場景會不斷演進,功能需求也會不斷變化,系統(tǒng)要發(fā)揮價值,就必須不斷地優(yōu)化,疊加新功能,所以開發(fā)的效率十分重要。要提升開發(fā)效率,最好的辦法是采用前端編程語言,Javascript是前端開發(fā)者使用最廣泛的語言,學(xué)習(xí)門檻低,開發(fā)效率遠遠高于傳統(tǒng)游戲引擎。

為數(shù)字孿生而生的渲染引擎——ThingJS 3D

UINO優(yōu)锘的ThingJS 3D渲染引擎是一款Web 3D渲染引擎。很多伙伴可能想問,Web平臺有很多的開源引擎,如:three.js,BabylonJS,PlayCanvas,ClayGL,Oasis等,以及在CS端也有,如:Unity、UE、CryEngine、Ogre等引擎,為什么UINO優(yōu)锘要開發(fā)自己的引擎呢?

UINO優(yōu)锘自2012年創(chuàng)立之初,就在項目中對一些引擎做了較深入的研究和實踐,發(fā)現(xiàn)這些引擎并不能完全滿足我們所面對的領(lǐng)域的需求。

這種情況下,我們結(jié)合了之前使用C++開發(fā)的引擎經(jīng)驗、WebGL的開發(fā)經(jīng)驗、上述引擎的使用經(jīng)驗、以及項目中的實踐經(jīng)驗,開發(fā)了WebGL版的ThingJS 3D引擎,以便更好地服務(wù)于Web平臺的3D渲染。

wKgaomSX05iAVjvUAAlRzXz6hAQ13.webp

ThingJS 3D渲染效果

在ThingJS 3D渲染引擎的框架設(shè)計中,主要分為四層:標準封裝層,渲染邏輯層,場景資源層和擴展層。標準封裝層,渲染邏輯層,場景資源層構(gòu)成核心庫 ThingJS 3D。

核心庫是一個Web優(yōu)先的,最小可運行的通用圖形渲染庫。Web優(yōu)先指的是ThingJS 3D主要基于WebGL和WebGPU作為底層繪圖標準。通用圖形渲染庫指的是ThingJS 3D并不限定圖形渲染以外的其它邏輯,適用性與擴展性比較好。另外,UINO優(yōu)锘官方提供常用需求的擴展,作為第二方庫供開發(fā)者使用。至于定制化的需求,支持由開發(fā)者基于ThingJS 3D開發(fā)第三方庫。

wKgZomSX05mAR-bvAAK2fO3gxZo14.webp

ThingJS 3D渲染引擎架構(gòu)

渲染引擎封裝的功能,從大的分類來說,可以分為:場景樹,幾何體,材質(zhì),渲染管線,下面簡要介紹一下ThingJS 3D在這些方面的改進:

1??場景樹

改進了場景樹矩陣更新的邏輯,基于內(nèi)置的矩陣標臟系統(tǒng),可以進行觸發(fā)式更新。簡單理解就是,有改變再更新,不改變不更新,在大多數(shù)項目中,可以極大提高矩陣更新效率,從而提升渲染幀率。

優(yōu)化Uniform的預(yù)處理,場景中全局參數(shù),燈光參數(shù),可以單獨進行更新并cache,提高Uniform上傳效率。

可擴展的渲染層級列表,更方便地渲染排序?;阡秩緦蛹?,可方便地實現(xiàn)背景,場景,覆蓋物的排序分離,并基于深度緩沖分層,滿足特定渲染需求。能一定程度上解決透明圖標遮擋問題,滿足alwaysOnTop,Overlay的需求等等。

wKgaomSX05mAAY2bAACf5el_f4A15.webp

2??幾何體

核心庫提供Geometry,Attribute,Buffer類,提供逐頂點的幾何體描述。同時支持Instance繪制。基于幾何體的封裝,我們可以接收多種類型的數(shù)據(jù)進行渲染:

模型加載器,例如核心庫示例部分提供的GLTFLoader,VoxLoader等

程序生成,例如:點,線,面,管,擠出等

自定義數(shù)據(jù),例如第三方GIS數(shù)據(jù),實時傳輸數(shù)據(jù)等

wKgZomSX05qAYhLCAAN5q3PB3eg01.webp

在點線面的擴展上,ThingJS 3D的官方示例部分,會提供業(yè)務(wù)場景(ThingJS)中常用的幾何體生成計算模塊。

wKgaomSX05qAcnqaAAE0SDGR-yE40.webp

3??材質(zhì)

一般的Web渲染引擎中,很難基于內(nèi)置材質(zhì)進行擴展。例如three.js,材質(zhì)的Uniform上傳與材質(zhì)類型是深度耦合的,因此很難基于Standard材質(zhì)實現(xiàn)掃光等材質(zhì)特效。ThingJS 3D提供了材質(zhì)繼承機制,只需要簡單插入著色器邏輯,即可實現(xiàn)對PBR材質(zhì)的快捷修改。

wKgZomSX05uAIF_jAAXJ8Zd05Nc91.webp

4??渲染管線

常見的WebGL引擎中,渲染器的渲染功能容易是過度耦合的。ThingJS 3D面向基于GPU加速的圖形接口,即WebGL與WebGPU,基于這樣的思路,我們抽離出RenderPass的概念。

目前我們提供WebGLRenderPass作為默認的渲染通道,未來,幾乎可以無縫切換到WebGPURenderPass。這樣在我們推出WebGPU渲染器后,不需要改變上層代碼邏輯,即可直接實現(xiàn)WebGPU的渲染。

wKgaomSX05uAIao4AABSl4OcEMk51.webp

另外,ThingJS 3D提供的接口可以單獨處理“場景圖信息的收集”與“渲染列表的生成”,并可以執(zhí)行力度更低的渲染命令。便于實現(xiàn)高性能的后處理流程擴展。在實際渲染中,物體勾邊,發(fā)光等后期,往往需要多通道的渲染。在下圖中,同樣是執(zhí)行兩通道的渲染,ThingJS 3D執(zhí)行的流程,能避免很多冗余的邏輯。

wKgZomSX05uAV-7YAAFgZ11OUd885.webp

基于這樣的設(shè)計,我們提供了高級渲染器(EffectComposer)的擴展。高級渲染器是一個后期混合器,并內(nèi)置了常用的后期處理模塊。高級渲染器為ThingJS提供了豐富的后期特效支持。

wKgaomSX05yALCPaAAUoxoTIv0g26.webp

除了全屏幕的后期處理效果,EffectComposer還提供逐物體的特效解決方案。未來,ThingJS 3D還在快速迭代中,未來我們還要做:

基于Transform Feedback特性的更強大的粒子系統(tǒng)

節(jié)點式材質(zhì)系統(tǒng)

更加強大的WebGPURenderPass

綜上所述,ThingJS 3D為Web平臺提供強大的3D渲染能力?;赥hingJS 3D引擎,能實現(xiàn)豐富的幾何體定制,材質(zhì)定制和渲染管線定制。未來ThingJS 3D將本著開放,共享的原則,不斷演進,為用戶提升渲染效果和渲染性能,保證ThingJS在Web端優(yōu)異的渲染能力。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 3D引擎
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    8180
  • 數(shù)字孿生
    +關(guān)注

    關(guān)注

    4

    文章

    1331

    瀏覽量

    12279
收藏 人收藏

    評論

    相關(guān)推薦

    ADC128S022的驅(qū)動架構(gòu)參考 ti-adc128s052.c,要如何做移位生成12bit結(jié)果呢?

    ADC128S022的驅(qū)動架構(gòu)參考 ti-adc128s052.c, 具體如下圖所示。 上層讀取buf[1], buf[2]請問要如何做移位生成12bit結(jié)果呢?
    發(fā)表于 12-16 06:32

    如何選擇合適數(shù)字孿生開發(fā)平臺?這幾點要注意

    選擇合適數(shù)字孿生開發(fā)平臺對于企業(yè)和組織來說至關(guān)重要,因為它直接影響到數(shù)字孿生項目的成功實施和未
    的頭像 發(fā)表于 12-03 14:54 ?137次閱讀

    張江發(fā)布首個城市級時空計算引擎,引領(lǐng)數(shù)字孿生城市新風(fēng)向

    要素+人工智能”為核心,搭建起開放、共享的城市級時空計算引擎,為培育和發(fā)展新質(zhì)生產(chǎn)力、深入實施數(shù)字中國戰(zhàn)略貢獻力量。 該系統(tǒng)由上海浦東軟件園聯(lián)合張江本土優(yōu)勢企業(yè)聯(lián)合開發(fā),結(jié)合數(shù)字孿生、
    的頭像 發(fā)表于 10-15 14:02 ?252次閱讀
    張江發(fā)布首個城市級時空計算<b class='flag-5'>引擎</b>,引領(lǐng)<b class='flag-5'>數(shù)字</b><b class='flag-5'>孿生</b>城市新風(fēng)向

    OBOO鷗柏信發(fā)系統(tǒng)BS網(wǎng)絡(luò)架構(gòu)安全傳輸和訪問控制的解決方案

    B/S的網(wǎng)絡(luò)應(yīng)用系統(tǒng),安全傳輸和訪問控制的安全解決方案,OBOO鷗柏基于B/S架構(gòu)的網(wǎng)絡(luò)應(yīng)用系統(tǒng),多媒體信息發(fā)布系統(tǒng)就是用戶客戶端通過IE瀏
    發(fā)表于 08-02 16:54 ?0次下載

    一體式IO與分布式IO:工業(yè)控制系統(tǒng)的兩種架構(gòu)

    受到青睞。然而,一體式IO架構(gòu)在小型系統(tǒng)中仍然有著廣泛的應(yīng)用。了解這兩種架構(gòu)的特點和區(qū)別,有助于工程師和決策者為企業(yè)選擇最合適的工業(yè)控制系統(tǒng)解決方案。
    的頭像 發(fā)表于 07-17 16:12 ?1103次閱讀
    一體式IO與分布式IO:工業(yè)控制系統(tǒng)的兩種<b class='flag-5'>架構(gòu)</b>

    如何選擇數(shù)字孿生開發(fā)平臺?

    在當今數(shù)字化時代,選擇合適數(shù)字孿生開發(fā)平臺至關(guān)重要。數(shù)字孿
    的頭像 發(fā)表于 06-21 14:43 ?315次閱讀

    選擇合適數(shù)字孿生開發(fā)平臺因素有哪些?

    選擇合適數(shù)字孿生開發(fā)平臺對于企業(yè)來說至關(guān)重要,因為它將直接影響到數(shù)字孿生項目的成功與效率。在
    的頭像 發(fā)表于 06-11 14:55 ?390次閱讀
    <b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的<b class='flag-5'>數(shù)字</b><b class='flag-5'>孿生</b>開發(fā)平臺因素有哪些?

    數(shù)字孿生場景構(gòu)建行業(yè)應(yīng)用和優(yōu)勢

    數(shù)字孿生場景構(gòu)建利用豐富的業(yè)務(wù)數(shù)據(jù)和與實際場景相貼合的模型交互,可以有效地推動業(yè)務(wù)的高效運轉(zhuǎn),為科學(xué)決策提供支持。通過雙渲染引擎,1:1還原真實世界,在模型運行流暢的基礎(chǔ)上提供極佳的視覺效果。那么
    的頭像 發(fā)表于 06-11 14:26 ?375次閱讀
    <b class='flag-5'>數(shù)字</b><b class='flag-5'>孿生</b>場景構(gòu)建行業(yè)應(yīng)用和優(yōu)勢

    什么是數(shù)字孿生

    近年來,數(shù)字孿生這個詞不斷出現(xiàn)在公眾視野中,尤其是隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,數(shù)字孿生不斷出現(xiàn)在各行各業(yè)。乍一看,這個概念還是比較生僻的。什么是
    的頭像 發(fā)表于 06-05 15:45 ?960次閱讀

    進一步解讀英偉達 Blackwell 架構(gòu)、NVlink及GB200 超級芯片

    ,同時降低水消耗。利用NVIDIA Blackwell架構(gòu)的高帶寬內(nèi)存性能、NVLink-C2C和專用解壓縮引擎,GB200大幅提高關(guān)鍵數(shù)據(jù)庫查詢的速度,比CPU提升18倍,并將總體擁有成本(TCO
    發(fā)表于 05-13 17:16

    光庭信息推出了基于S32G+8295+J5新架構(gòu)的中央域控解決方案

    在智能化浪潮席卷汽車行業(yè)的今天,光庭信息作為“軟件定義汽車”的引領(lǐng)者,推出了基于S32G+8295+J5新架構(gòu)的中央域控解決方案。
    的頭像 發(fā)表于 05-07 14:33 ?776次閱讀

    MySQL的整體邏輯架構(gòu)

    支持多種存儲引擎是眾所周知的MySQL特性,也是MySQL架構(gòu)的關(guān)鍵優(yōu)勢之一。如果能夠理解MySQL Server與存儲引擎之間是怎樣通過API交互的,將大大有利于理解MySQL的核心基礎(chǔ)架構(gòu)
    的頭像 發(fā)表于 04-30 11:14 ?465次閱讀
    MySQL的整體邏輯<b class='flag-5'>架構(gòu)</b>

    STM8S怎么選擇外設(shè)功能還是GPIO功能?

    新人求助:STM8S怎么選擇外設(shè)功能還是GPIO功能?
    發(fā)表于 04-30 06:53

    數(shù)字孿生關(guān)鍵技術(shù)及體系架構(gòu)

    的可行思路。首先介紹了數(shù)字孿生的演進與價值,然后給出了數(shù)字孿生典型特征及其體系架構(gòu),并基于該架構(gòu)
    的頭像 發(fā)表于 04-02 14:21 ?805次閱讀

    如何選擇和配置UPS及其供電架構(gòu)

    本文從用戶在UPS電源及其供電架構(gòu)選擇和配置以保證可靠供電等方面進行概述,試圖解決用戶的某些困惑。 作為負載用電可靠保障的UPS電源,在各行業(yè)領(lǐng)域中得到了廣泛的應(yīng)用。UPS的研發(fā)和應(yīng)用已有幾十年
    的頭像 發(fā)表于 01-13 09:57 ?903次閱讀
    如何<b class='flag-5'>選擇</b>和配置UPS及其供電<b class='flag-5'>架構(gòu)</b>
    主站蜘蛛池模板: 海角社区在线视频播放观看| 优菈的乳液狂飙天堂W98| 精品国产乱码久久久久久上海公司| 伊人伊人伊人| 人人听力网mp3下载| 九九九精品国产在线| 亚洲无AV在线中文字幕| 妈妈的朋友6未删减版完整在线| ZZoo兽2皇| 亚洲欧美一级久久精品| 欧美亚洲国内日韩自拍视频| 国产亚洲视频中文字幕| av天堂网站avtt2017| 亚洲精品久久无码AV片银杏| 牛牛精品专区在线| 国产在线精品视亚洲不卡| av亚洲2017色天堂| 亚洲精品国产一区二区贰佰信息网| 男人被绑着强行摸j| 京香在线观看| 国产精品久久久久久久久LI无码 | 精品久久久久久电影网| 国产AV精品白浆一区二| bbw美女与zooxx| 伊人影院中文字幕| 亚洲人成伊人成综合网久久久| 日韩影院久久| 肉动漫无修3D在线观看| 女人18毛片| 媚药调教被撑到合不拢h| 久久无码人妻中文国产| 含羞草完整视频在线播放免费 | 国产精品久久久久久免费字体| 啊好大好厉害好爽真骚| 99热婷婷国产精品综合| 99久久国产视频| chinese帅哥gv在线看| japanesen女同| 边摸边吃奶玩乳尖视频| 成人在无码AV在线观看一| 调教日本美女|