新四季網

一種實現透明三維物體渲染的方法

2023-09-16 20:07:15 2

專利名稱:一種實現透明三維物體渲染的方法
技術領域:
本發明涉及廣電領域的電視節目製作領域,尤其涉及一種實現透明三維物體渲染的方法。
背景技術:
隨著視頻技術越來越快的發展,人們對於視頻顯示內容的要求也越來越高,尤其是希望視頻畫面的立體顯示效果越來越好。現有技術中對三維圖形的渲染的主要採用去除隱藏面的方法。從觀察點來看,離觀察者稍近的表面遮檔了後面的部分。通常的方法是,有一個深度緩衝區來記錄已經渲染的像素的深度值,當渲染當前的像素時,判斷此像素的深度值是否大於緩衝區中對應的深度值(左手坐標系中),如是表示此像素在已經渲染的像素之前,可以將此像素顏色寫入相應的顏色緩衝區,並替換深度緩衝區中的相應值。對於一個三維物體而言,物體的背面永遠不會顯示,觀察者只能看到朝向他的那部分物體。但如果這個物體時透明物體的時候,我們觀察者是希望透過物體的正面能看到物體的背面。這個時候就不能單純的通過深度值來做像素的剔除。發明人在實施本發明的過程中,發現現有技術中不能顯示透明的三維物體。

發明內容
為了解決上述現有技術的缺點,本發明的主要目的是提供一種實現透明三維物體渲染的方法,以解決現有技術三維物體不能透明顯示的問題。為了達到上述目的,本發明提供了一種實現透明三維物體渲染的方法,具體包括根據三角片的三個頂點值、法向量和觀察矩陣判斷三角片是正對著觀察者還是背對著觀察者;計算背對著觀察者的頂點的光照顏色和深度值;對背對著觀察者的每個三角片進行光柵化,並存儲三角片背面顏色值;計算正對著觀察者的頂點的光照顏色和深度值;對正對著觀察者的每個三角片進行光柵化,並存儲三角片正面顏色值;對存儲的三角片的背面顏色值與正面顏色值進行混合,完成透明三維物體的渲染。本發明的一種實現透明三維物體渲染的方法通過首先計算正對著與背對著觀察者的每個三角片的光照顏色並存儲在相應的正面與背面顏色緩衝區內,並將存儲的正面顏色值與背面顏色值進行混合的方式可以實現透明三維物體的渲染,並且採用本申請的技術方法可以減少大量系統資源的佔用,並能很好的將三維物體透明顯示,填補了透明三維物體渲染的空白。

