中文字幕无码日韩视频无码三区

一種圖形渲染中光柵化階段的多線程實現方法

文檔序號:6423657閱讀:405來源:國知局
專利名稱:一種圖形渲染中光柵化階段的多線程實現方法
技術領域
本發明涉及電視節目制作領域中的字幕處理領域,尤其涉及一種圖形渲染中光柵化階段的多線程實現方法。
背景技術
隨著計算機圖形、圖像、視頻技術的不斷發展,加上國內廣電行業正處于從標準清晰度模式向高清晰度模式過渡的時期,電視臺等電視制播單位對電視圖文制播提出了更 高、更新的要求。這就對視頻制作過程中的每一個環節都需要適時的技術更新。圖形渲染中的光柵化階段是字幕制作領域的一個非常重要的環節。現有技術中三維場景的渲染主要是基于GPU (Graphic Processing Unit,圖形處理器)的。基于GPU的渲染并行性,可以實現高效率的渲染。但是現有的GPU渲染還是需要依賴顯卡,CPU本身運算能力很大,但是因傳統的CPU運算是串行運算,運用的運算單元僅僅用到了其中很小的一部分,這就早成了很大的資源浪費,運算效率也比較低。發明人在實施本發明的過程中,發現現有技術存在以下技術問題(I)在CPU實現三維渲染時,在光柵化階段效率很低(2)多個CPU未能充分利用

發明內容
為了解決上述現有技術的缺點,本發明的主要目的是提供一種圖形渲染中光柵化三角片填充的多線程實現方法,以提高圖形渲染的光柵化速度。為了達到上述目的,本發明提供了一種圖形渲染中光柵化三角片填充的多線程實現方法,具體包括計算三維物體的包圍盒,將所述包圍盒劃分成η個子區域并對應η個線程;劃分三角片到對應的η個子區域內;執行與CPU個數相當的線程進行對應所述子區域內的三角片填充;繼續執行線程直到將所有η個線程全部執行完畢,完成整個三角片的填充。本發明的實施方式先計算三維物體的包圍盒劃分為η個線程的,通過先執行與CPU個數相當的線程進行對應子區域內的三角片填充,并且循環執行線程,同時執行多個線程直到將η個線程全部執行完畢完成整個三角片的填充的方式,能夠大大提高圖形渲染中光柵化三角片的填充,而在CPU上也能實現高效率的并行性。


