欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

鏡像紋理生成方法、裝置以及計算機(jī)的制作方法

文檔序號:6373753閱讀:189來源:國知局
專利名稱:鏡像紋理生成方法、裝置以及計算機(jī)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖像處理領(lǐng)域,特別是涉及一種鏡像紋理生成方法、裝置以及計算機(jī)。
背景技術(shù)
近來,為了提高視覺效果,越來越多電影或游戲中采用了 3D (Three Dimensions)技術(shù)。其中,為了使視覺效果更加逼真,往往需要在一些湖面畫面中顯示倒影的岸邊物體,或者產(chǎn)生放在桌子上的鏡子反射出桌子上物體的鏡面效果。現(xiàn)有技術(shù)提供了一種生成鏡面效果方法,將場景中所有三維對象對稱渲染到鏡面 紋理上,然后將該鏡面紋理粘貼到鏡平面上。但是在實際應(yīng)用中,一些不會出現(xiàn)在鏡平面的三維對象也同樣被渲染到鏡面紋理上,造成渲染負(fù)荷,增加了渲染鏡面紋理的所需時間。特別是對一些鏡平面尺寸比較小,而三維對象又比較分散的場景。

發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種鏡像紋理生成方法、裝置以及計算機(jī),能夠減少渲染負(fù)荷,進(jìn)而減少渲染鏡面紋理的所需時間。為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是提供一種鏡像紋理生成方法,包括獲得鏡平面可視區(qū)域,其中,所述鏡平面可視區(qū)域由包圍鏡平面的三維的包圍盒(Boundingbox)投影到二維的可視視窗形成;對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐;將在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將所述裁剪視錐內(nèi)部、與所述裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。其中,所述包圍盒為三維長方體,定義X軸以及y軸為在所述可視視窗所在平面上兩個互相垂直的坐標(biāo)軸,所述獲得鏡平面可視區(qū)域的步驟包括將所述包圍盒投影到二維的可視視窗;計算獲得所述包圍盒投影到可視視窗時在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值;根據(jù)在所述X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。其中,所述對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐的步驟包括對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域;將所述近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面(并不以此為限),其中,所述棱柱即為裁剪視錐。其中,所述將在裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面 紋理上以生成鏡像紋理的步驟包括計算得到場景中除鏡平面外的三維對象的包圍盒的中心點以及半徑;通過包圍盒的中心點以及半徑判斷所述三維對象是否在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交;如果在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交,則將所述三維對象對稱渲染到鏡面紋理上;重復(fù)上述步驟,直到所有的三維對象都判斷完畢,以生成鏡像紋理。
其中,所述將在裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理步驟之后包括將所述鏡像紋理映射到所述鏡平面可視區(qū)域,以實現(xiàn)將所述鏡像紋理粘貼到所述鏡平面上。為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是提供一種鏡像紋理生成裝置,包括投影模塊,用于獲得鏡平面可視區(qū)域,其中,所述鏡平面可視區(qū)域由包圍鏡平面的三維的包圍盒投影到二維的可視視窗形成;投影逆變換模塊,用于對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐;生成模塊,用于將在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將所述裁剪視錐內(nèi)部、與所述裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。其中,所述包圍盒為三維長方體,定義X軸以及y軸為在所述可視視窗所在平面上兩個互相垂直的坐標(biāo)軸,所述投影模塊包括投影單元,用于將所述包圍盒投影到二維的可視視窗;第一計算單元,用于計算獲得所述包圍盒投影到可視視窗時在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值,并根據(jù)在所述X軸以及在I軸投影得到的最大坐標(biāo) 值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。其中,所述投影逆變換模塊進(jìn)一步用于對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域,以及將所述近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。其中,所述生成模塊包括第二計算單元,用于計算得到場景中除鏡平面外的三維對象的包圍盒的中心點以及半徑;判斷單元,用于通過包圍盒的中心點以及半徑判斷所述三維對象是否在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交,并在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交時,將所述三維對象對稱渲染到鏡面紋理上。其中,所述裝置還包括映射模塊,所述映射模塊用于將所述鏡像紋理映射到所述鏡平面可視區(qū)域,以實現(xiàn)將所述鏡像紋理粘貼到所述鏡平面上。為解決上述技術(shù)問題,本發(fā)明采用的再一個技術(shù)方案是提供一種計算機(jī),所述計算機(jī)包括上述任一項的鏡像紋理生成裝置。本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明通過計算得到裁剪視錐,并只將裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理,進(jìn)而剔除不可能投影到鏡平面的三維對象,減少渲染負(fù)荷,進(jìn)而減少渲染鏡面紋理的所需時間。


