两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

面向WebGPU的WebGL應(yīng)用動(dòng)態(tài)翻譯方法和裝置

文檔序號(hào):40655349發(fā)布日期:2025-01-10 19:05閱讀:2來源:國知局
面向WebGPU的WebGL應(yīng)用動(dòng)態(tài)翻譯方法和裝置

本技術(shù)涉及數(shù)據(jù)處理,特別是一種面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯方法和裝置。


背景技術(shù):

1、web圖形渲染已成為網(wǎng)絡(luò)應(yīng)用中必不可少的組成部分,這種技術(shù)大大提升了在線多媒體領(lǐng)域的用戶體驗(yàn),如游戲、視覺效果、數(shù)據(jù)可視化和虛擬現(xiàn)實(shí)等。因此,如何實(shí)現(xiàn)高性能高便利性的圖形渲染成為了一個(gè)新的研究方向。webgl(web?graphics?library,網(wǎng)絡(luò)圖形庫)于2009年提出,可以實(shí)現(xiàn)高性能的交互式3d和2d圖形渲染。在webgl中,開發(fā)者只需編寫少量代碼即可創(chuàng)建復(fù)雜的圖形應(yīng)用,這種易用性推動(dòng)了webgl在過去十多年中的廣泛應(yīng)用。但是,隨著硬件性能地不斷提升,上述方法的圖形渲染已經(jīng)難以滿足現(xiàn)代圖形應(yīng)用的性能需求,上述方法在現(xiàn)代圖形應(yīng)用中的圖形渲染效果不高。

2、相關(guān)技術(shù)中,可以使用webgpu(web?graphics?processing?unit,網(wǎng)絡(luò)圖形化處理器)來實(shí)現(xiàn)現(xiàn)代圖形應(yīng)用的圖形渲染。webgpu是一種應(yīng)用程序編程接口,它提供了比webgl顯著更高的性能潛力。最近的研究表明,webgpu在渲染負(fù)載密集的應(yīng)用中明顯優(yōu)于webgl。因此,使用webgpu應(yīng)用程序編程接口可以提升圖形渲染性能。

3、但是上述方法中,webgpu應(yīng)用程序并不能使用與webgl應(yīng)用程序適配的渲染指令進(jìn)行渲染,這導(dǎo)致webgl應(yīng)用程序無法利用webgpu以提升自身的圖形渲染性能,webgl應(yīng)用程序的圖形渲染性能仍然不高。


技術(shù)實(shí)現(xiàn)思路

1、鑒于上述問題,本技術(shù)實(shí)施例提供了一種面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯方法、裝置、電子設(shè)備和可讀存儲(chǔ)介質(zhì),以便克服上述問題或者至少部分地解決上述問題。

2、第一方面,本技術(shù)實(shí)施例提供一種面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯方法,所述方法包括:

3、獲取目標(biāo)瀏覽器中webgl應(yīng)用程序的第一圖形渲染調(diào)用指令;

4、基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令;

5、對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼;

6、基于所述第一圖形渲染編碼,在所述webgpu應(yīng)用程序中進(jìn)行圖形渲染,得到第一圖形。

7、可選地,所述基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令,包括:

8、在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含圖形繪制狀態(tài)調(diào)用的情況下,基于所述第一圖形渲染調(diào)用指令中包含的第一圖形繪制狀態(tài)參數(shù),對(duì)所述webgl應(yīng)用程序的第一全局渲染上下文進(jìn)行替換更新,得到第二全局渲染上下文;其中,所述第一全局渲染上下文中包括所述webgl應(yīng)用程序的歷史圖形繪制狀態(tài)參數(shù);

9、基于所述第二全局渲染上下文,生成與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

10、可選地,所述基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令,包括:

11、在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含著色器編譯調(diào)用的情況下,在所述webgl應(yīng)用程序的第一著色器中,獲取所述第一圖形渲染調(diào)用指令對(duì)應(yīng)的第一共享變量;

