一種顯示立體畫面的方法及裝置的製作方法
2023-09-14 19:17:15 2
專利名稱:一種顯示立體畫面的方法及裝置的製作方法
技術領域:
本發明涉及立體顯示技術領域,特別涉及一種顯示立體畫面的方法及裝置。
背景技術:
每個人都有雙目,由於眼睛的分布特點產生了瞳距從而造成了我們所看到的物體影像在兩眼中有一些差異,大腦會根據這種差異感覺到立體景象。所有的立體顯示都是基於這個原理,通過某種方法,讓人的左右眼看到不同的畫面,從而產生立體視覺。渲染,通常是電腦繪圖中的最後一道工序,也是最終使圖像符合立體場景的階段, 也就是說,渲染在電腦繪圖中是指用軟體從模型圖片等數據生成立體影像的過程。目前,對於一個應用程式而言,其在實現立體畫面顯示時,其中的渲染操作是由第三方來完成的。即通過安裝一第三方提供的立體畫面驅動程序而讓部分應用程式的顯示畫面具有立體效果。下面以iZ3D驅動程序為例,具體說明現有的應用程式實現顯示立體畫面的方法。參見圖1,其是現有的顯示立體畫面的方法流程圖。本流程中以iZ3D驅動程序作為第三方提供的立體畫面驅動程序為例進行說明。步驟101,安裝iZ3D驅動程序並進行相應的配置;該iZ3D驅動程序包括與應用程式實現動態連結的動態連結庫(dll);這裡的配置包括對底層DirectX的設置以及顯示參數的配置,如外觀設置、快捷鍵設置等等,具體配置方式可以參見2c ;這裡的安裝、配置均為現有技術,不再贅述。步驟102,安裝待使用的應用程式;上述步驟101和步驟102之間沒有嚴格的先後順序;步驟103,當所安裝的應用程式運行、且需要渲染模型時,發出渲染指令;步驟104,iZ3D驅動程序通過自身攜帶的動態連結庫接收到所述顯示指令,執行立體顯示準備操作,之後通知DirectX執行渲染操作;具體包括通過自帶的動態連結庫,接收所述顯示指令;設置攝像機參數,如根據立體顯示指令中的參數,對攝像機位置進行左、右偏移, 從而形成兩個攝像機參數等,具體的設置方法本文不再詳細說明;通知DirectX根據所設置的參數執行渲染操作;這裡的渲染包括模型渲染和界面渲染;該iZ3D驅動程序還可以根據需要保存模型渲染的中間結果,例如渲染後的左眼圖像和右眼圖像,以在後續顯示過程中執行合併操作;步驟105,在需要顯示立體畫面時,應用程式發出畫面顯示指令;步驟106,iZ3D驅動程序通過自身攜帶的動態連結庫接收到所述立體顯示指令後,合併自身保存的中間結果,之後通知DirectX執行渲染操作,DirectX對合併後的中間結果渲染後輸出至顯示設備,實現立體畫面顯示。至此,實現了立體畫面的顯示。
通過圖1所示流程可知,現有的顯示立體畫面的方法都是應用第三方提供的立體畫面驅動程序來接管並修改應用程式對底層驅動程序的普通渲染的調用,由此,現有方案至少存在如下缺陷1)除安裝應用程式外,還需額外安裝配置第三方提供的立體畫面驅動程,因此,不但實現步驟繁瑣,而且,很可能與某些應用程式不兼容,即對於某些應用程式而言,根本無法實現立體顯示,甚至導致應用程式無法啟動;2)由於是應用第三方提供的立體畫面驅動程序來間接驅動原有的底層驅動程序 DirectX,因此,在調節參數時,如調節外觀設置時,需要從當前運行應用程式中切換出來, 或者使用快捷鍵,這樣,如果使用前者(從當前運行應用程式中切換出來)則會中斷當前運用的程序,而且操作繁瑣,如果使用後者(快捷鍵方式),則很可能與當前所運行的應用程式中已設置的快捷鍵發生衝突,無法實現參數調節;3)應用第三方提供的立體畫面驅動程序每次都必然同時進行模型渲染和界面渲染(第三方提供的立體畫面驅動程序無法區分哪些是模型哪些是界面),如果需要只渲染模型不渲染界面,即不讓界面出現立體效果(例如,如果界面是立體效果,由於其實際的深度可能與場景重疊,易導致圖像不能被分辨),則根本無法實現。
發明內容
本發明實施例的目的在於提供一種顯示立體畫面的方法及裝置,既可以簡化立體顯示的操作步驟,又可以避免調節參數時中斷當前運行的應用程式,還可以指定渲染內容。本發明實施例提供了一種顯示立體畫面的方法,包括安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;所述方法還包括在所述應用程式運行時,所述應用程式接收包含立體顯示方式信息的立體畫面顯示指令;所述應用程式通過自帶的動態連結庫,向所述應用程式的渲染引擎發出立體顯示設置指令;所述渲染引擎根據接收到的立體顯示設置指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;所述渲染引擎接收來自應用程式的畫面顯示指令,向所述應用程式所在系統的底層驅動發出渲染指令;所述應用程式所在系統的底層驅動執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。其中,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的信息;所述應用程式所在系統的底層驅動對模型進行立體渲染操作;所述提交的畫面渲染結果為模型立體渲染結果畫面。其中,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息;所述應用程式所在系統的底層驅動對模型和界面執行立體渲染操作;所述提交的畫面渲染結果為模型和界面立體渲染結果畫面。其中,所述立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯不方式f目息。
本發明實施例還提供了一種顯示立體畫面的裝置,包括安裝模塊,用於安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;所述裝置還包括應用層,用於接收包含立體顯示方式信息的立體畫面顯示指令;通過應用程式自帶的動態連結庫,向所述應用程式的渲染引擎發出立體顯示設置指令;所述應用程式的渲染引擎,用於根據接收到的立體顯示設置指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;接收來自應用程式的渲染數據指令,向所述應用程式所在系統的底層驅動發出渲染指令;所述應用程式所在系統的底層驅動,用於執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。其中,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的信息;所述應用程式所在系統的底層驅動對模型進行立體渲染操作;所述提交的畫面渲染結果為模型立體渲染結果畫面。其中,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息;所述應用程式所在系統的底層驅動對模型和界面執行立體渲染操作;所述提交的畫面渲染結果為模型和界面立體渲染結果畫面。其中,所述立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯不方式f目息。應用本發明實施例提供的顯示立體畫面的方法和裝置,通過由應用程式自身提供所需要的立體畫面驅動程序,而不需要第三方提供的立體畫面驅動程序,避免了由於第三方提供的立體畫面驅動程序所帶來各種問題,如操作繁瑣,與某些應用程式不兼容的問題, 不能指定渲染內容等等;並且,也避免了更改顯示參數需要中斷當前應用程式或是更改顯示參數與當前應用程式中的快捷鍵相衝突的問題;使得立體顯示操作的配置更簡便(只需在應用程式中按照菜單設置即可),保證了每個使用本方法應用程式都可以進行立體顯示, 而且有足夠的信息可以區分模型和界面,可以渲染指定的內容如只渲染模型,保證不會出現渲染誤渲染界面的錯誤。
為了更清楚地說明本發明實施例和現有技術中的技術方案,下面將對實施例和現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是現有的顯示立體畫面的方法流程圖;圖加是現有技術的對iZ3D驅動程序進行配置的一幅示例圖;圖2b是現有技術的對iZ3D驅動程序進行配置的另一幅示例圖;圖2c是現有技術的對iZ3D驅動程序進行配置的再一幅示例圖;圖3是根據本發明實施例的顯示立體畫面的方法流程圖;圖4是根據本發明實施例的顯示立體畫面的裝置邏輯結構圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。本發明所提供的實施例中不需要第三方提供的立體畫面驅動程,因而避免另由於第三方提供的立體畫面驅動程序所帶來各種問題,並且操作非常簡單。參見圖3,其是根據本發明實施例的顯示立體畫面的方法流程圖,本流程具體包括步驟301,安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;步驟302,在所安裝的應用程式運行時,應用程式接收來自用戶的包含立體顯示方式信息的立體畫面設置指令;這裡,立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯示方式信息。而且,對於紅藍眼鏡立體顯示方式所支持的眼鏡顏色至少包括紅-青,綠-紫。步驟303,所述應用程式通過自帶的動態連結庫,向應用程式的渲染引擎發出立體顯示設置指令;步驟304,渲染引擎根據接收到的立體顯示設置指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;這裡立體顯示準備操作的具體操作可以包括設置攝像機參數,如根據立體顯示指令中的參數,對攝像機位置進行左、右偏移,從而形成兩個攝像機參數等,該顯示準備操作的具體操作內容與現有技術相同,不再贅述;步驟305,所述渲染引擎接收來自應用程式的畫面顯示指令,向所述應用程式所在系統的底層驅動發出渲染指令;步驟306,所述應用程式所在系統的底層驅動執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。這裡,底層驅動如DirectX所做的具體渲染操作與現有技術實現方案完全相同, 本文不再贅述;需要說明的是,一種可能的情況是,渲染引擎接收到的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的信息,此時,底層驅動以立體的方式渲染模型,以平面的方式渲染界面,這樣,提交的畫面渲染結果為模型立體渲染結果畫面;另一種可能的情況是,渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息,此時,提交的畫面渲染結果為模型和界面的立體渲染結果畫面。可見,是對模型和界面都進行立體渲染,還是只對模型進行立體渲染不對界面進行立體渲染在本申請所提供的實施例中完全是一種可控的行為。需要說明的是,在本實施例提供的立體顯示的過程中,無論渲染引擎還是底層驅動均是屬於應用程式之內的模塊。這樣,在進行立體顯示時,如果需要調節參數,不需要從當前應用程式中切換出來(當前應用程式即可執行),避免了當前應用程式的中斷,同時由於根本不需要設置快捷鍵,因而也避免了調節參數的快捷鍵與當前應用程式所設置的快捷
7鍵的相互衝突。可見,應用本發明實施例提供的顯示立體畫面的方法,通過由應用程式自身提供所需要的立體畫面驅動程序,而不需要第三方提供的立體畫面驅動程序,避免了由於第三方提供的立體畫面驅動程序所帶來各種問題,如操作繁瑣,與某些應用程式不兼容的問題, 不能指定渲染內容等等;並且,也避免了更改顯示參數需要中斷當前應用程式或是更改顯示參數與當前應用程式中的快捷鍵相衝突的問題;使得立體顯示操作的配置更簡便(只需在應用程式中按照菜單設置即可),保證了每個使用本方法應用程式都可以進行立體顯示, 而且有足夠的信息可以區分模型和界面,可以渲染指定的內容如只渲染模型,保證不會出現渲染誤渲染界面的錯誤。下面以一種網路遊戲為例,來具體說明本發明的實現過程,這裡,本發明應用程式的一種體現形式即為一個網路遊戲。需要說明的是,本發明應用程式的體現形式並不限於此。首先,安裝待玩的一個網路遊戲,該網路遊戲中包括用於與應用程式實現動態連結的動態連結庫,即安裝網路遊戲的過程中已同時安裝了動態連結庫;之後,在網路遊戲運行的過程中,如果用戶希望顯示立體效果,則可以通過菜單向該網路遊戲發出包含立體顯示方式信息的立體畫面設置指令;此時網路遊戲根據接收到的指令中所包含的立體顯示方式信息給出相應選擇信息,例如,如果接收到包含紅藍眼鏡立體顯示方式信息的立體畫面設置指令,則可以彈出相應菜單,以供用戶選擇眼鏡的具體顏色(如紅-青)以及相應的參數;如果接收到包含偏振立體顯示方式信息的立體畫面設置指令,則可以彈出相應菜單,以供用戶選擇該模式下的相應參數;需要說明的是,每種立體顯示方式下的相應參數是固定的,本文不再對此詳細說明。網路遊戲通過自帶的動態連結庫,向自身所在系統的渲染引擎發出立體顯示設置指令;渲染引擎根據接收到的立體顯示設置指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;這裡,在確定立體顯示方式後,渲染引擎所做的操作,與現有技術實現方案完全相同,本文不再贅述;渲染引擎接收來自網路遊戲的畫面渲染指令,向網路遊戲所在系統的底層驅動發出渲染指令;底層驅動執行渲染操作後,提交畫面渲染操作結果至顯示設備如顯示器,實現立體畫面顯示。需要說明的是,一種可能的情況是,渲染引擎接收到的來自網路遊戲的畫面顯示指令中包含使用立體方式渲染模型的信息,此時,底層驅動以立體的方式渲染模型,以平面的方式渲染界面,這樣,提交的畫面渲染結果為模型立體渲染結果畫面;另一種可能的情況是,渲染引擎接收的來自網路遊戲的畫面顯示指令中包含使用立體方式渲染模型和界面的信息,此時,提交的畫面渲染結果為模型和界面的立體渲染結果畫面。可見,是對模型和界面都進行立體渲染,還是只對模型進行立體渲染不對界面進行立體渲染在本申請所提供的實施例中完全是一種可控的行為。需要說明的是,在網路遊戲進行的過程當中,由於無論渲染引擎還是底層驅動均是屬於網路遊戲之內的模塊,因此,可以隨時進行顯示參數的修改而不用跳出當前的遊戲界面,這樣,可以在遊戲的進行當中隨時調節參數。此外,由於根本不需要設置快捷鍵,因而也避免了調節參數的快捷鍵與當前應用程式所設置的快捷鍵的相互衝突。本發明實施例還提供來一種顯示立體畫面的裝置,參見圖5,具體包括安裝模塊401,用於安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;所述裝置還包括應用層402,用於接收包含立體顯示方式信息的立體畫面設置指令;通過應用程式自帶的動態連結庫,向所述應用程式渲染引擎發出立體顯示準備指令;所述應用程式的渲染引擎403,用於根據接收到的立體顯示準備指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;接收來自應用程式的畫面顯示指令,向所述應用程式所在系統的底層驅動發出渲染指令;所述應用程式所在系統的底層驅動404,用於執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。上述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的信息;所述應用程式所在系統的底層驅動對模型進行立體渲染操作;所述提交的畫面渲染結果為模型立體渲染結果畫面。上述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息;所述應用程式所在系統的底層驅動對模型和界面執行立體渲染操作;所述提交的畫面渲染結果為模型和界面立體渲染結果畫面。上述立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯示方式fe息。上述紅藍眼鏡立體顯示方式所支持的眼鏡顏色至少包括紅-青,綠-紫。可見,應用本發明實施例提供的顯示立體畫面的裝置,通過由應用程式自身提供所需要的立體畫面驅動程序,而不需要第三方提供的立體畫面驅動程序,避免了由於第三方提供的立體畫面驅動程序所帶來各種問題,如操作繁瑣,與某些應用程式不兼容的問題, 不能指定渲染內容等等;並且,也避免了更改顯示參數需要中斷當前應用程式或是更改顯示參數與當前應用程式中的快捷鍵相衝突的問題;使得立體顯示操作的配置更簡便(只需在應用程式中按照菜單設置即可),保證了每個使用本方法應用程式都可以進行立體顯示, 而且有足夠的信息可以區分模型和界面,可以渲染指定的內容如只渲染模型,保證不會出現誤渲染界面的錯誤。對於裝置實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。需要說明的是,在本文中,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有
的要素。在沒有更多限制的情況下,由語句「包括一個......」限定的要素,並不排除在包
括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本領域普通技術人員可以理解實現上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機可讀取存儲介質中, 這裡所稱得的存儲介質,如R0M/RAM、磁碟、光碟等。以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。
權利要求
1.一種顯示立體畫面的方法,其特徵在於,包括安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;所述方法還包括在所述應用程式運行時,所述應用程式接收包含立體顯示方式信息的立體畫面顯示指令; 所述應用程式通過自帶的動態連結庫,向所述應用程式的渲染引擎發出立體顯示設置指令;所述渲染引擎根據接收到的立體顯示設置指令,確定立體顯示方式,根據不同的立體顯示方式執行立體顯示準備操作;所述渲染引擎接收來自應用程式的畫面顯示指令,向所述應用程式所在系統的底層驅動發出渲染指令;所述應用程式所在系統的底層驅動執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。
2.根據權利要求1所述的方法,其特徵在於,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的 fn息;所述應用程式所在系統的底層驅動對模型進行立體渲染操作; 所述提交的畫面渲染結果為模型立體渲染結果畫面。
3.根據權利要求1所述的方法,其特徵在於,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息;所述應用程式所在系統的底層驅動對模型和界面執行立體渲染操作; 所述提交的畫面渲染結果為模型和界面立體渲染結果畫面。
4.根據權利要求1所述的方法,其特徵在於,所述立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯示方式信息。
5.一種顯示立體畫面的裝置,其特徵在於,包括安裝模塊,用於安裝待使用應用程式,所述應用程式中包括用於與應用程式實現動態連結的動態連結庫;所述裝置還包括應用層,用於接收包含立體顯示方式信息的立體畫面顯示指令;通過應用程式自帶的動態連結庫,向所述應用程式的渲染引擎發出立體顯示設置指令;所述應用程式的渲染引擎,用於根據接收到的立體顯示設置指令,確定立體顯示方式, 根據不同的立體顯示方式執行立體顯示準備操作;接收來自應用程式的渲染數據指令,向所述應用程式所在系統的底層驅動發出渲染指令;所述應用程式所在系統的底層驅動,用於執行渲染操作後,提交畫面渲染操作結果至顯示設備,實現立體畫面顯示。
6.根據權利要求5所述的裝置,其特徵在於,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型的 fn息;所述應用程式所在系統的底層驅動對模型進行立體渲染操作; 所述提交的畫面渲染結果為模型立體渲染結果畫面。
7.根據權利要求5所述的裝置,其特徵在於,所述渲染引擎接收的來自應用程式的畫面顯示指令中包含使用立體方式渲染模型和界面的信息;所述應用程式所在系統的底層驅動對模型和界面執行立體渲染操作; 所述提交的畫面渲染結果為模型和界面立體渲染結果畫面。
8.根據權利要求5所述的裝置,其特徵在於,所述立體顯示方式信息至少包括紅藍眼鏡立體顯示方式信息,和偏振立體顯示方式信息。
全文摘要
本發明公開了一種顯示立體畫面的方法及裝置,應用本發明,通過由應用程式自身提供所需要的立體畫面驅動程序,而不需要第三方提供的立體畫面驅動程序,避免了由於第三方提供的立體畫面驅動程序所帶來各種問題,如操作繁瑣,與某些應用程式不兼容的問題,不能指定渲染內容等等;並且,也避免了更改顯示參數需要中斷當前應用程式或是更改顯示參數與當前應用程式中的快捷鍵相衝突的問題;使得立體顯示操作的配置更簡便,保證了每個使用本方法應用程式都可以進行立體顯示,而且有足夠的信息可以區分模型和界面,可以渲染指定的內容如只渲染模型,保證不會出現渲染誤渲染界面的錯誤。
文檔編號G06F9/44GK102419702SQ20101029421
公開日2012年4月18日 申請日期2010年9月27日 優先權日2010年9月27日
發明者王亞偉, 謝成鴻, 郭兆奎 申請人:北京中娛在線網絡科技有限公司