圖I是本發(fā)明鏡像紋理生成方法一實施方式的流程圖;圖2是本發(fā)明鏡像紋理生成方法另一實施方式的流程圖;圖3是本發(fā)明鏡像紋理生成方法實施方式中包圍盒投影到可視視窗的示意圖;圖4是本發(fā)明鏡像紋理生成方法實施方式中對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換的示意圖;圖5是本發(fā)明鏡像紋理生成方法實施方式中判斷三維對象是否在裁剪視錐內(nèi)或與裁剪視錐相交的流程圖;圖6是本發(fā)明鏡像紋理生成裝置一實施方式的結(jié)構(gòu)示意圖7是本發(fā)明鏡像紋理生成裝置另一實施方式的結(jié)構(gòu)示意圖。
具體實施例方式下面結(jié)合附圖和具體的實施方式進(jìn)行說明。參閱圖1,圖I是本發(fā)明鏡像紋理生成方法一實施方式的流程圖。本實施方式的鏡像紋理生成方法包括步驟SlOl :獲得鏡平面可視區(qū)域。其中,鏡平面是指能夠倒影岸邊物體的湖面或反射物體的鏡子等等三維對象。由于鏡平面的形狀不一定是規(guī)則的形狀,為了方便地實現(xiàn)將三維的鏡平面投影到二維的可視視窗,可設(shè)置一個規(guī)則形狀的包圍盒(Boundingbox)包裹鏡平面,然后將包圍盒投影到二維的可視視窗以形成鏡平面可視區(qū)域。

值得注意的是,在其它的實施方式,也可以對鏡平面進(jìn)行投影以獲得鏡平面可視區(qū)域,此時,應(yīng)理解為利用一個與鏡平面完全一致的包圍盒包裹鏡平面,然后將包圍盒投影到二維的可視視窗以形成鏡平面可視區(qū)域。步驟S102 :對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐。指定視點的位置并以鏡平面所在的平面作為對稱平面計算得到視點的鏡像視點。對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換,鏡平面分別在近平面和遠(yuǎn)平面投影形成近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域。將近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。步驟S103 :將在裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將裁剪視錐內(nèi)部、與裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。本實施方式通過計算得到裁剪視錐,并只將裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理,進(jìn)而剔除不可能投影到鏡平面的三維對象,減少渲染負(fù)荷,進(jìn)而減少渲染鏡面紋理的所需時間。參閱圖2,圖2是本發(fā)明鏡像紋理生成方法另一實施方式的流程圖。本實施方式的鏡像紋理生成方法包括步驟S201 :將包圍盒投影到二維的可視視窗。請一并參閱圖3,平面xoy為可視視窗320所在的平面,x軸與y軸為互相垂直的兩條坐標(biāo)軸,ο點為坐標(biāo)軸的頂點。包圍盒310為包裹鏡平面(圖未視)的長方體。其中,鏡平面是指能夠倒影岸邊物體的湖面或反射物體的鏡子等等三維對象。由于鏡平面的形狀不一定是規(guī)則的形狀,為了方便地實現(xiàn)將三維的鏡平面投影到二維的可視視窗,可設(shè)置一個規(guī)則形狀的包圍盒310包裹鏡平面,然后將包圍盒310投影到二維的可視視窗320。在本實施方式中,將包圍盒310投影到可視視窗320上形成投影區(qū)域340,即圖中點M、N、P、Q所確定的區(qū)域。步驟S202 :計算獲得包圍盒投影到可視視窗時在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值。通過計算可知,包圍盒310投影到可視視窗320上形成的投影區(qū)域340在x軸上的最大坐標(biāo)值為P點的橫坐標(biāo),在X軸上的最小坐標(biāo)值為M點的橫坐標(biāo),在y軸上的最大坐標(biāo)值為Q點的縱坐標(biāo),在y軸上的最小坐標(biāo)值為N點的縱坐標(biāo)。步驟S203 :根據(jù)在X軸以及在y軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。選取M點的橫坐標(biāo)(X軸上的最小橫坐標(biāo))和N點的縱坐標(biāo)(y軸上的最小縱坐標(biāo))以確定A點;選取P點的橫坐標(biāo)(X軸上的最大橫坐標(biāo))和N點的縱坐標(biāo)(y軸上的最小縱坐標(biāo))以確定B點;選取M點的橫坐標(biāo)(X軸上的最小橫坐標(biāo))和Q點的縱坐標(biāo)(y軸上的最大縱坐標(biāo))以確定C點;選取P點的橫坐標(biāo)(X軸上的最大橫坐標(biāo))和Q點的縱坐標(biāo)(y軸上的最大縱坐標(biāo))以確定D點。點A、B、C、D所確定的矩形區(qū)域即為鏡平面可視區(qū)域330。值得注意的是,鏡平面可視區(qū)域330只需要能夠完全包含投影區(qū)域340即可,因而,在其它的實施方式中,鏡平面可視區(qū)域330也可以是圓形,菱形等等形狀。步驟S204 :對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域。 參閱圖4,對鏡平面可視區(qū)域進(jìn)行鏡像視點O投影逆變換,鏡平面可視區(qū)域在近平面410投影得到近平面可視區(qū)域430,在遠(yuǎn)平面420得到遠(yuǎn)平面可視區(qū)域440。其中,人為指定近平面410與遠(yuǎn)平面420,使得需要渲染的三維對象只存在于近平面410與遠(yuǎn)平面420之間,超出近平面410與遠(yuǎn)平面420范圍則不存在需要渲染的三維對象。在本實施方式中,近平面410與鏡平面可視區(qū)域所在的平面重合。近平面可視區(qū)域430由點A、B、C、D形成,而遠(yuǎn)平面可視區(qū)域440由A’、B’、C’、D’形成。步驟S205 :將近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面。以近平面可視區(qū)域430為頂面,以遠(yuǎn)平面可視區(qū)域440為底面可以確定一個棱柱,所確定的棱柱即為裁剪視錐450。其中,裁剪視錐450包括頂面、底面、左面、右面、近面以及遠(yuǎn)面。步驟S206 :計算得到場景中除鏡平面外的三維對象的包圍盒的中心點以及半徑。獲取場景中除鏡平面外的任意一個三維對象,設(shè)置一個規(guī)則形狀的包圍盒包裹所述三維對象。計算獲得包裹所述三維對象的包圍盒的中心點以及包圍盒的半徑。步驟S207 :判斷三維對象是否在裁剪視錐內(nèi)或與裁剪視錐相交。參閱圖5,分別計算所述三維對象的包圍盒的中心點到頂面、底面、左面、右面、近面以及遠(yuǎn)面的距離,以確定三維對象是否在裁剪視錐內(nèi)或與裁剪視錐相交。具體地,包括如下步驟步驟S501 :中心點的坐標(biāo)是否在頂面上側(cè),并且中心點到頂面的距離大于半徑。如果否,進(jìn)入步驟S502,如果是,進(jìn)入步驟S508。步驟S502 :中心點的坐標(biāo)是否在底面下側(cè),并且中心點到底面的距離大于半徑。如果否,進(jìn)入步驟S503,如果是,進(jìn)入步驟S508。步驟S503 :中心點的坐標(biāo)是否在左面左側(cè),并且中心點到左面的距離大于半徑。如果否,進(jìn)入步驟S504,如果是,進(jìn)入步驟S508。步驟S504 :中心點的坐標(biāo)是否在右面右側(cè),并且中心點到右面的距離大于半徑。如果否,進(jìn)入步驟S505,如果是,進(jìn)入步驟S508。步驟S505 :中心點的坐標(biāo)是否在遠(yuǎn)面遠(yuǎn)側(cè),并且中心點到遠(yuǎn)面的距離大于半徑。如果否,進(jìn)入步驟S506,如果是,進(jìn)入步驟S508。
步驟S506 :中心點的坐標(biāo)是否在近面近側(cè),并且中心點到近面的距離大于半徑。如果否,進(jìn)入步驟S507,如果是,進(jìn)入步驟S508。值得注意的是,上述步驟S50f S506不分先后。步驟S507 :確定三維對象在裁剪視錐內(nèi)或與裁剪視錐相交。步驟S508 :確定三維對象在裁剪視錐外。如果確定三維對象在裁剪視錐內(nèi)或與裁剪視錐相交,進(jìn)入步驟S208 ;如果確定三維對象在裁剪視錐外,進(jìn)入步驟S209。
步驟S208 :將在裁剪視錐內(nèi)或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理上。步驟S209 :指向下一個三維對象。步驟S210 :判斷是否查找完所有三維對象。如果否,返回步驟S206,直到查找完所有的三維對象;如果是,進(jìn)入步驟S211。步驟S211:結(jié)束流程。在將三維對象渲染到鏡面紋理后,將鏡像紋理映射到鏡平面可視區(qū)域,以實現(xiàn)將鏡像紋理粘貼到鏡平面上。本實施方式通過采用矩形的鏡平面可視區(qū)域,從而使得投影后的裁剪視錐為棱柱狀,而且簡化計算的難度。參閱圖6,圖6是本發(fā)明鏡像紋理生成裝置一實施方式的結(jié)構(gòu)示意圖。本實施方式中,鏡像紋理生成裝置包括投影模塊601、投影逆變換模塊602以及生成模塊603。投影模塊601用于獲得鏡平面可視區(qū)域。其中,鏡平面是指能夠倒影岸邊物體的湖面或反射物體的鏡子等等三維對象。比如,由于鏡平面的形狀不一定是規(guī)則的形狀,為了方便地實現(xiàn)將三維的鏡平面投影到二維的可視視窗,可設(shè)置一個規(guī)則形狀的包圍盒包裹鏡平面,然后投影模塊601將包圍盒投影到二維的可視視窗以形成鏡平面可視區(qū)域。值得注意的是,在其它的實施方式,也可以對鏡平面進(jìn)行投影以獲得鏡平面可視區(qū)域,此時,應(yīng)理解為利用一個與鏡平面完全一致的包圍盒包裹鏡平面,然后投影模塊601將包圍盒投影到二維的可視視窗以形成鏡平面可視區(qū)域。投影逆變換模塊602用于對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐。比如,首先指定視點的位置并以鏡平面所在的平面作為對稱平面計算得到視點的鏡像視點。投影逆變換模塊602對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換,鏡平面分別在近平面和遠(yuǎn)平面投影形成近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域。將近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。生成模塊603用于將在裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將裁剪視錐內(nèi)部、與裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。本實施方式通過計算得到裁剪視錐,并只將裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理,進(jìn)而剔除不可能投影到鏡平面的三維對象,減少渲染負(fù)荷,進(jìn)而減少渲染鏡面紋理的所需時間。參閱圖7,圖7是本發(fā)明鏡像紋理生成裝置另一實施方式的結(jié)構(gòu)示意圖。本實施方式中,鏡像紋理生成裝置包括投影模塊710、投影逆變換模塊720、生成模塊730以及映射模塊740。其中,投影模塊710包括投影單元711以及第一計算單元713。生成模塊730包括第二計算單元731以及判斷單元733。投影單元711用于將包圍盒投影到二維的可視視窗。比如,請再次參閱圖3,平面xoy為可視視窗320所在的平面,X軸與y軸為互相垂直的兩條坐標(biāo)軸,ο點為坐標(biāo)軸的頂點。包圍盒310為包裹鏡平面(圖未視)的長方體。其中,鏡平面是指能夠倒影岸邊物體的湖面或反射物體的鏡子等等三維對象。由于鏡平面的形狀不一定是規(guī)則的形狀,為了方便地實現(xiàn)將三維的鏡平面投影到二維的可視視窗,可設(shè)置一個規(guī)則形狀的包圍盒310包裹鏡平面,然后投影單元711將包圍盒310投影到二維的可視視窗320。在本實施方式中,投影單元711將包圍盒310投影到可視視窗320上形成投影區(qū)域340,即圖中點Μ、N、P、Q所確定的區(qū)域。第一計算單元713用于計算獲得包圍盒投影到可視視窗時在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值,并根據(jù)在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。比如,通過計算可知,包圍盒310投影到可視視窗320上形成的投影區(qū)域340在χ軸上的最大坐 標(biāo)值為P點的橫坐標(biāo),在X軸上的最小坐標(biāo)值為M點的橫坐標(biāo),在y軸上的最大坐標(biāo)值為Q點的縱坐標(biāo),在y軸上的最小坐標(biāo)值為N點的縱坐標(biāo)。選取M點的橫坐標(biāo)(X軸上的最小橫坐標(biāo))和N點的縱坐標(biāo)(y軸上的最小縱坐標(biāo))以確定A點;選取P點的橫坐標(biāo)(X軸上的最大橫坐標(biāo))和N點的縱坐標(biāo)(y軸上的最小縱坐標(biāo))以確定B點;選取M點的橫坐標(biāo)(X軸上的最小橫坐標(biāo))和Q點的縱坐標(biāo)(y軸上的最大縱坐標(biāo))以確定C點;選取P點的橫坐標(biāo)(X軸上的最大橫坐標(biāo))和Q點的縱坐標(biāo)(y軸上的最大縱坐標(biāo))以確定D點。點A、B、C、D所確定的矩形區(qū)域即為鏡平面可視區(qū)域330。值得注意的是,鏡平面可視區(qū)域330只需要能夠完全包含投影區(qū)域340即可,因而,在其它的實施方式中,鏡平面可視區(qū)域330也可以是圓形,菱形等等形狀。投影逆變換模塊720用于對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域,以及將近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。比如,請再次參閱圖4,對鏡平面可視區(qū)域進(jìn)行鏡像視點O投影逆變換,鏡平面可視區(qū)域在近平面410投影得到近平面可視區(qū)域430,在遠(yuǎn)平面420得到遠(yuǎn)平面可視區(qū)域440。其中,需要渲染的三維對象只存在于近平面410與遠(yuǎn)平面420之間,超出近平面410與遠(yuǎn)平面420范圍則不存在需要渲染的三維對象。在本實施方式中,近平面410與鏡平面可視區(qū)域所在的平面重合。近平面可視區(qū)域430由點A、B、C、D形成,而遠(yuǎn)平面可視區(qū)域440由A’、B’、C’、D’形成。以近平面可視區(qū)域430為頂面,以遠(yuǎn)平面可視區(qū)域440為底面可以確定一個棱柱,所確定的棱柱即為裁剪視錐450。其中,裁剪視錐450包括頂面、底面、左面、右面、近面以及遠(yuǎn)面。第二計算單元731用于計算得到場景中除鏡平面外的三維對象的包圍盒的中心點以及半徑。比如,獲取場景中除鏡平面外的任意一個三維對象,設(shè)置一個規(guī)則形狀的包圍盒包裹所述三維對象。計算獲得包裹所述三維對象的包圍盒的中心點以及包圍盒的半徑。判斷單元733用于判斷三維對象是否在裁剪視錐內(nèi)或與裁剪視錐相交,并在裁剪視錐內(nèi)部或與所述裁剪視錐相交時,將三維對象對稱渲染到鏡面紋理上。比如,判斷單元733分別計算所述三維對象的包圍盒的中心點到頂面、底面、左面、右面、近面以及遠(yuǎn)面的距離,以確定三維對象是否在裁剪視錐內(nèi)或與裁剪視錐相交。請再次參閱圖5,判斷單元733中存儲有與圖5所示的流程所對應(yīng)的程序,詳細(xì)過程請參見上面的實施方式,此處不重復(fù)贅述。判斷單元733將在裁剪視錐內(nèi)或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理上,而將裁剪視錐內(nèi)部、與裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。映射模塊740用于在將三維對象渲染到鏡面紋理后,將鏡像紋理映射到鏡平面可視區(qū)域,以實現(xiàn)將鏡像紋理粘貼到鏡平面上。

本實施方式通過采用矩形的鏡平面可視區(qū)域,從而使得投影后的裁剪視錐為棱柱狀,而且簡化計算的難度?;谏鲜龅溺R像紋理生成方法以及裝置,本發(fā)明還提供了一種計算機(jī)。計算機(jī)采用了上述的鏡像紋理生成裝置,能夠?qū)崿F(xiàn)上述的鏡像紋理生成方法。以上所述僅為本發(fā)明的實施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種鏡像紋理生成方法,其特征在于,包括 獲得鏡平面可視區(qū)域,其中,所述鏡平面可視區(qū)域由包圍鏡平面的三維的包圍盒(Boundingbox)投影到二維的可視視窗形成; 對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐; 將在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將所述裁剪視錐內(nèi)部、與所述裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述包圍盒為三維長方體,定義X軸以及y軸為在所述可視視窗所在平面上兩個互相垂直的坐標(biāo)軸,所述獲得鏡平面可視區(qū)域的步驟包括 將所述包圍盒投影到二維的可視視窗; 計算獲得所述包圍盒投影到可視視窗時在X軸以及在y軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值; 根據(jù)在所述X軸以及在y軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐的步驟包括 對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域; 將所述近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將在裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理的步驟包括 計算得到場景中除所述鏡平面外的三維對象的包圍盒的中心點以及半徑; 通過所述包圍盒的中心點以及半徑判斷所述三維對象是否在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交; 如果在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交,則將所述三維對象對稱渲染到鏡面紋理上; 重復(fù)上述步驟,直到所有的所述三維對象都判斷完畢,以生成鏡像紋理。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將在裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理步驟之后包括 將所述鏡像紋理映射到所述鏡平面可視區(qū)域,以實現(xiàn)將所述鏡像紋理粘貼到所述鏡平面上。
6.一種鏡像紋理生成裝置,其特征在于,包括 投影模塊,用于獲得鏡平面可視區(qū)域,其中,所述鏡平面可視區(qū)域由包圍鏡平面的三維的包圍盒投影到二維的可視視窗形成; 投影逆變換模塊,用于對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐; 生成模塊,用于將在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將所述裁剪視錐內(nèi)部、與所述裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述包圍盒為三維長方體,定義X軸以及y軸為在所述可視視窗所在平面上兩個互相垂直的坐標(biāo)軸,所述投影模塊包括 投影單元,用于將所述包圍盒投影到二維的可視視窗; 第一計算單元,用于計算獲得所述包圍盒投影到可視視窗時在X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值,并根據(jù)在所述X軸以及在I軸投影得到的最大坐標(biāo)值以及最小值坐標(biāo)值確定一個矩形區(qū)域,其中,所確定的矩形區(qū)域即為鏡平面可視區(qū)域。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述投影逆變換模塊進(jìn)一步用于對所述鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域,以及將所述近平面可視區(qū)域和遠(yuǎn)平面可視區(qū)域分別作為棱柱的頂面和底面,其中,所述棱柱即為裁剪視錐。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述生成模塊包括 第二計算單元,用于計算得到場景中除鏡平面外的三維對象的包圍盒的中心點以及半徑; 判斷單元,用于通過包圍盒的中心點以及半徑判斷所述三維對象是否在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交,并在所述裁剪視錐內(nèi)部或與所述裁剪視錐相交時,將所述三維對象對稱渲染到鏡面紋理上。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括映射模塊,所述映射模塊用于將所述鏡像紋理映射到所述鏡平面可視區(qū)域,以實現(xiàn)將所述鏡像紋理粘貼到所述鏡平面上。
11.一種計算機(jī),其特征在于,所述計算機(jī)包括如權(quán)利要求6-10任一項權(quán)利要求所述的鏡像紋理生成裝置。
全文摘要
本發(fā)明公開了一種鏡像紋理生成方法、裝置以及計算機(jī)。所述方法包括獲得鏡平面可視區(qū)域,其中,鏡平面可視區(qū)域由包圍鏡平面的三維的包圍盒投影到二維的可視視窗形成;對鏡平面可視區(qū)域進(jìn)行鏡像視點投影逆變換以得到三維的裁剪視錐;將在裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理上以生成鏡像紋理,而將裁剪視錐內(nèi)部、與裁剪視錐相交的三維對象之外的其余三維對象排除在渲染到鏡面紋理過程之外。通過上述方式,本發(fā)明能夠只將裁剪視錐內(nèi)部或與裁剪視錐相交的三維對象對稱渲染到鏡面紋理,進(jìn)而剔除不可能投影到鏡平面的三維對象,減少渲染負(fù)荷,進(jìn)而減少渲染鏡面紋理的所需時間。
文檔編號G06T15/04GK102831632SQ201210258450
公開日2012年12月19日 申請日期2012年7月24日 優(yōu)先權(quán)日2012年7月24日
發(fā)明者何虎, 高璐 申請人:上海晨思電子科技有限公司, 晨星半導(dǎo)體股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绥滨县| 惠安县| 容城县| 大埔县| 莱阳市| 河北省| 重庆市| 玉田县| 抚顺市| 东乡| 水城县| 清新县| 通许县| 根河市| 白山市| 云和县| 军事| 新建县| 和龙市| 十堰市| 芜湖县| 桂阳县| 澄江县| 洛南县| 舒兰市| 长子县| 郎溪县| 陆良县| 湟源县| 永济市| 河池市| 玉田县| 东明县| 兰州市| 长宁县| 延长县| 泽州县| 宁波市| 江阴市| 肇源县| 清河县|