為了更清楚的說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單的介紹,顯而易見的,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖I為本發明實施例一種圖形渲染中光柵化階段的多線程實現方法的流程圖
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然所描述的實施例僅是本發明的一部分實施例,不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。本發明實施例一方面提供了一種圖形渲染中光柵化三角片填充的多線程實現方法,如圖2所示為本發明實施例的具體實現方法,闡述如下步驟SI :計算三維物體在屏幕空間中的包圍盒。依次計算三維物體在物體空間中的包圍盒的八個頂點在屏幕空間中的坐標,然后根據所述八個頂點在屏幕空間中的坐標計算屏幕空間中的三維物體的包圍盒,屏幕空間中的包圍盒,只有X,Y方向的邊界。步驟S2 :將上述計算出的三維物體的包圍盒劃分成η個區域并對應η個線程,線 程的個數根據CPU的個數來選擇,一般選擇相當于CPU個數幾倍的值(推薦4 8倍),選小了,不能充分利用資源,大了,區域劃分更細,計算過程有一些額外的開銷。比如4個CPU的機器,η可以選為32。步驟S3 :根據構成三維物體的三角片三個頂點的屏幕坐標的位置,將三角片劃分到上述相應的η個子區域內,并在區域內記錄劃分到本區域內的三角片,如果一個三角片跨多個區域,則在多個區域記錄這個三角片。所述劃分三角片到劃分的區域的子區域內主要依據三角片在屏幕坐標中的三條邊在Y方向的值,看落在哪幾個區域內就將其劃分到該區域內。步驟S4 :執行與CPU個數相當的線程進行對應所述子區域內的三角片填充。執行三角片填充的時候需要先執行與CPU個數相當的線程即對每個線程相對應的子區域進行填充。步驟S5 :繼續執行線程直到將所有η個線程全部執行完畢,完成整個三角片的填充。當所述與CPU個數相當的線程中某一個線程執行完畢后緊接著執行剩下未執行的線程中的一個線程,直到所有的η個線程全部執行完畢,完成整個物體的三角片的填充。其中,當一個三角片跨多個區域時,線程運行時,只填充三角片在對應的一個區域內的像素,無需在每個區域內都對整個三角片進行填充,避免三角片的重復填充,能大大提高填充效率。本發明實施例圖形渲染中光柵化三角片填充的多線程實現方法,計算屏幕空間中三維物體的包圍盒并劃分區域及與區域對應的線程;先執行與CPU個數相當的線程進行對應子區域內的三角片填充;并且當所述與CPU個數相當的線程中某一個線程執行完畢后緊接著執行一個剩下未執行的線程,同時執行與CPU個數相當的線程直到將全部線程執行完畢完成整個三角片的填充;尤其當一個三角片跨多個掃描區域時,線程運行時只需要將本區域內的三角片進行像素填充,避免了一個三角片重復填充,大大提高了圖形渲染中光柵化三角片的填充速度,多線程的方法在CPU上實現了三維渲染光柵化階段的并行性。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可以通過軟件實現,也可以借助軟件加必要的通用硬件平臺的方式來實現。基于這樣的理解,本發明的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是⑶-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述 ,僅為本發明的一個最佳具體實施例,但本發明的特征并不局限于此,任何熟悉該項技術的人在本發明領域內,可輕易想到的變化或修飾,都應涵蓋在以下本發明的申請專利范圍中。
權利要求
1.一種圖形渲染中光柵化階段的多線程實現方法,其特征在于,包括 計算三維物體平面空間中的包圍盒,將所述包圍盒劃分成η個子區域并對應η個線程; 劃分三角片到對應的η個子區域; 執行與CPU個數相當的線程進行對應所述子區域內的三角片填充; 繼續執行其它線程直到將所有η個線程全部執行完畢,完成整個三角片的填充。
2.如權利要求I所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,所述計算三維物體屏幕空間中的包圍盒的方法具體為依次計算三維物體在物體空間中的包圍盒的八個頂點在屏幕空間中的坐標,然后根據所述八個頂點在屏幕空間中的坐標計算屏幕空間中的三維物體的包圍盒。
3.如權利要求I所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,線程的個數取CPU個數的整倍數。
4.如權利要求I所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,所述劃分三角片到對應的η個子區域即子區域記錄劃分到本區域內的三角片。
5.如權利要求4所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,所述子區域記錄劃分到本區域內的三角片還包括如果一個三角片跨多個區域,則在多個區域記錄這個三角片。
6.如權利要求4所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,劃分三角片到對應的子區域內依據三角片在屏幕坐標中的三條邊在Y方向的值。
7.如權利要求I所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,所述繼續執行線程具體為當所述與CPU個數相當的線程中某一個線程執行完畢后緊接著執行剩下未執行的線程中的一個線程。
8.如權利要求I所述的圖形渲染中光柵化階段的多線程實現方法,其特征在于,所述三角片填充還包括當一個三角片跨多個區域時,線程運行時,只填充三角片在對應的一個區域內的像素。
全文摘要
本發明公開了一種圖形渲染中光柵化階段的多線程實現方法,包括計算三維物體的包圍盒,將所述包圍盒劃分成n個區域并對應n個線程;劃分三角片到對應的所述劃分的n個區域的子區域內;執行與CPU個數相當的線程進行對應所述子區域內的三角片填充;繼續執行其它線程直到將所有n個線程全部執行完畢,完成整個三角片的填充。通過本發明實施例可以大大提高圖形渲染中三角片填充的速度,并且使圖像渲染方法不再依賴GPU操作,可以直接基于CPU進行圖形渲染,多線程的方法在CPU上實現了三維渲染光柵化階段的并行性。
文檔編號G06T15/00GK102736947SQ20111011635
公開日2012年10月17日 申請日期2011年5月6日 優先權日2011年5月6日
發明者孫季川, 張君琦, 蔡歡, 鄭培楓 申請人:新奧特(北京)視頻技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1