12、對(duì)所述第一共享變量進(jìn)行編號(hào),得到第一共享變量序列;

13、基于所述第一共享變量序列,生成與所述webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

14、可選地,所述對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼,包括:

15、在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含統(tǒng)一緩沖區(qū)調(diào)用的情況下,從所述webgl應(yīng)用程序?qū)?yīng)的第一統(tǒng)一緩沖區(qū)中,確定所述第一圖形渲染調(diào)用指令中包含的第一偏移量對(duì)應(yīng)的第二統(tǒng)一緩沖區(qū);

16、基于所述第二統(tǒng)一緩沖區(qū)中包含的第一緩沖區(qū)參數(shù)信息,對(duì)所述webgpu應(yīng)用程序的第一全局統(tǒng)一緩沖區(qū)進(jìn)行增量信息更新,得到第二全局統(tǒng)一緩沖區(qū);其中,所述第一全局統(tǒng)一緩沖區(qū)的存儲(chǔ)空間大于所述第一統(tǒng)一緩沖區(qū)的存儲(chǔ)空間;

17、在所述第二全局統(tǒng)一緩沖區(qū)中的存儲(chǔ)空間中均包含緩沖區(qū)參數(shù)信息的情況下,基于所述存儲(chǔ)空間中的緩沖區(qū)參數(shù)信息,對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行信息替換,得到第三圖形渲染調(diào)用指令;

18、對(duì)所述第三圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼。

19、可選地,所述對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼,包括:

20、在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含頂點(diǎn)紋理調(diào)用的情況下,基于所述第一圖形渲染調(diào)用指令中包含的頂點(diǎn)紋理參數(shù)信息,對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行信息替換,得到第四圖形渲染調(diào)用指令;

21、對(duì)所述第四圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼。

22、可選地,所述基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令,包括:

23、在所述webgpu應(yīng)用程序的第一渲染包中不存在與所述第一圖形渲染調(diào)用指令相匹配的調(diào)用指令轉(zhuǎn)換映射的情況下,基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

24、可選地,所述方法還包括:

25、在所述webgpu應(yīng)用程序的第一渲染包中不存在與所述第一圖形渲染調(diào)用指令相匹配的調(diào)用指令轉(zhuǎn)換映射的情況下,創(chuàng)建所述第一圖形渲染調(diào)用指令與所述第二圖形渲染調(diào)用指令之間的第一轉(zhuǎn)換映射;

26、將所述第一轉(zhuǎn)換映射添加到所述第一渲染包中,以對(duì)所述第一渲染包進(jìn)行更新,得到更新后的第一渲染包。

27、可選地,所述第一渲染包的數(shù)據(jù)結(jié)構(gòu)為字典樹。

28、可選地,所述方法還包括:

29、在第一緩存空間中存在與所述第二圖形渲染調(diào)用指令包含的第二圖形繪制狀態(tài)參數(shù)相匹配的第一參數(shù)渲染映射的情況下,從所述第一參數(shù)渲染映射確定所述第二圖形渲染調(diào)用指令對(duì)應(yīng)的第二圖形渲染編碼;其中,所述第一緩存空間與所述webgpu應(yīng)用程序相連接;所述第一緩存空間的數(shù)據(jù)結(jié)構(gòu)為有向無環(huán)圖;

30、基于所述第二圖形渲染編碼,在所述webgpu應(yīng)用程序中進(jìn)行圖形渲染,得到第二圖形;

31、在所述第一緩存空間中不存在與所述第二圖形繪制狀態(tài)參數(shù)相匹配的參數(shù)渲染映射的情況下,基于所述第二圖形繪制狀態(tài)參數(shù)和所述第一圖形渲染編碼,生成第二參數(shù)渲染映射,并將所述第二參數(shù)渲染映射添加進(jìn)所述第一緩存空間中。

32、第二方面,本技術(shù)實(shí)施例提供一種面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯裝置,所述裝置包括:

33、獲取模塊,用于獲取目標(biāo)瀏覽器中webgl應(yīng)用程序的第一圖形渲染調(diào)用指令;

34、改寫模塊,用于基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令;

35、編譯模塊,用于對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼;

36、第一渲染模塊,用于基于所述第一圖形渲染編碼,在所述webgpu應(yīng)用程序中進(jìn)行圖形渲染,得到第一圖形。

37、可選地,所述改寫模塊,包括:

38、第一更新子模塊,用于在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含圖形繪制狀態(tài)調(diào)用的情況下,基于所述第一圖形渲染調(diào)用指令中包含的第一圖形繪制狀態(tài)參數(shù),對(duì)所述webgl應(yīng)用程序的第一全局渲染上下文進(jìn)行替換更新,得到第二全局渲染上下文;其中,所述第一全局渲染上下文中包括所述webgl應(yīng)用程序的歷史圖形繪制狀態(tài)參數(shù);

39、第一生成子模塊,用于基于所述第二全局渲染上下文,生成與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

40、可選地,所述改寫模塊,包括:

41、獲取子模塊,用于在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含著色器編譯調(diào)用的情況下,在所述webgl應(yīng)用程序的第一著色器中,獲取所述第一圖形渲染調(diào)用指令對(duì)應(yīng)的第一共享變量;

42、編號(hào)生成子模塊,用于對(duì)所述第一共享變量進(jìn)行編號(hào),得到第一共享變量序列;

43、第二生成子模塊,用于基于所述第一共享變量序列,生成與所述webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

44、可選地,所述編譯模塊,包括:

45、第一確定子模塊,用于在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含統(tǒng)一緩沖區(qū)調(diào)用的情況下,從所述webgl應(yīng)用程序?qū)?yīng)的第一統(tǒng)一緩沖區(qū)中,確定所述第一圖形渲染調(diào)用指令中包含的第一偏移量對(duì)應(yīng)的第二統(tǒng)一緩沖區(qū);

46、第二更新子模塊,用于基于所述第二統(tǒng)一緩沖區(qū)中包含的第一緩沖區(qū)參數(shù)信息,對(duì)所述webgpu應(yīng)用程序的第一全局統(tǒng)一緩沖區(qū)進(jìn)行增量信息更新,得到第二全局統(tǒng)一緩沖區(qū);其中,所述第一全局統(tǒng)一緩沖區(qū)的存儲(chǔ)空間大于所述第一統(tǒng)一緩沖區(qū)的存儲(chǔ)空間;

47、第一替換子模塊,用于在所述第二全局統(tǒng)一緩沖區(qū)中的存儲(chǔ)空間中均包含緩沖區(qū)參數(shù)信息的情況下,基于所述存儲(chǔ)空間中的緩沖區(qū)參數(shù)信息,對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行信息替換,得到第三圖形渲染調(diào)用指令;

48、第一編譯子模塊,用于對(duì)所述第三圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼。

49、可選地,所述編譯模塊,包括:

50、第二替換子模塊,用于在所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型包含頂點(diǎn)紋理調(diào)用的情況下,基于所述第一圖形渲染調(diào)用指令中包含的頂點(diǎn)紋理參數(shù)信息,對(duì)所述第二圖形渲染調(diào)用指令進(jìn)行信息替換,得到第四圖形渲染調(diào)用指令;

51、第二編譯子模塊,用于對(duì)所述第四圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼。

52、可選地,所述改寫模塊,包括:

53、改寫子模塊,用于在所述webgpu應(yīng)用程序的第一渲染包中不存在與所述第一圖形渲染調(diào)用指令相匹配的調(diào)用指令轉(zhuǎn)換映射的情況下,基于所述第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)所述第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與所述目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令。

54、可選地,所述裝置還包括:

55、創(chuàng)建模塊,用于在所述webgpu應(yīng)用程序的第一渲染包中不存在與所述第一圖形渲染調(diào)用指令相匹配的調(diào)用指令轉(zhuǎn)換映射的情況下,創(chuàng)建所述第一圖形渲染調(diào)用指令與所述第二圖形渲染調(diào)用指令之間的第一轉(zhuǎn)換映射;