為了更清楚的說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單的介紹,顯而易見的,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本發明的一種實現透明三維物體的渲染方法。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完 整的描述,顯然所描述的實施例僅是本發明的一部分實施例,不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。本發明實施例一方面提供了一種實現透明三維物體渲染的方法,如圖I所示,具體為在進行下述計算之前需要先準備兩個顏色緩衝區正面顏色緩衝區bufferFront,背面顏色緩衝區bufferBack並初始化。這兩個顏色緩衝區分別用來存儲正面和背面顏色的渲染結果。準備兩個深度緩衝區正面深度緩衝區depthBufferF,背面深度緩衝區depthBufferB,用來在正面和背面分別渲染的時候進行深度判斷。步驟SI :根據三角片的三個頂點值、法向量及觀察矩陣,計算判斷此三角片是正對著觀察者還是背對著觀察者。步驟S2 :根據步驟SI判斷的結果將構成物體的三角片分為兩類。步驟S3 :計算背對著觀察者的頂點的光照顏色和深度值。因為光照透過正面照在背對著觀察者三角片的背面,所以在計算背對著觀察者的頂點的光照顏色時候需要將法向量反向。步驟S4:對背對著觀察者的每個三角片進行光柵化得到背面的渲染結果,根據步驟SI的信息插值計算三角片中每個像素的顏色值及深度值,將此像素的深度值與深度緩衝區depthBufferB中的值做比較,如果大於depthBufferB中的值,貝U用此深度值替換depthBufferB中的相應值。將這個像素的顏色值與顏色緩衝區bufferBack中的相應顏色值混合,並且將這個像素的顏色值作為前景色而緩衝區中的顏色作為背景色,存儲在顏色緩衝區bufferBack中。如果像素的深度值小於cbpthBufferB中的值,將這個像素的顏色值與顏色緩衝區bufferBack中的相應顏色值混合,將這個像素的顏色值作為背景色而緩衝區中的顏色作為前景色,存儲在顏色緩衝區bufferBack中。步驟S5 :計算正對著觀察者的頂點的光照顏色和深度值。步驟S6 :對正對著觀察者的每個三角片進行光柵化得到正面的渲染結果,根據SI信息插值計算三角片中每個像素的顏色值及深度值,將此像素的深度值與深度緩衝區depthBufferF中的值做比較,如果大於depthBufferF中的值,則用此深度值替換depthBufferF中的相應值。將這個像素的顏色值與顏色緩衝區bufferFront中的相應顏色值混合,同時將這個像素的顏色值作為前景色而緩衝區中的顏色作為背景色,存儲在顏色緩衝區bufferFront中。如果像素的深度值小於cbpthBufferF中的值,將這個像素的顏色值與顏色緩衝區bufferFront中的相應顏色值混合,同時將這個像素的顏色值作為背景色而緩衝區中的顏色作為前景色,存儲在顏色緩衝區bufferFront中。步驟S7 :對存儲在bufferBack和bufferFront中的三角片的背面顏色值與正面顏色值進行混合,得到透明三維物體的渲染效果。本發明的一種實現透明三維物體渲染的方法通過首先計算正對著與背對著觀察者的每個三角片的光照顏色,並將存儲的正面顏色值與背面顏色值進行混合的方式可以實現透明三維物體的渲染,並且採用本申請的技術方法可以,並能很好的將三維物體完全顯示,填補了透明三維物體渲染的空白。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可以通過軟體實現,也可以藉助軟體加必要的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案可以以軟體產品的形式體現出來,該軟體產品可以存儲在一個非易失性存儲介質(可以是⑶-ROM,U盤,移動硬碟等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。 以上所述,僅為本發明的一個最佳具體實施例,但本發明的特徵並不局限於此,任何熟悉該項技術的人在本發明領域內,可輕易想到的變化或修飾,都應涵蓋在以下本發明的申請專利範圍中。
權利要求
1.一種實現透明三維物體渲染的方法,其特徵在於,包括 根據三角片的三個頂點值、法向量和觀察矩陣判斷三角片是正對著觀察者還是背對著觀察者; 計算背對著觀察者的頂點的光照顏色和深度值; 對背對著觀察者的每個三角片進行光柵化,並存儲三角片背面顏色值; 計算正對著觀察者的頂點的光照顏色和深度值; 對正對著觀察者的每個三角片進行光柵化,並存儲三角片正面顏色值; 對存儲的三角片的背面顏色值與正面顏色值進行混合,完成透明三維物體的渲染。
2.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,在進行計算之前需要預先準備兩個顏色緩衝區,正面顏色緩衝區bufferFront和背面顏色緩衝區bufferBack並初始化;準備兩個深度緩衝區,正面深度緩衝區depthBufferF和背面深度緩衝區 depthBufferB。
3.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,所述bufferFront與bufferBack分別用於存儲正面顏色和背面顏色的渲染結果。
4.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,所述depthBufferF和epthBufferB分別用於在渲染正面和背面三維物體時候進行深度判斷。
5.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,所述計算背對著觀察者的頂點的光照顏色時候將法向量反向。
6.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,所述對背對著觀察者的每個三角片進行光柵化具體為 計算三角片中每個像素的顏色值及深度值並將所述像素的深度值與深度緩衝區depthBufferB中的值做比較; 如果所述像素的深度值大於CbpthBufTerB中的值,則用所述像素的深度值替換depthBufferB中的相應值並將這個像素的顏色值與顏色緩衝區bufferBack中的相應顏色值混合,同時將這個像素的顏色值作為前景色而緩衝區中的顏色作為背景色,存儲在顏色緩衝區bufferBack中; 如果所述像素的深度值小於CbpthBufTerB中的值,將這個像素的顏色值與顏色緩衝區bufferBack中的相應顏色值混合,將這個像素的顏色值作為背景色而緩衝區中的顏色作為前景色,存儲在顏色緩衝區bufferBack中。
7.如權利要求I所述的實現透明三維物體渲染的方法,其特徵在於,所述對正對著觀察者的每個三角片進行光柵化具體為 計算三角片中每個像素的顏色值及深度值,將所述像素的深度值與深度緩衝區depthBufferF中的值做比較,如果大於depthBufferF中的值,貝U用所述像素的深度值替換depthBufferF中的相應值並將所述像素的顏色值與顏色緩衝區bufferFront中的相應顏色值混合,同時將所述像素的顏色值作為前景色而緩衝區中的顏色作為背景色,存儲在顏色緩衝區bufferFront中; 如果所述像素的深度值小於CbpthBufTerF中的值,將所述像素的顏色值與顏色緩衝區bufferFront中的相應顏色值混合,同時將這個像素的顏色值作為背景色而緩衝區中的顏色作為前景色,存儲在顏色緩衝區bufferFront中。
全文摘要
本發明公開了一種實現透明三維物體渲染的方法,包括根據三角片的三個頂點值、法向量和觀察矩陣判斷三角片是正對著觀察者還是背對著觀察者;計算背對著觀察者的頂點的光照顏色和深度值;對背對著觀察者的每個三角片進行光柵化,並存儲三角片背面顏色值;計算正對著觀察者的頂點的光照顏色和深度值;對正對著觀察者的每個三角片進行光柵化,並存儲三角片正面顏色值;對存儲的三角片的背面顏色值與正面顏色值進行混合,完成透明三維物體的渲染。採用本申請的技術方法能很好的將三維物體透明顯示,填補了透明三維物體渲染的空白。
文檔編號G06T15/20GK102737404SQ20111011636
公開日2012年10月17日 申請日期2011年5月6日 優先權日2011年5月6日
發明者張君琦, 李濤, 蔡歡, 鄭培楓 申請人:新奧特(北京)視頻技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