WebGL應用實時云渲染改造后如何與網頁端實現數據通信

WebGL是一種基于OpenGL ES 2.0的Web技術,屬于BS架構,它允許在瀏覽器中渲染交互式3D和2D圖形。

隨著大場景高精度的開發要求深入,對于較高級的 WebGL 應用程序,需要性能更強的系統要求,如仍然維持低端硬件或瀏覽器,會導致 WebGL 性能下降或無法正常運行;使用復雜的 3D 模型或大型 360° 圖像可能會導致性能不佳或阻止在移動設備上加載空間。

如何解決WebGL性能局限性的問題,可以借鑒3D實時云渲染的技術路線,即將WebGL的BS架構,再包一層殼,實現真正解放算力的BS化。

WebGL技術與實時云渲染技術對比

同為BS架構的呈現效果,實時云渲染與WebGL的不同之處在于:

  1. 實時云渲染是將計算渲染在服務端完成,將交互視頻流推送到客戶端,不再占用客戶端算力,只要能觀看高清視頻的設備就可以進行實時交互操作;WebGL則需要依托客戶端的硬件設備,有比較高的配置要求,無法做到強兼容各個時期的電腦設備

  2. 實時云渲染自帶各類操作系統/終端設備的自適應,可將一套Windows/Linux系統程序在各類操作系統(含國產信創/手機移動端OS等)上直接運行;WebGL對瀏覽器有架構要求,比如Safari會受到影響而不能完全使用

  3. 實時云渲染的可拓展性極強,對于數字孿生行業,老場景低精度用WebGL,大場景高精度用UE/Unity等三維引擎是行業普遍認知,云渲染可以兼容各類操作系統,如Linux/Windows/iOS/Android/MacOS/Ubuntu/國產銀河麒麟/國產統信UOS/深度DeeplnOS等,也可以支持各類主流設備,如服務器/工作站/筆記本/平板/手機/互動大屏/全息投影/VR/AR/MR等各類終端,其中VR支持市面上所有主流VR一體機眼鏡,包括Meta/Apple Vision Pro/PICO/HTC/Xreal/NOLO/Xvisio/奇遇/HUAWEI/玩出夢想,為拓展項目生命周期和項目建設規模提供了極大的技術支持。而這些是WebGL技術不具備的。

  4. 實時云渲染性能更佳,支持一卡多并發和多卡集群部署大并發:每個GPU默認可以支持多路并發,多GPU的場景下,單GPU可支持更多并發。不占用客戶端算力,靈活動態調節。

實時云渲染賦能WebGL應用無需加載、秒級打開

經過實時云渲染后生成的新URL網頁鏈接,如何與可視化業務系統進行對接?可以使用“數據通道”功能組件來實現這一效果。

WebGL應用集成數據通道功能組件

1. 初始化數據通道

在WebGL頁面加載完成后,需要初始化數據通道。此函數會調用 window.larkxr_dc_init() 方法,完成數據通道的初始化。

2. 接收文本數據

當用戶端頁面發送文本數據時,頁面會調用 onDcTxtData 函數。此函數會將接收到的文本數據顯示在WebGL頁面上的指定 div 元素中。

3. 接收TaskId

當數據通道連通,WebGL頁面會調用 onTaskStatus 函數。此函數會接收到TaskId參數。

4. 發送消息到用戶端頁面

WebGL頁面上有一個按鈕,點擊該按鈕會調用 larkxr_dc_send 函數,將消息發送到用戶端頁面。

頁面結構:以下是頁面的WebGL HTML 結構 Demo:

  <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>LarkXR Data Channel Example</title><style>.fixed-size-div {width: 100px;height: 100px;background-color: lightblue;display: flex;justify-content: center;align-items: center;font-size: 14px;}</style></head><body><h1>LarkXR Data Channel Example</h1><button onclick="larkxr_dc_send('Hello from WebGL page!')">發送消息"Hello from WebGL page!"到用戶端頁面</button><div class="fixed-size-div">This is the target div,接收用戶端頁面發送的數據:<span id="targetDiv"></span></div><script>// 初始化數據通道function larkxr_init() {console.log("Data Channel Initialized");window.larkxr_dc_init();}// 接收用戶端頁面發送的文本數據function onDcTxtData(data) {console.log("Received text data from user end:", data);// 獲取目標 div 元素const targetDiv = document.getElementById('targetDiv');// 將參數值賦值給 div 的 innerTexttargetDiv.innerText = data;}// 接收當前的taskIdfunction onTaskStatus(taskId) {console.log("Received task status with taskId:", taskId);}// 頁面加載完成后調用初始化函數window.onload = function () {larkxr_init();};</script></body></html>