56、第一添加模塊,用于將所述第一轉(zhuǎn)換映射添加到所述第一渲染包中,以對(duì)所述第一渲染包進(jìn)行更新,得到更新后的第一渲染包。

57、可選地,所述第一渲染包的數(shù)據(jù)結(jié)構(gòu)為字典樹。

58、可選地,所述裝置還包括:

59、確定模塊,用于在第一緩存空間中存在與所述第二圖形渲染調(diào)用指令包含的第二圖形繪制狀態(tài)參數(shù)相匹配的第一參數(shù)渲染映射的情況下,從所述第一參數(shù)渲染映射確定所述第二圖形渲染調(diào)用指令對(duì)應(yīng)的第二圖形渲染編碼;其中,所述第一緩存空間與所述webgpu應(yīng)用程序相連接;所述第一緩存空間的數(shù)據(jù)結(jié)構(gòu)為有向無環(huán)圖;

60、第二渲染模塊,用于基于所述第二圖形渲染編碼,在所述webgpu應(yīng)用程序中進(jìn)行圖形渲染,得到第二圖形;

61、第二添加模塊,用于在所述第一緩存空間中不存在與所述第二圖形繪制狀態(tài)參數(shù)相匹配的參數(shù)渲染映射的情況下,基于所述第二圖形繪制狀態(tài)參數(shù)和所述第一圖形渲染編碼,生成第二參數(shù)渲染映射,并將所述第二參數(shù)渲染映射添加進(jìn)所述第一緩存空間中。

62、第三方面,本技術(shù)實(shí)施例提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)如上任意一項(xiàng)所述的面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯方法。

63、第四方面,本技術(shù)實(shí)施例提供一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上任意一項(xiàng)所述的面向webgpu的webgl應(yīng)用動(dòng)態(tài)翻譯方法。

64、具體的有益效果在于:

65、本技術(shù)實(shí)施例通過獲取目標(biāo)瀏覽器中webgl應(yīng)用程序的第一圖形渲染調(diào)用指令,基于第一圖形渲染調(diào)用指令的第一渲染調(diào)用類型,對(duì)第一圖形渲染調(diào)用指令進(jìn)行改寫,得到與目標(biāo)瀏覽器的webgpu應(yīng)用程序適配的第二圖形渲染調(diào)用指令,對(duì)第二圖形渲染調(diào)用指令進(jìn)行編譯,得到第一圖形渲染編碼,基于第一圖形渲染編碼,在webgpu應(yīng)用程序中進(jìn)行圖形渲染,得到第一圖形,可以對(duì)目標(biāo)瀏覽器中webgl應(yīng)用程序的第一圖形渲染調(diào)用指令,基于該調(diào)用指令的渲染調(diào)用類型進(jìn)行改寫,以使得可以在目標(biāo)瀏覽器中的webgpu應(yīng)用程序中執(zhí)行圖形渲染,得到第一圖形,能夠使得webgl應(yīng)用程序可以利用webgpu應(yīng)用程序以實(shí)現(xiàn)webgl應(yīng)用程序自身的圖形渲染需求,從而可以在一定程度上提升webgl應(yīng)用程序的圖形渲染性能。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
柯坪县| 灌云县| 四会市| 靖州| 璧山县| 天气| 桓仁| 金乡县| 宁波市| 仪征市| 吴忠市| 苍南县| 达孜县| 来凤县| 收藏| 南漳县| 西贡区| 石嘴山市| 长兴县| 沽源县| 铅山县| 宁强县| 恩平市| 伽师县| 武定县| 美姑县| 镇康县| 仙游县| 贵阳市| 彭山县| 兰考县| 永胜县| 甘肃省| 正阳县| 唐海县| 高台县| 平顺县| 阜南县| 广安市| 兴山县| 万州区|