TWI595442B - Method and apparatus for rendering graphics on a mobile device - Google Patents
Method and apparatus for rendering graphics on a mobile device Download PDFInfo
- Publication number
- TWI595442B TWI595442B TW102108645A TW102108645A TWI595442B TW I595442 B TWI595442 B TW I595442B TW 102108645 A TW102108645 A TW 102108645A TW 102108645 A TW102108645 A TW 102108645A TW I595442 B TWI595442 B TW I595442B
- Authority
- TW
- Taiwan
- Prior art keywords
- rendering
- function
- opengl
- api interface
- module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Image Generation (AREA)
- Information Transfer Between Computers (AREA)
- Devices For Executing Special Programs (AREA)
- Controls And Circuits For Display Device (AREA)
- Human Computer Interaction (AREA)
Description
本申請案係有關圖形渲染技術領域,特別是有關一種在移動設備上進行圖形渲染的方法和裝置。
目前,移動設備上的應用越來越廣泛,這些應用的展現也越來越複雜,而這些應用在圖形展現時均離不開圖形渲染,例如手機設備上的網頁遊戲的圖形展現離不開圖形渲染。圖形渲染是將基於物件的高級描述轉換成在某種顯示設備上顯示的圖形影像。例如,在將三維物體或場景的數學模型轉換成點陣圖圖形的過程中,將發生圖形渲染的操作。圖形渲染的另一個實例是將HTML(超文本標記語言,Hypertext Markup Language)檔轉換成在電腦監視器上顯示的圖形。
圖形渲染在目前具有兩大應用:
1、瀏覽器中的應用;當今互聯網技術中,HTML5技術是一項新興熱門技術,使用HTML5技術中的Canvas標準在瀏覽器中進行圖形渲染也逐漸盛行。然而,在大多數移動設備上,瀏覽器
將HTML5 Canvas標準當做瀏覽器中HTML節點控制項來加以處理,其排版邏輯、事件、重繪等操作都需要使用到HTML的節點樹,邏輯複雜,CPU需要處理的運算很多;使用上述技術開發的遊戲、介面變化較為複雜的程式等圖形應用程式,都容易出現渲染速度慢的缺陷。
2、遊戲用戶端的應用。
現有技術的遊戲用戶端是使用C++或Java代碼來開發遊戲程式,且使用GPU來進行圖形渲染的。但是,遊戲用戶端程式需要在下載後安裝一遍,且更新麻煩。
總之,需要本領域技術人員迫切解決的一個技術問題就是:如何能夠提高移動設備上圖形渲染的速度。
本申請案所要解決的技術問題在於提供一種在移動設備上進行圖形渲染的方法和裝置,能夠提高移動設備上圖形渲染的速度。
為了解決上述問題,本申請案揭示一種在移動設備上進行圖形渲染的方法,包括:獲取圖形應用程式的JavaScript代碼;所述JavaScript代碼中包括有基於OPENGL的渲染函數對應的API介面,所述API介面的樣式遵循HTML5 Canvas標準;在解析引擎中執行所述JavaScript代碼;所述執行過程包括:在執行到所述JavaScript代碼中的API介面時,
使用所述解析引擎以將所述API介面解析成為相應的基於OPENGL的渲染函數;以及調用解析得到的渲染函數對渲染目標進行圖形渲染。
較佳的,所述方法還包括:將基於OPENGL的渲染函數封裝成為API介面的封裝步驟;所述封裝步驟為,基於所述解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API介面,所述API介面係暴露給JavaScript開發者,所述API介面的樣式遵循HTML5 Canvas標準。
較佳的,所述渲染函數為基於OPENGL格式的函數所封裝得到的介面函數;則所述調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,進一步包括:將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;以及調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
較佳的,所述渲染函數包括初始化渲染函數,所述初始化渲染函數用於初始化底層的渲染環境。
較佳的,所述方法還包括:依據目前移動設備的平臺特徵,調用所述初始化渲染函數,以獲取相應的渲染資料,所述渲染資料具體上可以包括設備硬體資訊;依據所述設備硬體資訊來評估目前移動設備的硬體能
力;根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;則所述調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,進一步包括:依據所述調整後的渲染流程最佳化策略,調用解析得到的渲染函數對渲染目標進行圖形渲染。
根據本申請案的另一實施例,還揭示一種在移動設備上進行圖形渲染的裝置,包括:代碼獲取模組,用以獲取圖形應用程式的JavaScript代碼;所述JavaScript代碼中包括有基於OPENGL的渲染函數對應的API介面,所述API介面的樣式遵循HTML5 Canvas標準;代碼執行模組,用以在解析引擎中執行所述JavaScript代碼;所述執行過程包括:在執行到所述JavaScript代碼中的API介面時,使用所述解析引擎以將所述API介面解析成為相應的基於OPENGL的渲染函數;及函數調用模組,用以調用解析得到的渲染函數對渲染目標進行圖形渲染。
較佳的,所述裝置還包括:用以將基於OPENGL的渲染函數封裝成為API介面的封裝模組;則所述封裝模組具體上用以,基於所述解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API
介面,所述API介面係暴露給JavaScript開發者,所述API介面的樣式遵循HTML5 Canvas標準。
較佳的,所述渲染函數為基於OPENGL格式的函數所封裝得到的介面函數;則所述函數調用模組進一步包括:二次解析子模組,用以將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;及調用子模組,用以調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
較佳的,所述渲染函數包括初始化渲染函數,所述初始化渲染函數用以初始化底層的渲染環境。
較佳的,所述裝置還包括:環境初始化模組,用以依據目前移動設備的平臺特徵,調用所述初始化渲染函數,以獲取相應的渲染資料,所述渲染資料包括設備硬體資訊;評估模組,用以依據所述設備硬體資訊來評估目前移動設備的硬體能力;渲染流程最佳化策略調整模組,用以根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;則所述調用模組,具體上用以依據所述調整後的渲染流程最佳化策略,以調用解析得到的渲染函數對渲染目標進行圖形渲染。
與現有技術相比,本申請案具有以下優點:現有技術的瀏覽器基本上全部支援了HTML5 Canvas
標準的API介面,但是由於其將HTML5 Canvas標準當做瀏覽器中HTML節點控制項來加以處理,其排版邏輯、事件、重繪等操作都需要使用到HTML的節點樹,邏輯複雜,CPU需要處理的運算很多,因而導致渲染速度慢。
本申請案實施例也實現了HTML5中HTML5 Canvas標準的API介面,但是,本申請案基於解析引擎針對所述API介面解析得到相應的基於OPENGL的渲染函數,直接調用渲染函數對渲染目標進行渲染操作,能夠避免排版邏輯、事件、重繪等很多不必要的運算,因而提高渲染速度;並且,本申請案在對渲染目標進行圖形渲染的過程中,調用了基於OPENGL的渲染函數,基於OPENGL的渲染函數能夠在移動設備上充分利用GPU渲染圖形介面,更合理地利用顯卡來加以渲染;故本申請案能夠在較好的瀏覽器和作業系統相容性的前提下,進一步提高移動設備上圖形渲染的性能。
另外,HTML5開發本身是開發人員熟悉的,HTML5 CanvasAPI也是網頁遊戲開發人員所熟知的技術;對於開發人員而言,使用熟知的API技術來進行圖形應用程式的開發,本身沒有學習成本;故相對於現有技術中WebGL技術較高的學習成本,本申請案能夠降低圖形應用程式的學習成本,實現圖形應用程式的高效開發。
進一步地,現有技術的遊戲用戶端是使用C++或Java代碼來開發遊戲等圖形應用程式,且使用GPU來進行圖
形渲染的。但是,由於C++或Java代碼為編譯後的機器碼,需要安裝後執行,故現有技術的遊戲程式需要在下載後安裝一遍,且更新麻煩;而本申請案採用的JavaScript代碼為直接下載的代碼,可以一邊解析一邊執行,故JavaScript代碼具有C++和java代碼沒有的優勢,那就是無需安裝,隨時可以更新,並且可以運營,因此,相對於現有技術,本申請案開發的圖形應用程式無須安裝,且更新簡單,運營方便。
401‧‧‧代碼獲取模組
402‧‧‧代碼執行模組
403‧‧‧函數調用模組
圖1是本申請案一種在移動設備上進行圖形渲染的方法實施例的流程圖;圖2是本申請案之一種在移動設備上的瀏覽器中進行圖形渲染的方法流程示意圖;圖3是本申請案之一種在移動設備上運行遊戲程式的方法流程示意圖;圖4是本申請案之一種在移動設備上進行圖形渲染的裝置實施例的結構圖。
為了使本申請案的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式而對本申請案作進一步詳細的說明。
本申請案在JavaScript代碼中設計API介面,並在執行到JavaScript代碼中的API介面時,調用底層之基於OPENGL的渲染函數對渲染目標進行圖形渲染;由於本申請案能夠在避免現有技術中將HTML5 Canvas標準當做瀏覽器中HTML節點控制項來加以處理等複雜邏輯運算的情況下,直接對渲染目標進行渲染操作,因而能夠避免很多不必要的運算,提高渲染速度。
另外,本申請案在對渲染目標進行圖形渲染時,調用了基於OPENGL的渲染函數,基於OPENGL的渲染函數能夠在移動設備上充分利用GPU渲染圖形介面,更合理地利用顯卡來加以渲染;故本申請案能夠在較好的瀏覽器和作業系統相容性的前提下,進一步提高移動設備上圖形渲染的性能。
參照表1,示出了本申請案實施例中一些技術術語的解釋。
參照圖1,示出了本申請案一種在移動設備上進行圖形渲染的方法實施例的流程圖,具體上可以包括:
步驟101、獲取圖形應用程式的JavaScript代碼;所述JavaScript代碼中具體上可以包括有基於OPENGL的渲染函數對應的API介面,所述API介面的樣式遵循HTML5 Canvas標準;
步驟102、在解析引擎中執行所述JavaScript代碼;所述執行過程包括:在執行到所述JavaScript代碼中的
API介面時,使用所述解析引擎以將所述API介面解析成為相應的基於OPENGL的渲染函數;以及
步驟103、調用解析得到的渲染函數對渲染目標進行圖形渲染。
OPENGL ES 2.0等基於OPENGL的渲染函數在移動設備上可以充分利用GPU渲染圖形介面,解析引擎靈活的擴展函數介面能夠使JavaScript代碼具有了更強的靈活性和對底層C++的OPENGL庫的調用能力,本申請案實施例基於上述JavaScript和OPENGL的優勢,實現一套遵循HTML5 Canvas的API的在移動設備上進行圖形渲染的方案,既能夠提高移動設備上圖形渲染的速度,又能夠有效提高移動設備上圖形渲染的性能。
本申請案實施例中,解析引擎可被使用於為JavaScript代碼提供可擴展的運行環境,具體而言,解析引擎可被使用來解析JavaScript代碼並執行,並且,解析引擎具有擴展性,其可以提供各種靈活的擴展函數介面。
在實際應用中,本申請案的解析引擎具體上可以包括:Apple Safari 4的Nitro,Google Chrome的V8和Mozilla Firefox 3.5的TraceMonkey,Mozilla的SpiderMonkey等等,本申請案對具體的解析引擎不加以限制。
本申請案的JavaScript代碼為面向JavaScript開發人員,開發的HTML5技術中的Canvas程式,其可以被應用於各種情況。
例如,本申請案之對應的裝置可以被內嵌於瀏覽器中,或者,所述系統可以被外插於瀏覽器之上,此時,所述JavaScript代碼為瀏覽器的JavaScript代碼。
又如,本申請案可以被使用於圖形應用程式中圖形渲染部分的開發,所述圖形應用程式具體上可以包括瀏覽器、遊戲程式或聊天程式等需要用到圖形表達的程式。在移動設備上的圖形介面、遊戲表達技術中,OPENGL ES 2.0可以很出色的完成高效的渲染工作,因為其對GPU設備的合理利用,可以給遊戲程式帶來很好的性能體驗。然而開發者直接調用OPENGLes2.0的介面開發是有一定的開發難度的,有一定的開發門檻,開發週期也會較長。應用本申請案實施例,JavaScript開發人員直接調用HTML5的API,就可以實現OPENGL強大圖形能力。開發者只需要掌握JavaScript語言和HTML5 Canvas的2D/3D的開發方法,就可以輕鬆的開發出各種圖形渲染性能能夠與OPENGL的圖形渲染性能相媲美的圖形應用程式。
再如,本申請案可以被使用於圖形應用程式中圖形渲染部分的運行。在圖形應用程式的運行過程中,可以高速、高性能地進行圖形渲染。並且,本申請案採用的JavaScript代碼為直接下載的代碼,可以一邊解析一邊執行,故JavaScript代碼具有現有技術中圖形應用程式所使用C++和iava代碼沒有的優勢,那就是無需安裝,隨時可以更新,並且可以運營,因此,相對於現有技術,本申請案開發的圖形應用程式無須安裝,且更新簡單,運營方
便。
在本申請案的一種較佳實施例中,所述方法還可以包括:將基於OPENGL的渲染函數封裝成為API介面的封裝步驟;所述封裝步驟具體上可以為,基於所述解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API介面,所述API介面係暴露給JavaScript開發者,所述API介面的樣式遵循HTML5 Canvas標準。
在具體實現中,可以在封裝API介面時預留解析引擎的介面,這樣,在執行到JavaScript代碼中的API介面時,基於這個預留的解析引擎的介面對所述API介面進行解析即可;其中,作為封裝結果的API介面又是與基於OPENGL的渲染函數具有映射關係的,這裏的映射關係可以是一對一、一對多、多對一、多對多的映射關係等,本申請案主要針對基於OPENGL的渲染函數,基於解析引擎的擴展性封裝相應的API介面,暴露給JavaScript開發者,而不會對具體的擴展方法及相應的映射關係加以限制。
在此舉一個封裝API介面ctx.drawImage的代碼示例:class_proto->Set(v8::String::New("drawImage"),FunctionTemplate::New(V8GraphicsContext::DrawImage))
其中,要將class_proto對象封裝成為一個名稱為drawImage的API介面,該API介面對應之亦即最終要實現的渲染函數是C++的V8GraphicsContext::DrawImage函
數,class_proto就是ctx物件對應的底層物件範本,於是ctx.drawImage()介面就被擴展並暴露到JavaScript代碼中;在執行到JavaScript代碼中的API介面時,就能透過解析找到最終要實現的這個V8GraphicsContext::DrawImage函數,而這個函數就是基於OPENGL的渲染函數,其能夠在移動設備上充分利用GPU渲染圖形介面,更合理地利用顯卡來加以渲染。
類似ctx.drawImage,ctx.fillRect,ctx.fillText,ctx.strokeText等很多API介面都可被擴展並暴露到JavaScript代碼中,具體上參照下述代碼示例;class_proto->Set(v8::String::New("fillRect"),FunctionTemplate::New(V8GraphicsContext::FillRect));class_proto->Set(v8::String::New("fillText"),FunctionTemplate::New(V8GraphicsContext::FillText));class_proto->Set(v8::String::New("strokeText"),FunctionTemplate::New(V8GraphicsContext::StrokeText))。
在實際應用中,可集成一套基於OPENGL ES 2.0的圖形引擎以實現所述基於OPENGL的渲染函數,其可採用C++來予以實現,在移動設備上依賴OPENGL ES 2.0類庫等OPENGL圖形標準庫。這樣,本申請案的圖形引擎儲存有大量的C++的渲染函數以供解析引擎調用。由於OPENGL ES 2.0為本技術領域的公知技術,本申請案對圖形引擎的具體集成方式並不加以限制。
在實際應用中,應在確保圖形引擎被成功啟動的前提下進行圖形渲染。只要成功地運行起OPENGL圖形標準
庫,就能夠確保圖形引擎的成功啟動。
另外,OPENGL圖形標準庫能夠在android、Symbian、Linux、Windows等各種作業系統環境下運行,故圖形引擎也能在各種作業系統環境下成功啟動,因此,本申請案實施例可以適用於各種作業系統環境,諸如android(安卓)、Symbian(塞班)、Linux、Windows等。
總之,本申請案實施例主要結合JavaScript和OPENGL兩者的優勢,使用解析引擎以將基於OPENGL的渲染函數封裝成為遵循HTML5 Canvas 2D/3D標準的API介面,既能夠提高移動設備上圖形渲染的速度,又能夠有效提高移動設備上圖形渲染的性能。
在本申請案的一種較佳實施例中,所述渲染函數可以為基於OPENGL格式的函數所封裝得到的介面函數;則所述調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,可以進一步包括:將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;以及調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
在具體實現中,可以對OPENGL格式的函數進行封裝,得到類似HTML5 Canvas標準格式的介面函數,以提高API介面和解析引擎在實現上的便利性。例如,前述C++的V8GraphicsContext::DrawImage函數就是封裝後的
介面函數,實際上,封裝前的OPENGL格式的函數為glDrawElements。
在本申請案的另一種較佳實施例中,所述渲染函數具體上可以包括初始化渲染函數,所述初始化渲染函數可用來初始化底層的渲染環境。
本申請案實施例中,底層的渲染環境具體上可以包括:畫筆、畫布等等。其中,畫筆是繪製命令的發起者;畫布相當於記憶體的一個映射者。
在實際應用中,在首次執行到JavaS代碼中的API介面時,會獲得渲染目標,此時,解析相應的擴展介面,可以獲得畫布、畫筆等繪製工具,以初始化底層的渲染環境。這裏,渲染目標是系統所提供的OPENGL surface,亦即,顯卡裏面的緩衝區,例如在android作業系統中,渲染目標可以是一個android surfaceview(遊戲開發塊架),或者是一個瀏覽器中的畫布對應的底層結構等等;例如,在本申請案的一種應用示例中,可以採用如下Javascript代碼而獲得畫布和畫筆。
var canvas=cloudapp.createCanvas(480,800) /*獲得一個480*800的畫布canvas*/
var context=canvas.getContext() /*獲得畫筆*/
在本申請案的再一種較佳實施例中,所述方法還可以包括:依據目前移動設備的平臺特徵,調用所述初始化渲染函數,以獲取相應的渲染資料,所述渲染資料具體上可以
包括設備硬體資訊;依據所述設備硬體資訊來評估目前移動設備的硬體能力;根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;則所述調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,進一步包括:依據所述調整後的渲染流程最佳化策略,以調用解析得到的渲染函數對渲染目標進行圖形渲染。
本較佳實施例能夠根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整,並依據調整後的渲染流程最佳化策略對渲染流程進行最佳化,從而能夠有效提高圖形渲染的性能。
在實際應用中,渲染流程最佳化策略會涉及到各種各樣的策略參數。以頂點數(渲染到螢幕上的圖元點數)參數為例,假設首次對一次渲染頂點數進行了配置:默認是一次最多2000個頂點,在渲染過程中,根據不同的硬體能力,這個頂點數參數是可以改變的。例如,比較優質的顯卡一起處理2000個頂點是最快的,而比較劣質的顯卡一起處理600個頂點是最快的,上述2000、600為符合硬體能力的策略參數。
於是,大致的渲染流程如下:在接收到V8GraphicsContext::DrawImage這樣的調用指令時,不是馬上針對渲染目標進行渲染,而是向網頂點佇列、索引佇
列等靈活的資料佇列中push(堆放)資料,當資料佇列的長度達到策略參數(例如,2000)時,才開始提交渲染。
當然,除了策略參數外,渲染流程最佳化策略還可能包括其他策略,如顯卡的顏色格式,是否抗鋸齒能力,是否可以打開z緩衝區,是否支援範本緩衝區等等,本領域技術人員可以根據實際需求,採用各種各樣的渲染流程最佳化策略,本申請案對此不加以限制。
可以理解,本領域技術人員還可以根據所述設備硬體資訊,選擇一套最適合目前硬體環境的配置參數,諸如螢幕適配參數,圖元格式參數(ARGB_8888等),還有和顯卡有關的一些參數等等。
為了使本領域技術人員更佳地理解本申請案,以下描述本申請案在實際中的應用示例。
應用示例1、參照圖2,示出了本申請案之一種在移動設備上的瀏覽器中進行圖形渲染的方法流程示意圖,具體上可以包括:
步驟201、瀏覽器載入一個URL(統一資源定位符,Uniform Resource Locator)或UUID(通用唯一識別碼,Universally Unique Identifier);從而可以獲取HTML+JavaScript代碼,其中,JavaScript代碼包含了本申請案封裝的API介面;瀏覽器內核有給予HTTP(超文本傳送協定,
hypertext transport protocol)協定的請求模組,透過這個請求模組來請求代碼。具體過程是當你使用一個URL來訪問網站時,瀏覽器可以透過URL而拿到index.html主頁入口頁面,然後執行這個頁面,同時載入需要的資源和JavaScript代碼。對於本申請案只需要直接執行瀏覽器拿到的JavaScript代碼即可。
步驟202、瀏覽器執行JavaScript代碼中的var img=new cloudapp.Image()來初始化一張記憶體圖片,執行img.src="http://somewhere/url.png"來非同步載入一張圖片,執行圖片載入完成的回調函數img.onload=function(){};
步驟203、在首次執行到本申請案所封裝的API介面時,渲染目標會以Canvas視窗、內嵌Surface或者其他形式出現,本申請案封裝的API介面都被渲染到這個渲染目標上;
步驟204、在首次執行到JavaScript代碼中的API介面時,利用解析引擎將所述API介面解析成為相應的基於OPENGL的初始化渲染函數,並調用解析得到的初始化渲染函數初始化底層的渲染環境;所述底層的渲染環境具體上可以包括:畫筆、畫布等等;
步驟205、在後續執行到JavaScript代碼中的API介面時,利用解析引擎將所述API介面解析成為相應的基於OPENGL的其他渲染函數,並調用所述其他渲染函數對渲染目標進行圖形渲染。
在此給出JavaScript代碼中的API介面的示例:var canvas=cloudapp.createCanvas(480,800) /*獲得一個480*800的畫布canvas*/
var context=canvas.getContext() /*獲得Canvas畫筆*/
context.drawImage(img,100,100,50,50) /*將載入的圖片繪製到100,100位置,寬高規定為50,50*/
現有技術的瀏覽器(比如webkit內核的瀏覽器)基本上全部支援了HTML5 Canvas標準的API介面,但是由於其將HTML5 Canvas標準當做瀏覽器中HTML節點控制項來加以處理,其排版邏輯、事件、重繪等操作都需要用到HTML的節點樹,邏輯複雜,CPU需要處理的運算很多,因而導致渲染速度慢。
本申請案實施例也實現了HTML5中HTML5 Canvas標準的API介面,本申請案直接對渲染目標進行渲染操作,能夠避免排版邏輯、事件、重繪等很多不必要的運算,因而提高渲染速度;並且,本申請案基於解析引擎針對所述API介面解析得到相應的基於OPENGL的渲染函數,基於OPENGL的渲染函數為可以利用顯卡渲染的一個開放圖形庫,其可以更合理的利用顯卡來加以渲染,可以達到更好的渲染性能。
應用示例2、參照圖3,示出了本申請案之一種在移動設備上運行
遊戲程式的方法流程示意圖,具體上可以包括:步驟301、玩家從移動設備上打開遊戲市場;相當於移動設備啟動了一個獨立的程式。
步驟302、玩家翻閱遊戲市場,發現有一個感興趣的遊戲,就點擊相應的圖示;步驟303、遊戲市場針對玩家點擊的圖示,查找對應的遊戲ID;步驟304、遊戲市場透過HTTP或者其他請求,到遊戲廠家所在的伺服器上查找所述遊戲ID的入口代碼或入口檔main.js;main.js是遊戲廠家或與遊戲廠家合作的遊戲自由開發人員所開發的遊戲開發中的入口代碼部分;main.js中包括有createCanvas,getContext等初始化渲染函數的API介面,可用於初始化底層的渲染環境,main.js裏面還有import調用,import調用可被用來去載入其他的JS文件而自動執行,這時一個遊戲就開始了,玩家可以操作遊戲中的內容,其實就是玩遊戲,玩的過程中的邏輯,完全是遊戲本身的JS代碼控制的,但是渲染底層還是本申請案所支援的。
步驟305、運行main.js代碼;所述運行過程可以包括:在首次執行到main.js代碼中初始化渲染函數的API介面時,渲染目標會以Canvas視窗、內嵌Surface或者其他形式出現,並且利用解析引擎而將所述API介面解析成為相應的基於OPENGL的初始化渲染函數,並調用解析
得到的初始化渲染函數來初始化底層的渲染環境;步驟306、運行main.js代碼;所述運行過程還可以包括:依據import而調用載入所述遊戲ID對應的其他JS文件;本申請案實施例中,其他JS文件可以作為入口檔main.js代碼的依賴檔,在具體實現中,可以透過require機制來獲取其他JS文件,例如可以透過require(xxx.js)或者import(xxx.js)等方法,以達到載入其他JS文件的目的。
步驟307、運行所述其他JS文件;所述運行過程可以包括:在執行到所述其他JS文件中的API介面時,利用解析引擎以將所述API介面解析成為相應的基於OPENGL的其他渲染函數,並調用所述其他渲染函數對渲染目標進行圖形渲染。
現有技術的遊戲用戶端是使用C++或Java代碼來開發遊戲等圖形應用程式,且使用GPU來進行圖形渲染的。但是,由於C++或Java代碼為編譯後的機器碼,需要安裝後執行,故現有技術的圖形應用程式需要在下載後安裝一遍,且更新麻煩。
而本申請案採用的JavaScript代碼為直接下載的代碼,可以一邊解析一邊執行,故JavaScript代碼具有C++和java代碼沒有的優勢,那就是無需安裝,隨時可以更新,並且可以運營,因此,相對於現有技術,本申請案開發的圖形應用程式無須安裝,且更新簡單,運營方便。
與前述系統實施例相應,本申請案還提供了一種在移動設備上進行圖形渲染的裝置,參照圖4所示的結構圖,具體上可以包括:代碼獲取模組401,用以獲取圖形應用程式的JavaScript代碼;所述JavaScript代碼中包括有基於OPENGL的渲染函數對應的API介面,所述API介面的樣式遵循HTML5 Canvas標準;代碼執行模組402,用以在解析引擎中執行所述JavaScript代碼;所述執行過程包括:在執行到所述JavaScript代碼中的API介面時,使用所述解析引擎以將所述API介面解析成為相應的基於OPENGL的渲染函數;及函數調用模組403,用以調用解析得到的渲染函數對渲染目標進行圖形渲染。
在本申請案實施例中,較佳的是,所述裝置還可以包括:用以將基於OPENGL的渲染函數封裝成為API介面的封裝模組;所述封裝模組刻具體上用以,基於所述解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API介面,所述API介面係暴露給JavaScript開發者,所述API介面的樣式遵循HTML5 Canvas標準。
在本申請案的一種較佳實施例中,所述渲染函數可以為基於OPENGL格式的函數所封裝得到的介面函數;則所述函數調用模組403可以進一步包括:
二次解析子模組,用以將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;及調用子模組,用以調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
在本申請案的另一種較佳實施例中,所述渲染函數具體上可以包括初始化渲染函數,所述初始化渲染函數被用來初始化底層的渲染環境。
在本申請案的再一種較佳實施例中,所述裝置還可以包括:環境初始化模組,用以依據目前移動設備的平臺特徵,調用所述初始化渲染函數,以獲取相應的渲染資料,所述渲染資料包括設備硬體資訊;評估模組,用以依據所述設備硬體資訊來評估目前移動設備的硬體能力;渲染流程最佳化策略調整模組,用以根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;及則所述調用模組,具體上用以依據所述調整後的渲染流程最佳化策略,調用解析得到的渲染函數對渲染目標進行圖形渲染。
對於裝置實施例而言,由於其與方法實施例基本上相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本領域內的技術人員應明白,本申請案的實施例可提供為方法、系統、或電腦程式產品。因此,本申請案可採
用完全硬體實施例、完全軟體實施例、或結合軟體和硬體樣態的實施例的形式。而且,本申請案可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本申請案是參照根據本申請案實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得透過電腦或其他可編程資料處理設備的處理器執行的指令產生用以實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可被儲存在能引導電腦或其他可編程資料處理設備以特定方式操作的電腦可讀取記憶體中,使得儲存在該電腦可讀取記憶體中的指令產生包括指令裝置的製造產品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可被裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可
編程設備上執行的指令提供用以實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本申請案的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,即可對這些實施例做出另外的變更和修改。所以,所附之申請專利範圍意欲被解釋為包括較佳實施例以及落入本申請案之申請專利範圍的所有變更和修改。
本說明書中的各個實施例均採用遞進的方式來加以描述,每一個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
以上對本申請案所提供的一種在移動設備上進行圖形渲染的方法和裝置進行了詳細介紹,本文中應用了具體個例對本申請案的原理及實施方式進行了闡述,以上實施例的說明只是用來幫助理解本申請案的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請案的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請案的限制。
Claims (6)
- 一種在移動設備上進行圖形渲染的方法,其特徵在於,包括:獲取圖形應用程式的JavaScript代碼;該JavaScript代碼中包括有基於OPENGL的渲染函數對應的API介面,該API介面的樣式遵循HTML5 Canvas標準,其中,該渲染函數包括初始化渲染函數,該初始化渲染函數用以初始化底層的渲染環境;在解析引擎中執行該JavaScript代碼;該執行過程包括:在執行到該JavaScript代碼中的API介面時,使用該解析引擎以將該API介面解析成為相應的基於OPENGL的渲染函數;調用解析得到的渲染函數而對渲染目標進行圖形渲染;依據目前移動設備的平臺特徵,調用該初始化渲染函數,獲取相應的渲染資料,該渲染資料具體上可以包括設備硬體資訊;依據該設備硬體資訊來評估目前移動設備的硬體能力;根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;以及則該調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,進一步包括:依據該調整後的渲染流程最佳化策略,調用解析得到的渲染函數對渲染目標進行圖形渲 染。
- 如申請專利範圍第1項所述的方法,其中,還包括:將基於OPENGL的渲染函數封裝成為API介面的封裝步驟;該封裝步驟為,基於該解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API介面,該API介面係暴露給JavaScript開發者,該API介面的樣式遵循HTML5 Canvas標準。
- 如申請專利範圍第1項所述的方法,其中,該渲染函數為基於OPENGL格式的函數所封裝得到的介面函數;則該調用解析得到的渲染函數對渲染目標進行圖形渲染的步驟,進一步包括:將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;以及調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
- 一種在移動設備上進行圖形渲染的裝置,其特徵在於,包括:代碼獲取模組,用以獲取圖形應用程式的JavaScript代碼;該JavaScript代碼中包括有基於OPENGL的渲染函數對應的API介面,該API介面的樣式遵循HTML5 Canvas標準,其中,該渲染函數包括初始化渲染函數,該初始化渲染函數用以初始化底層的渲染環境; 代碼執行模組,用以在解析引擎中執行該JavaScript代碼;該執行過程包括:在執行到該JavaScript代碼中的API介面時,使用該解析引擎以將該API介面解析成為相應的基於OPENGL的渲染函數;函數調用模組,用以調用解析得到的渲染函數對渲染目標進行圖形渲染;環境初始化模組,用以依據目前移動設備的平臺特徵,調用該初始化渲染函數,以獲取相應的渲染資料,該渲染資料包括設備硬體資訊;評估模組,用以依據該設備硬體資訊來評估目前移動設備的硬體能力;渲染流程最佳化策略調整模組,用以根據目前移動設備的硬體能力進行渲染流程最佳化策略的調整;及則該調用模組,具體上用以依據該調整後的渲染流程最佳化策略,調用解析得到的渲染函數對渲染目標進行圖形渲染。
- 如申請專利範圍第4項所述的裝置,其中,還包括:用以將基於OPENGL的渲染函數封裝成為API介面的封裝模組;及該封裝模組具體上用以,基於該解析引擎的擴展性,將基於OPENGL的渲染函數封裝成為相應的API介面,該API介面係暴露給JavaScript開發者,該API介面的樣式遵循HTML5 Canvas標準。
- 如申請專利範圍第4項所述的裝置,其中,該渲染 函數為基於OPENGL格式的函數所封裝得到的介面函數;則該函數調用模組進一步包括:二次解析子模組,用以將解析得到的渲染函數進行二次解析,以得到相應的OPENGL格式的函數;及調用子模組,用以調用解析得到的OPENGL格式的函數對渲染目標進行圖形渲染。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210379921.4A CN103713891B (zh) | 2012-10-09 | 2012-10-09 | 一种在移动设备上进行图形渲染的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201415411A TW201415411A (zh) | 2014-04-16 |
TWI595442B true TWI595442B (zh) | 2017-08-11 |
Family
ID=49510515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102108645A TWI595442B (zh) | 2012-10-09 | 2013-03-12 | Method and apparatus for rendering graphics on a mobile device |
Country Status (6)
Country | Link |
---|---|
US (1) | US9646357B2 (zh) |
KR (1) | KR102115057B1 (zh) |
CN (1) | CN103713891B (zh) |
IN (1) | IN2015DN02756A (zh) |
TW (1) | TWI595442B (zh) |
WO (1) | WO2014058902A1 (zh) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9360339B2 (en) | 2013-01-14 | 2016-06-07 | Sap Se | Rendering maps with canvas elements |
US9448771B2 (en) | 2014-10-17 | 2016-09-20 | Duelight Llc | System, computer program product, and method for generating a lightweight source code for implementing an image processing pipeline |
US9361319B2 (en) | 2013-09-30 | 2016-06-07 | Duelight Llc | Systems, methods, and computer program products for digital photography |
US9508133B2 (en) | 2014-11-18 | 2016-11-29 | Duelight Llc | System and method for generating an image result based on availability of a network resource |
US9460118B2 (en) | 2014-09-30 | 2016-10-04 | Duelight Llc | System, method, and computer program product for exchanging images |
US9804900B2 (en) * | 2014-05-30 | 2017-10-31 | Apple Inc. | Manipulating shaders with object-oriented programming |
KR101577012B1 (ko) * | 2014-06-24 | 2015-12-11 | (주)에듀필미디어 | 멀티미디어 데이터의 합성방법 및 동영상 재생기 |
US10068370B2 (en) * | 2014-09-12 | 2018-09-04 | Microsoft Technology Licensing, Llc | Render-time linking of shaders |
US10013735B2 (en) * | 2015-01-28 | 2018-07-03 | Qualcomm Incorporated | Graphics processing unit with bayer mapping |
CN104573110B (zh) * | 2015-02-02 | 2018-08-21 | 北京恒华伟业科技股份有限公司 | 一种浏览器中图形的动态展示方法及装置 |
CN104866340A (zh) * | 2015-04-29 | 2015-08-26 | 小米科技有限责任公司 | 终端设备软件更新方法及装置 |
CN105373427B (zh) * | 2015-11-11 | 2019-12-03 | 麒麟合盛网络技术股份有限公司 | 一种显示应用和功能开关的方法及装置 |
CN107368291A (zh) * | 2016-05-13 | 2017-11-21 | 北京搜狗科技发展有限公司 | 一种网页绘制装置、方法及电子设备 |
CN105930535A (zh) * | 2016-06-20 | 2016-09-07 | 微景天下(北京)科技有限公司 | 自适应图像呈现系统和自适应图像呈现方法 |
CN106168869B (zh) * | 2016-06-24 | 2019-06-21 | 北京奇虎科技有限公司 | 基于悬浮窗的桌面视图处理方法、装置及终端 |
US10416836B2 (en) * | 2016-07-11 | 2019-09-17 | The Boeing Company | Viewpoint navigation control for three-dimensional visualization using two-dimensional layouts |
CN106327563B (zh) * | 2016-08-24 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 一种Directx纹理资源互操作系统及方法 |
CN107832108B (zh) * | 2016-09-14 | 2021-05-07 | 阿里巴巴集团控股有限公司 | 3D canvas网页元素的渲染方法、装置及电子设备 |
CN106547845A (zh) * | 2016-10-17 | 2017-03-29 | 搜游网络科技(北京)有限公司 | 用于模拟canvas接口的方法及其设备 |
CN106569816B (zh) * | 2016-10-26 | 2020-03-31 | 搜游网络科技(北京)有限公司 | 一种渲染方法及装置 |
CN106886404A (zh) * | 2017-01-17 | 2017-06-23 | 武汉卓尔云市集团有限公司 | 一种android的3D渲染装置 |
CN106897066B (zh) | 2017-02-24 | 2019-10-29 | 百富计算机技术(深圳)有限公司 | 基于pos支付终端的网络应用运行方法及装置 |
CN108572818B (zh) * | 2017-03-08 | 2021-07-23 | 斑马智行网络(香港)有限公司 | 一种用户界面渲染方法及装置 |
CN106990961B (zh) * | 2017-03-28 | 2023-10-27 | 北京航天联智科技有限公司 | 一种WebGL图形渲染引擎的建立方法 |
CN107066430B (zh) * | 2017-04-21 | 2021-02-26 | 阿里巴巴(中国)有限公司 | 图片处理方法、装置、服务端及客户端 |
US11062497B2 (en) | 2017-07-17 | 2021-07-13 | At&T Intellectual Property I, L.P. | Structuralized creation and transmission of personalized audiovisual data |
CN107562861A (zh) * | 2017-08-29 | 2018-01-09 | 武汉智丽丰信息科技有限公司 | 一种基于WebGL的WebGIS三维模型系统 |
CN109964204B (zh) | 2017-10-19 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 用于处理图形的方法和系统 |
CN108021356B (zh) * | 2017-11-06 | 2021-08-03 | 江苏省测绘研究所 | 一种跨屏跨平台的可量测实景地图组织方法 |
CN110262798B (zh) * | 2018-03-12 | 2023-11-10 | 北京蓝亚盒子科技有限公司 | 基于WebGL的图形绘制方法、装置、运行器及可读存储介质 |
EP3850586A4 (en) | 2018-09-10 | 2022-03-02 | AVEVA Software, LLC | THIRD PARTY GEOMETRY INTEGRATION SYSTEM AND METHOD FOR VISUALIZING LARGE DATA SETS |
CN109271155A (zh) * | 2018-09-11 | 2019-01-25 | Oppo广东移动通信有限公司 | 游戏平台的能力调用方法及相关产品 |
CN109395384A (zh) | 2018-09-12 | 2019-03-01 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关产品 |
CN109316751B (zh) * | 2018-09-20 | 2021-08-10 | Oppo广东移动通信有限公司 | 游戏适配方法、相关设备以及计算机可读存储介质 |
CN109271156B (zh) * | 2018-09-25 | 2022-02-18 | Oppo广东移动通信有限公司 | 游戏平台的底层调用方法及相关产品 |
CN111210496B (zh) * | 2018-11-19 | 2022-11-25 | 腾讯科技(深圳)有限公司 | 一种图片解码方法、装置以及设备 |
CN109542567A (zh) * | 2018-11-20 | 2019-03-29 | 四川长虹电器股份有限公司 | 基于Linux平台的浏览器的渲染方法及浏览器 |
CN111402349B (zh) * | 2019-01-03 | 2023-09-08 | 百度在线网络技术(北京)有限公司 | 渲染方法、渲染装置和渲染引擎 |
CN111400024B (zh) * | 2019-01-03 | 2023-10-10 | 百度在线网络技术(北京)有限公司 | 渲染过程中的资源调用方法、装置和渲染引擎 |
CN111408138B (zh) * | 2019-01-04 | 2023-07-07 | 厦门雅基软件有限公司 | 基于游戏引擎的渲染方法、装置及电子设备 |
CN109885302A (zh) * | 2019-01-29 | 2019-06-14 | 维沃移动通信有限公司 | 一种快应用的展示方法及终端设备 |
CN109918598B (zh) * | 2019-03-07 | 2022-10-18 | 四川长虹电器股份有限公司 | 一种基于Android电视浏览器的web页面渲染方法 |
CN110413914A (zh) * | 2019-07-25 | 2019-11-05 | 中南民族大学 | 基于WebGL的渲染方法、装置、设备及存储介质 |
CN110727481A (zh) * | 2019-09-06 | 2020-01-24 | 平安国际智慧城市科技股份有限公司 | 图片编辑方法、装置、计算机设备和存储介质 |
CN110764757B (zh) * | 2019-10-22 | 2023-06-09 | 成都九洲电子信息系统股份有限公司 | 一种基于html5的交互式图形绘制引擎 |
CN111275782B (zh) * | 2020-01-17 | 2023-09-08 | 广州图匠数据科技有限公司 | 一种图形绘制方法、装置、终端设备及存储介质 |
CN111381920B (zh) * | 2020-02-17 | 2022-10-04 | 网易(杭州)网络有限公司 | 弹窗组件的显示方法、装置以及电子终端 |
CN113360200A (zh) * | 2020-03-05 | 2021-09-07 | 北京沃东天骏信息技术有限公司 | 一种目标程序植入页面运行的方法和装置 |
CN111562962B (zh) * | 2020-04-29 | 2023-07-04 | 百度在线网络技术(北京)有限公司 | 画面渲染方法、装置、电子设备和存储介质 |
CN111580809A (zh) * | 2020-05-07 | 2020-08-25 | 讯飞幻境(北京)科技有限公司 | 一种可视化webgl框架构建方法、装置及计算机设备 |
CN112288840B (zh) * | 2020-10-26 | 2021-08-24 | 北京优锘科技有限公司 | 一种三维渲染引擎结合JavaScript脚本引擎实现运行的方法 |
CN113313804B (zh) * | 2021-06-23 | 2024-03-12 | 深圳Tcl新技术有限公司 | 一种图像渲染方法、装置、电子设备和存储介质 |
CN113515396B (zh) * | 2021-07-09 | 2024-01-30 | 北京字节跳动网络技术有限公司 | 图形渲染方法、装置、电子设备与存储介质 |
CN113570733A (zh) * | 2021-08-05 | 2021-10-29 | 稿定(厦门)科技有限公司 | 一种基于WebGL的图形渲染方法、装置及系统 |
CN113694523A (zh) * | 2021-08-30 | 2021-11-26 | 上海哔哩哔哩科技有限公司 | 基于移动端app的h5游戏显示方法、装置及计算机设备 |
CN114090918A (zh) * | 2021-10-25 | 2022-02-25 | 青岛海尔科技有限公司 | 参数调整方法、装置、存储介质及电子装置 |
CN114821001B (zh) * | 2022-04-12 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 基于ar的互动方法、装置及电子设备 |
CN114546578A (zh) * | 2022-04-26 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种地图可视化方法、装置、系统及计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
US20120117145A1 (en) * | 2010-11-08 | 2012-05-10 | Sony Corporation | Methods and systems for use in providing a remote user interface |
TW201227371A (en) * | 2010-12-23 | 2012-07-01 | Microsoft Corp | Techniques for electronic aggregation of information |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289299B1 (en) | 1999-02-17 | 2001-09-11 | Westinghouse Savannah River Company | Systems and methods for interactive virtual reality process control and simulation |
US6874150B2 (en) * | 2001-03-01 | 2005-03-29 | Microsoft Corporation | Method and system for maintaining connections between surfaces and objects in a graphics display system |
US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
JP2006195979A (ja) * | 2005-01-04 | 2006-07-27 | Microsoft Corp | ウェブアプリケーションアーキテクチャ |
KR20060108069A (ko) * | 2005-04-12 | 2006-10-17 | 한국문화콘텐츠진흥원 | 임베디드 시스템의 씨 기반 그래픽 렌더러가 이용된 자바플랫폼용 모바일 3차원 그래픽 엔진 및 그를 이용한 3차원그래픽 구현방법 |
US20070171222A1 (en) * | 2006-01-23 | 2007-07-26 | Autodesk, Inc. | Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation |
US20080201695A1 (en) * | 2007-02-16 | 2008-08-21 | Qing Zhou | Computer graphics rendering |
CA2730291A1 (en) * | 2008-07-25 | 2010-01-28 | Qualcomm Incorporated | Performance analysis during visual creation of graphics images |
US8675000B2 (en) | 2008-11-07 | 2014-03-18 | Google, Inc. | Command buffers for web-based graphics rendering |
WO2011080776A1 (en) | 2009-12-30 | 2011-07-07 | Telecom Italia S.P.A. . | Method for the calculation of the bounding box of vectorial graphic shapes |
US8561038B1 (en) * | 2009-12-31 | 2013-10-15 | Google Inc. | High performance execution environment |
US20120169754A1 (en) | 2010-12-30 | 2012-07-05 | Nokia Corporation | Method and apparatus for providing synthesizable graphics for user terminals |
US8872861B2 (en) * | 2011-05-13 | 2014-10-28 | Samsung Display Co., Ltd. | Apparatus for selecting backlight color values |
CN102323880A (zh) * | 2011-06-30 | 2012-01-18 | 中兴通讯股份有限公司 | 基于浏览器解析方式的手机应用界面的开发方法和终端 |
US8760451B2 (en) | 2011-06-30 | 2014-06-24 | Google Inc. | Rendering a text image using texture map character center encoding with character reference encoding |
US8400453B2 (en) | 2011-06-30 | 2013-03-19 | Google Inc. | Rendering a text image following a line |
CN102316161B (zh) * | 2011-08-31 | 2014-05-14 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据传输装置和方法 |
CN102323882B (zh) * | 2011-08-31 | 2014-03-12 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据处理装置和方法 |
US9202309B2 (en) * | 2011-09-01 | 2015-12-01 | Adobe Systems Incorporated | Methods and apparatus for digital stereo drawing |
EP2780826B1 (en) * | 2011-11-15 | 2020-08-12 | Trimble Inc. | Browser-based collaborative development of a 3d model |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
-
2012
- 2012-10-09 CN CN201210379921.4A patent/CN103713891B/zh not_active Expired - Fee Related
-
2013
- 2013-03-12 TW TW102108645A patent/TWI595442B/zh not_active IP Right Cessation
- 2013-10-08 IN IN2756DEN2015 patent/IN2015DN02756A/en unknown
- 2013-10-08 WO PCT/US2013/063916 patent/WO2014058902A1/en active Application Filing
- 2013-10-08 KR KR1020157008416A patent/KR102115057B1/ko active IP Right Grant
- 2013-10-08 US US14/049,038 patent/US9646357B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120117145A1 (en) * | 2010-11-08 | 2012-05-10 | Sony Corporation | Methods and systems for use in providing a remote user interface |
TW201227371A (en) * | 2010-12-23 | 2012-07-01 | Microsoft Corp | Techniques for electronic aggregation of information |
CN102087598A (zh) * | 2011-02-22 | 2011-06-08 | 深圳市同洲电子股份有限公司 | 一种3d界面展示方法、装置及浏览装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201415411A (zh) | 2014-04-16 |
CN103713891B (zh) | 2017-11-24 |
US9646357B2 (en) | 2017-05-09 |
IN2015DN02756A (zh) | 2015-08-28 |
CN103713891A (zh) | 2014-04-09 |
WO2014058902A1 (en) | 2014-04-17 |
US20140098118A1 (en) | 2014-04-10 |
KR102115057B1 (ko) | 2020-05-26 |
KR20150067165A (ko) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI595442B (zh) | Method and apparatus for rendering graphics on a mobile device | |
WO2018050003A1 (zh) | 3D canvas网页元素的渲染方法、装置及电子设备 | |
CN110691136B (zh) | 数据交互方法、装置、电子设备及存储介质 | |
US8922569B1 (en) | Cloud based system for and method of translating between disparate 3D graphics languages in client-server computing environments | |
US10013157B2 (en) | Composing web-based interactive 3D scenes using high order visual editor commands | |
US9467534B2 (en) | Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications | |
Cozzi et al. | OpenGL insights | |
WO2019238145A1 (zh) | 一种基于WebGL的图形绘制方法、装置及系统 | |
US20190080017A1 (en) | Method, system, and device that invokes a web engine | |
WO2022095526A1 (zh) | 图形引擎和适用于播放器的图形处理方法 | |
US9437032B1 (en) | Server computing system for and method of providing cross-platform remote access to 3D graphics applications | |
CN112307403A (zh) | 页面渲染方法、装置、存储介质以及终端 | |
US8838749B1 (en) | Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications | |
US11244419B2 (en) | Method and apparatus for hardware accelerated graphics rendering in bridge APIs | |
US9830307B1 (en) | Ahead of time compilation of content pages | |
Gill et al. | The remote monad design pattern | |
US11758016B2 (en) | Hosted application as web widget toolkit | |
CN116503529A (zh) | 渲染、3d画面控制方法、电子设备和计算机可读存储介质 | |
TW201443666A (zh) | 三維圖像展示系統及方法 | |
US9183663B1 (en) | System for and method of classifying and translating graphics commands in client-server computing systems | |
US9064292B1 (en) | System for and method of classifying and translating graphics commands in client-server computing systems | |
CN115586893A (zh) | 一种跨平台软件开发系统及方法 | |
Elkin | Porting your VR title to oculus quest | |
Petersen | Developing Web Application Clients Using Multi-Agent Programming Patterns | |
Halic et al. | pWeb: A High-Performance, Parallel-Computing Framework for Web-Browser-Based Medical Simulation. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |