一種3d圖形渲染方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明適用于3D【技術(shù)領(lǐng)域】,提供了一種3D圖形渲染方法及系統(tǒng)。在本發(fā)明實(shí)施例中,通過(guò)將渲染物體分為不透明物體和透明物體,根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次,保證同一位置不同深度渲染只進(jìn)行一次,減少了同一位置像素更新次數(shù),進(jìn)而提高了渲染效率。
【專(zhuān)利說(shuō)明】一種3D圖形渲染方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于3D【技術(shù)領(lǐng)域】,尤其涉及一種3D圖形渲染方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著iphone、Android開(kāi)發(fā)平臺(tái)的流行和普及,越來(lái)越多的人享受著移動(dòng)平臺(tái)帶來(lái)的視覺(jué)體驗(yàn)。隨著OpenGL ES的發(fā)展,更多的3D (3Dimensions)應(yīng)用App出現(xiàn)在人們的生活中。相比較2D來(lái)說(shuō),3D圖形具有無(wú)法比擬的用戶(hù)體驗(yàn),但是嵌入式平臺(tái)資源非常有限,需要在緊張的資源下,開(kāi)發(fā)出響應(yīng)迅速的3D應(yīng)用,提升3D圖形渲染效率。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種3D圖形渲染方法,以解決現(xiàn)有的3D圖形渲染效率低的問(wèn)題。
[0004]本發(fā)明是這樣實(shí)現(xiàn)的,一種3D圖形渲染方法,包括:
[0005]解析場(chǎng)景描述文件,獲取場(chǎng)景中的渲染物體;
[0006]對(duì)所述渲染物體進(jìn)行分類(lèi),將所述渲染物體分為不透明物體和透明物體;
[0007]根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)所述不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次;
[0008]對(duì)所述透明物體進(jìn)行渲染。
[0009]優(yōu)選的,所述對(duì)所述透明物體進(jìn)行渲染具體為:
[0010]將所述透明物體分為不透明部分和透明部分;
[0011]根據(jù)不透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明部分,對(duì)所述不透明部分按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明部分對(duì)應(yīng)的同一像素點(diǎn)只渲染一次;
[0012]根據(jù)透明部分在視覺(jué)坐標(biāo)系中的z方向的坐標(biāo)值由大到小依次排序所述透明部分,對(duì)所述透明部分按照排序先后依次進(jìn)行渲染。
[0013]本發(fā)明還提供了提供一種3D圖形渲染系統(tǒng),包括:
[0014]解析獲取模塊,用于解析場(chǎng)景描述文件,獲取場(chǎng)景中的渲染物體;
[0015]第一分類(lèi)模塊,用于對(duì)所述渲染物體進(jìn)行分類(lèi),將所述渲染物體分為不透明物體和透明物體;
[0016]第一渲染模塊,用于根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)所述不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次;
[0017]第二渲染模塊,用于對(duì)所述透明物體進(jìn)行渲染。
[0018]優(yōu)選的,所述第二渲染模塊還包括:
[0019]第二分類(lèi)模塊,用于將所述透明物體分為不透明部分和透明部分;[0020]第一渲染子模塊,用于根據(jù)不透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明部分,對(duì)所述不透明部分按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明部分對(duì)應(yīng)的同一像素點(diǎn)只渲染一次;
[0021]第二渲染子模塊,用于根據(jù)透明部分在視覺(jué)坐標(biāo)系中的z方向的坐標(biāo)值由大到小依次排序所述透明部分,對(duì)所述透明部分按照排序先后依次進(jìn)行渲染。
[0022]在本發(fā)明中,通過(guò)將渲染物體分為不透明物體和透明物體,根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次,保證同一位置不同深度渲染只進(jìn)行一次,減少了同一位置像素更新次數(shù),提高了渲染效率。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0023]圖1是本發(fā)明實(shí)施例提供的3D圖形渲染方法的實(shí)現(xiàn)流程圖;
[0024]圖2是本發(fā)明實(shí)施例提供的不透明物體前后層渲染示意圖;
[0025]圖3是本發(fā)明又一實(shí)施例提供的3D圖形渲染方法的實(shí)現(xiàn)流程圖;
[0026]圖4是本發(fā)明實(shí)施例提供的將渲染物體分為不透明部分和透明部分的實(shí)現(xiàn)流程圖;
[0027]圖5是本發(fā)明實(shí)施例提供的預(yù)置渲染模型中不透明部分和透明部分的示意圖;
[0028]圖6是本發(fā)明實(shí)施例提供的3D圖形渲染系統(tǒng)的結(jié)構(gòu)框圖;
[0029]圖7是本發(fā)明實(shí)施例提供的圖6中第二分類(lèi)模塊的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0030]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0031]圖1示出了本發(fā)明實(shí)施例提供的一種3D圖形渲染方法的實(shí)現(xiàn)流程,詳述如下:
[0032]步驟101、解析場(chǎng)景描述文件,獲取場(chǎng)景中的渲染物體。
[0033]本發(fā)明實(shí)施例中,首先加載場(chǎng)景描述XML文件,對(duì)場(chǎng)景描述進(jìn)行解析,獲取場(chǎng)景中每一個(gè)渲染物體及其渲染信息,其中包含渲染物體的層次組織結(jié)構(gòu)關(guān)系,渲染物體的位置,材質(zhì)、紋理信息、渲染分組信息。
[0034]步驟102、對(duì)渲染物體進(jìn)行分類(lèi),將渲染物體分為不透明物體和透明物體。
[0035]本發(fā)明實(shí)施例中,由于渲染物體中渲染信息包含有紋理信息,紋理信息有圖片信息,包括貼的是png格式的圖片,還是jpg格式的圖片,根據(jù)圖片格式進(jìn)行初步分類(lèi),將渲染物體初步分為不透明物體和透明物體。比如圖片格式為png格式的,則對(duì)應(yīng)的渲染物體為透明物體,若圖片的格式為jpg格式,則對(duì)應(yīng)的渲染物體為不透明物體。本發(fā)明實(shí)施例中,系統(tǒng)預(yù)置TCL_S0ILD (不透明物體分組)和TCL_TRANSPARENT (透明物體分組)兩個(gè)分組容器,根據(jù)渲染物體的類(lèi)型,將解析到的渲染物體分別加入兩個(gè)分組中。不透明物體加入TCL_SOILD分組,透明物體加入TCL_TRANSPARENT分組。
[0036]步驟103、根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序不透明物體,對(duì)不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次。
[0037]本發(fā)明實(shí)施例中,通過(guò)模型空間矩陣與視覺(jué)矩陣將不透明物體坐標(biāo)由參考坐標(biāo)系即世界坐標(biāo)系轉(zhuǎn)換到視覺(jué)空間坐標(biāo)系下,根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序不透明物體,也即坐標(biāo)值小的不透明物體排在前,坐標(biāo)值大的對(duì)象排在后,然后對(duì)不透明物體按照排序先后依次進(jìn)行渲染。而對(duì)各個(gè)不透明物體進(jìn)行渲染,其實(shí)質(zhì)是對(duì)不透明物體的像素點(diǎn)進(jìn)行渲染。對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次,即同一像素點(diǎn)只進(jìn)行一次渲染。具體的,可以通過(guò)深度檢測(cè)的方法來(lái)實(shí)現(xiàn)同一像素點(diǎn)位置只進(jìn)行一次渲染,利用深度檢測(cè)判斷同一位置像素的渲染,先渲染離眼睛最近的物體,保證同一位置不同深度渲染只進(jìn)行一次,也就是說(shuō)同一像素點(diǎn)如果深度不一樣(也即z坐標(biāo)不相同),只渲染深度值最小的即對(duì)應(yīng)的Z坐標(biāo)值最小的。如圖2所示,先渲染前層1,再繪制后層2,因?yàn)榍皩覫已經(jīng)填充了像素,后層2在前層渲染的區(qū)域不做像素替換操作,即前層I圈定的區(qū)域也即重疊區(qū)域不再渲染,只渲染后層2的與前層不重疊的區(qū)域,減少同一位置像素更新的次數(shù),進(jìn)而提高渲染效率。
[0038]步驟104、對(duì)透明物體進(jìn)行渲染。
[0039]本發(fā)明實(shí)施例中,還包括對(duì)透明物體進(jìn)行渲染,優(yōu)選的根據(jù)像素值將透明物體進(jìn)一步分為不透明部分和透明部分。然后再分別對(duì)不透明部分和透明部分進(jìn)行渲染。將透明物體進(jìn)一步分為不透明部分和透明部分,這樣更精確的對(duì)透明物體進(jìn)行分類(lèi),由于透明物體渲染比不透明物體的渲染更較耗計(jì)算更復(fù)雜,因此,將透明物體進(jìn)一步拆分為不透明部分和透明部分,能減少渲染時(shí)間,進(jìn)一步提高渲染的效率。
[0040]為了更加詳細(xì)的描述步驟104中對(duì)透明物體進(jìn)行渲染,本發(fā)明實(shí)施例結(jié)合附圖3示,做以下更為具體的描述:
[0041]步驟301、將透明物體分為不透明部分和透明部分。
[0042]本發(fā)明是實(shí)例中,根據(jù)像素值將透明物體進(jìn)一步分為不透明部分和透明部分。然后再分別對(duì)不透明部分和透明部分進(jìn)行渲染。
[0043]步驟302、根據(jù)上述不透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序不透明部分,對(duì)不透明部分按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明部分對(duì)應(yīng)的同一像素點(diǎn)只渲染一次。
[0044]透明物體的不透明部分的渲染方法與步驟203中不透明物體的渲染方法類(lèi)似,在此,不在贅述。
[0045]步驟303、將透明部分在視覺(jué)坐標(biāo)系中的z方向的坐標(biāo)值由大到小依次排序所述透明部分,對(duì)透明部分按照排序先后依次進(jìn)行渲染。
[0046]具體的,通過(guò)模型空間矩陣與視覺(jué)矩陣將不透明物體坐標(biāo)由世界坐標(biāo)系轉(zhuǎn)換到視覺(jué)空間坐標(biāo)系下,根據(jù)透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由大到小依次排序透明部分,也即坐標(biāo)值大的對(duì)象排在前,坐標(biāo)值小的對(duì)象排在后,然后對(duì)透明部分按照排序先后依次進(jìn)行渲染。與不透明部分相反,透明部分的同一像素點(diǎn)不同深度需要多次渲染,這樣,同樣能保證透明部分不同層的對(duì)象都進(jìn)行渲染,真實(shí)反映透明部分圖像效果。
[0047]需要說(shuō)明的是如果透明物體進(jìn)行根據(jù)像素值分類(lèi)后只有透明部分沒(méi)有不透明部分,則完全按照透明部分進(jìn)行渲染,此時(shí)將跳過(guò)步驟S302。
[0048]本發(fā)明實(shí)施例中,將透明物體進(jìn)一步分為不透明部分和透明部分,這樣更精確的對(duì)透明物體進(jìn)行分類(lèi),由于透明物體渲染比不透明物體的渲染更較耗計(jì)算更復(fù)雜,因此,將透明物體進(jìn)一步拆分為不透明部分和透明部分,能減少渲染時(shí)間,進(jìn)一步提高渲染的效率。
[0049]進(jìn)一步的,為了更進(jìn)一步描述前述實(shí)施例中步驟301中將所述物體分為不透明部分和透明部分,本發(fā)明實(shí)施例結(jié)合附圖4、5,做以下具體描述:
[0050]步驟401、從左到右掃描透明物體垂直方向的列像素,當(dāng)檢測(cè)到有一列對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前列號(hào)。
[0051]具體的,從左到右掃描透明物體垂直方向的列像素,當(dāng)檢測(cè)到有一列對(duì)應(yīng)連續(xù)像素點(diǎn)的像素值等于I的像素點(diǎn)個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值后,則停止掃描,并記錄當(dāng)前列號(hào)。比如當(dāng)檢測(cè)到第i列對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)第i列總像素點(diǎn)的80%,且像素值等于I的像素點(diǎn)為連續(xù)像素點(diǎn)時(shí),則停止掃描,并記錄當(dāng)前列號(hào)i。
[0052]步驟402、從上到下掃描透明物體水平方向的行像素,當(dāng)檢測(cè)到有一行對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前行號(hào)。
[0053]具體的,從上到下掃描透明物體水平方向的行像素,當(dāng)檢測(cè)到有一行對(duì)應(yīng)連續(xù)像素點(diǎn)的像素值等于I的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值后,則停止掃描,并記錄當(dāng)前行號(hào)。比如當(dāng)檢測(cè)到第j行對(duì)應(yīng)連續(xù)像素點(diǎn)的像素值等于I的像素點(diǎn)個(gè)數(shù)超過(guò)第j行總像素點(diǎn)的80%,則停止掃描,并記錄當(dāng)前行號(hào)j。
[0054]步驟403、根據(jù)上述當(dāng)前列號(hào)和上述當(dāng)前行號(hào)計(jì)算映射比率.[0055]具體的,根據(jù)步驟401得到的當(dāng)前列號(hào)和步驟402得到的當(dāng)前行號(hào)計(jì)算映射比率,具體的計(jì)算公式為:
【權(quán)利要求】
1.一種3D圖形渲染方法,其特征在于,包括: 解析場(chǎng)景描述文件,獲取場(chǎng)景中的渲染物體; 將所述渲染物體劃分為不透明物體和透明物體; 根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)所述不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次; 對(duì)所述透明物體進(jìn)行渲染。
2.如權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述透明物體進(jìn)行渲染具體為: 將所述透明物體分為不透明部分和透明部分; 根據(jù)不透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明部分,對(duì)所不透明部分按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明部分對(duì)應(yīng)的同一像素點(diǎn)只渲染一次; 根據(jù)透明部分在視覺(jué)坐標(biāo)系中的z方向的坐標(biāo)值由大到小依次排序所述透明部分,對(duì)所述透明部分按照排序先后依次進(jìn)行渲染。
3.如權(quán)利要求2所述的方法,其特征在于,所述將所述透明物體分為不透明部分和透明部分,具體包括: 從左到右掃描透明物體垂直方向的列像素,當(dāng)有一列對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前列號(hào);從上到下掃描透明物體水平方向的行像素,當(dāng)檢測(cè)到有一行對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前行號(hào); 根據(jù)所述當(dāng)前列號(hào)和所述當(dāng)前行號(hào)計(jì)算映射比率; 根據(jù)所述映射比率計(jì)算對(duì)應(yīng)的紋理坐標(biāo)和預(yù)置渲染模型中不透明部分的頂點(diǎn)坐標(biāo),得到不透明部分在原始圖片的映射位置和預(yù)置渲染模型中不透明部分位置。
4.如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述當(dāng)前列號(hào)和所述當(dāng)前行號(hào)計(jì)算映射比率,具體的計(jì)算公式為:
5.如權(quán)利要求3或4所述的方法,其特征在于,所述根據(jù)所述映射比率計(jì)算對(duì)應(yīng)的紋理坐標(biāo)和預(yù)置渲染模型中不透明部分的頂點(diǎn)坐標(biāo),具體的計(jì)算公式為:
TextureLeftUpCoord = (WidthRadio, HightRadio);
TextureLeftDownCoord = (WidthRatio,1.0-HightRatio);
TextureRightUpCoord = (1.0-WidthRatio, HightRatio);TextureRightDownCoord = (1.0-ffidthRatio,1.0-HightRatio);
LeftUpCoord = (_l+2*WidthRatio,l_2*HightRatio);
LeftDownCoord = (_l+2*WidthRatio, _l+2*HightRatio);
RightUpCoord = (l_2*WidthRatio,l_2*HightRatio);
RightDownCoord = (1.0_2*WidthRatio, -1.0+2*HightRatio); 其中,所述TextureLeftUpCoord表示紋理坐標(biāo)的左上角頂點(diǎn)坐標(biāo),所述TextureLeftDownCoord 表不紋理坐標(biāo)的左下角頂點(diǎn)坐標(biāo),所述TextureRightUpCoord表示紋理坐標(biāo)的右上角頂點(diǎn)坐標(biāo),TextureRi ghtDownCoord表示紋理坐標(biāo)的右下角頂點(diǎn)坐標(biāo);所述LeftUpCoord表示預(yù)置渲染模型中不透明部分的左上角頂點(diǎn)坐標(biāo),所述LeftDownCoord表示預(yù)置渲染模型中不透明部分的左下角頂點(diǎn)坐標(biāo),所述RightUpCoord表示預(yù)置渲染模型中不透明部分的右上角頂點(diǎn)坐標(biāo),所述RightDownCoord表示預(yù)置渲染模型中不透明部分的右下角頂點(diǎn)坐標(biāo),所述WidthRatio表示映射的寬度比率,所述HightRatio表示映射的高度比率。
6.一種3D圖形渲染系統(tǒng),其特征在于,包括: 解析獲取模塊,用于解析場(chǎng)景描述文件,獲取場(chǎng)景中的渲染物體; 第一分類(lèi)模塊,用于對(duì)所述渲染物體進(jìn)行分類(lèi),將所述渲染物體分為不透明物體和透明物體; 第一渲染模塊,用于根據(jù)不透明物體在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明物體,對(duì)所述不透明物體按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明物體對(duì)應(yīng)的同一像素點(diǎn)只渲染一次; 第二渲染模塊,用于對(duì)所述透明物體進(jìn)行渲染。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述第二渲染模塊,還包括: 第二分類(lèi)模塊,用于將所述透明物體分為不透明部分和透明部分; 第一渲染子模塊,用于根據(jù)不透明部分在視覺(jué)坐標(biāo)系中z方向的坐標(biāo)值由小到大依次排序所述不透明部分,對(duì)所述不透明部分按照排序先后依次進(jìn)行渲染,且對(duì)z坐標(biāo)值不相同的不透明部分對(duì)應(yīng)的同一像素點(diǎn)只渲染一次; 第二渲染子模塊,用于將根據(jù)透明部分在視覺(jué)坐標(biāo)系中的Z方向的坐標(biāo)值由大到小依次排序所述透明部分,對(duì)所述透明部分按照排序先后依次進(jìn)行渲染。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述第二分類(lèi)模塊還包括: 第一掃描模塊,用于從左到右掃描透明物體垂直方向的列像素,當(dāng)檢測(cè)到有一列對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前列號(hào); 第二掃描模塊,用于從上到下掃描透明物體水平方向的行像素,當(dāng)檢測(cè)到有一行對(duì)應(yīng)像素值等于I的像素點(diǎn)的個(gè)數(shù)超過(guò)預(yù)設(shè)的第一閾值且所述像素點(diǎn)為連續(xù)像素點(diǎn)后,則停止掃描,并記錄當(dāng)前行號(hào); 第一計(jì)算模塊,用于根據(jù)所述當(dāng)前列號(hào)和所述當(dāng)前行號(hào)計(jì)算映射比率; 第二計(jì)算模塊,用于根據(jù)所述映射比率計(jì)算對(duì)應(yīng)的紋理坐標(biāo)和預(yù)置渲染模型中不透明部分的頂點(diǎn)坐標(biāo),得到不透明部分在原始圖片的映射位置和預(yù)置渲染模型中不透明部分位置。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述第一計(jì)算模塊,用于根據(jù)所述當(dāng)前列號(hào)和所述當(dāng)前行號(hào)計(jì)算映射比率,具體的計(jì)算公式為:.ColumnNumbcr
10.如權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述第二計(jì)算模塊,用于根據(jù)所述映射比率計(jì)算對(duì)應(yīng)的紋理坐標(biāo)和預(yù)置渲染模型中不透明部分的頂點(diǎn)坐標(biāo),具體的計(jì)算公式為:
TextureLeftUpCoord = (WidthRadio, HightRadio);
TextureLeftDownCoord = (WidthRatio,1.0-HightRatio);
TextureRightUpCoord = (1.0-ffidthRatio, HightRatio);
TextureRightDownCoord = (1.0-ffidthRatio,1.0-HightRatio);
LeftUpCoord = (_l+2*WidthRatio,l_2*HightRatio);
LeftDownCoord = (_l+2*WidthRatio, _l+2*HightRatio);
RightUpCoord = (l_2*WidthRatio,l_2*HightRatio);
RightDownCoord = (1.0_2*WidthRatio, -1.0+2*HightRatio); 其中,所述TextureLeftUpCoord表示紋理坐標(biāo)的左上角頂點(diǎn)坐標(biāo),所述TextureLeftDownCoord表不紋理坐標(biāo)的左下角頂點(diǎn)坐標(biāo),所述TextureRightUpCoord表示紋理坐標(biāo)的右上角頂點(diǎn)坐標(biāo),TextureRi ghtDownCoord表示紋理坐標(biāo)的右下角頂點(diǎn)坐標(biāo);所述LeftUpCoord表示預(yù)置渲染模型中不透明部分的左上角頂點(diǎn)坐標(biāo),所述LeftDownCoord表示預(yù)置渲染模型中不透明部分的左下角頂點(diǎn)坐標(biāo),所述RightUpCoord表示預(yù)置渲染模型中不透明部分的右上角頂點(diǎn)坐標(biāo),所述RightDownCoord表示預(yù)置渲染模型中不透明部分的右下角頂點(diǎn)坐標(biāo),所述WidthRatio表示映射的寬度比率,所述HightRatio表示映射的高度比率。
【文檔編號(hào)】G06T15/10GK103955957SQ201410164315
【公開(kāi)日】2014年7月30日 申請(qǐng)日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】趙智寶, 盧偉超 申請(qǐng)人:Tcl集團(tuán)股份有限公司