客戶端集成WebSDK實現與服務端的雙向通信

1. 下載源碼

從[GitHub - ParaverseTechnology/lark\_sr\_websdk\_demos 下載 WebSDK 源碼。此項目提供了如何使用 LarkSR WebSDK 創建云渲染客戶端的簡單介紹。

2. 參考手冊

詳細操作請參考?[LarkSR WebClient SDK 文檔]。文檔中包含了如何安裝、使用 SDK 以及如何實現數據通道的具體步驟。

本文已發布于官網:https://www.pingxingyun.com/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91945.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91945.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91945.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

初始化列表,變量存儲區域和友元變量

前言初始化列表是書寫構造函數的一種方式&#xff0c;某些成員變量之只能通過初始化列表進行初始化。另外學習c不可避免地需要知道什么樣的變量存儲在什么區域當中如棧&#xff0c;堆&#xff0c;靜態區&#xff0c;常量區初始化列表書寫格式書寫上&#xff0c;初始化列表&…

excel插入復選框 親測有效

特別說明 1.開始位置是0 2.\u0052是勾選對號 3.\u25A1是不勾選 4.\u0052長度是1 5.\u25A1長度是1 6.漢字長度是1 7.起止位置不能超過索引位置(比如整體長度是6,截止位置最大填寫5) 示例代碼 package com.zycfc.xz.Util.excel;import org.apache.poi.hssf.usermodel.HSSFRichT…

Mac上優雅簡單地使用Git:從入門到高效工作流

Mac上優雅簡單地使用Git&#xff1a;從入門到高效工作流 本文將帶你解鎖在Mac上優雅使用Git的技巧&#xff0c;結合命令行與圖形工具&#xff0c;讓版本控制變得輕松高效&#xff01; 一、為什么Mac是Git的最佳搭檔&#xff1f; 天生支持Unix命令&#xff1a;Git基于Linux開發…

一文了解SOA的紋波

什么是光譜紋波我們在SOA/RSOA/SLD的ASE&#xff08;放大的自發輻射&#xff09;光譜測試中&#xff0c;經常會觀察到光譜中有周期性的變化&#xff0c;通常我們稱之為紋波。在實際應用中&#xff0c;我們大多不希望這些紋波的存在。添加圖片注釋&#xff0c;不超過 140 字&…

ossutil 使用方法

目錄 ossutil 使用方法 1. &#x1f4e4; 上傳文件/文件夾到 OSS 上傳單個文件&#xff1a; 上傳整個文件夾&#xff08;遞歸&#xff09;&#xff1a; 2. &#x1f4e5; 從 OSS 下載文件/文件夾 下載單個文件&#xff1a; 下載整個文件夾&#xff1a; ossutil 使用方法…

從“多、老、舊”到“4i煥新”:品牌官方商城(小程序/官網/APP···)的范式躍遷與增長再想象

全新升級版本「佛羅倫薩小鎮奧萊GO」商城正式上線&#xff01;會員福利加碼 2025年&#xff0c;品牌官方商城應該如何定義&#xff1f;—— 還是一套“電商貨架”&#xff1f; 在商派看來&#xff0c;現如今“品牌官方商城”則需要重新定義&#xff0c;結合不同品牌企業的業務…

WIN QT libsndfile庫編譯及使用

一、概述 libsndfile庫是一個用 C 語言編寫的開源庫&#xff0c;用于讀取和寫入多種音頻文件格式。 環境&#xff1a;QT5.9.9、cmakegui3.23.0、QT的編譯器是minWG32 二、安裝 1、下載libsndfile源碼&#xff0c;連接&#xff1a;https://github.com/libsndfile/libsndfile…

Supergateway教程

Supergateway 是一款專為 MCP&#xff08;Model Context Protocol&#xff09;服務器設計的遠程調試與集成工具&#xff0c;通過 SSE&#xff08;Server-Sent Events&#xff09;或 WebSocket&#xff08;WS&#xff09;協議實現基于 stdio 的服務器與客戶端的高效通信。 Super…

203.移除鏈表元素 707.設計鏈表 206.反轉鏈表

203.移除鏈表元素 Python鏈表節點定義&#xff1a; class ListNode:def __init__(self, val, nextNone):self.val valself.next next 性能分析 鏈表的特性和數組的特性進行一個對比&#xff0c;如圖所示&#xff1a; 203. 移除鏈表元素 這道題就是給大家一個鏈表&#x…

人工智能之數學基礎:利用全概率公式如何將復雜事件轉為簡單事件

本文重點 全概率公式是概率論中的核心工具,用于計算復雜事件的概率。其核心思想是將復雜事件分解為若干互斥且窮盡的簡單事件,通過計算各簡單事件的概率及其條件概率,最終求得目標事件的概率。 全概率公式 全概率公式就是將復雜事件簡單化,定義如下: 如果隨機事件A1,…

飛算JavaAI深度解析:從入門到對比

目錄 一、飛算JavaAI是什么 二、如何注冊和開始使用 三、使用體驗&#xff1a;它能帶來什么 四、與其他大模型的對比分析 五、總結與展望 隨著人工智能技術的飛速發展&#xff0c;大模型在軟件開發領域的應用越來越廣泛。其中&#xff0c;代碼生成工具作為提升開發效率的利…

Flutter各大主流狀態管理框架技術選型分析及具體使用步驟

技術選型決策樹 #mermaid-svg-m5gUL7Cpx4rYV2BQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-m5gUL7Cpx4rYV2BQ .error-icon{fill:#552222;}#mermaid-svg-m5gUL7Cpx4rYV2BQ .error-text{fill:#552222;stroke:#552…

Redis類型之String

1.Redis中的string注意本文以及之后講的redis的類型但是指的value的類型&#xff0c;所有的key都是stringRedis中的字符串&#xff0c;直接就是按照二進制數據的方式存儲的&#xff0c;不會做任何的編碼轉換&#xff0c;這里相對于mysql就比較好&#xff08;個人感覺&#xff0…

[激光原理與應用-156]:光學器件 - 激光器為什么會出現多余的能量,哪些地方會出現多余能量?

在激光器運行過程中&#xff0c;多余能量的出現是不可避免的物理現象&#xff0c;其根源在于能量轉換與傳輸過程中的非理想特性。以下從能量來源、產生位置及具體機制三方面進行詳細說明&#xff1a;一、多余能量的主要來源泵浦源效率限制泵浦源&#xff08;如激光二極管、閃光…

Arxiv-Daily

Daily Paper Report - 2025-07-24 12:53 Today’s Recommended Papers 1. Multi-modal Multi-task Pre-training for Improved Point Cloud Understanding Authors: Liwen Liu, Weidong Yang, Lipeng Ma, Ben Fei Deep-Dive Summary: 多模態多任務預訓練以改善點云理解 預…

如何對云環境或者超融合系統進行性能測試?

最近幾個月&#xff0c;公司開啟了新的產品計劃&#xff0c;準備來做一個國產超融合一體機&#xff08;其實個人覺得現在入行已經晚了太多了&#xff0c;市場基本沒有多少了&#xff09; POC功能測試過完&#xff0c;但是感覺不到什么優勢&#xff0c;由于芯片架構采用的是arm架…

【web自動化測試】實戰

web自動化測試就是對界面的測試1、編寫測試用例2、參考測試用例&#xff0c;創建自動化測試項目&#xff0c;編寫自動化測試腳本論壇登錄頁&#xff1a;ForumLoginTest.py論壇首頁&#xff1a;ForumListTest.py論壇詳情頁&#xff1a;ForumDetailTest.py論壇編輯頁&#xff1a;…

在Maxscript中隨機化對象變換、顏色和材質

只需幾行Maxscript,即可為3ds Max場景帶來更多活力和變化! 在本文中,您將學習如何快速隨機化選定對象的位置、旋轉、線顏色和材質。 非常適合在ArchViz、動態圖形和產品可視化項目中創建更自然、更少機械的布局。 為什么要使用隨機化腳本? 1.快速為場景添加自然隨機性 2.…

分類數據集 - 交通事故場景分類數據集下載

數據集介紹&#xff1a;交通事故場景分類數據集&#xff0c;真實交通場景高質量圖片數據&#xff1b;適用實際項目應用&#xff1a;公共場所監控場景下是否發生交通事故檢測項目&#xff0c;以及作為監控場景通用交通檢測數據集場景數據的補充&#xff1b;數據集類別&#xff1…

內網公網詳解,及無公網IP內網穿透給外網直接遠程連接訪問的具體實現方法步驟

一、什么是內網、外網1、內網IP&#xff08;局域網IP&#xff09;是指在私有網絡或局域網內部使用的IP地址&#xff0c;無法直接從互聯網訪問&#xff0c;需通過NAT&#xff08;網絡地址轉換&#xff09;技術實現對外通信。內網IP&#xff08;Intranet IP&#xff09;是專為局域…