1.一種虛擬現(xiàn)實(shí)三維水體渲染中水體網(wǎng)格的處理方法,其特征在于,包括:
根據(jù)水體網(wǎng)格中各頂點(diǎn)的高度數(shù)據(jù)、以及相同單元格的地面網(wǎng)格中各頂點(diǎn)的高度數(shù)據(jù),確定該水體網(wǎng)格與該地面網(wǎng)格的高低關(guān)系;
針對每個水體網(wǎng)格,執(zhí)行如下處理:
當(dāng)該水體網(wǎng)格低于地面網(wǎng)格時,刪除該水體網(wǎng)格;
當(dāng)該水體網(wǎng)格與地面網(wǎng)格相交時,將該水體網(wǎng)格中高于該地面網(wǎng)格的部分保留,將該水體網(wǎng)格中低于該地面網(wǎng)格的部分刪除;
當(dāng)該水體網(wǎng)格高于地面網(wǎng)格時,保留該水體網(wǎng)格;
對于所述高于地面網(wǎng)格的水體網(wǎng)格,計算水體網(wǎng)格的水深,按照冪級數(shù)的方式合并水深高于預(yù)定水深的水體網(wǎng)格。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述針對每個水體網(wǎng)格,當(dāng)該水體網(wǎng)格與地面網(wǎng)格相交時,進(jìn)一步包括:將該水體網(wǎng)格中高于該地面網(wǎng)格的部分切分成一個以上的三角形。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將該水體網(wǎng)格中高于該地面網(wǎng)格的部分切分成一個以上的三角形,具體包括:
如果該地面網(wǎng)格中有一個頂點(diǎn)高于水體網(wǎng)格,將該水體網(wǎng)格中高于該地面網(wǎng)格的部分切分成三個三角形;
如果該地面網(wǎng)格中有二個頂點(diǎn)高于水體網(wǎng)格,將該水體網(wǎng)格中高于該地面網(wǎng)格的部分切分成二個三角形;
如果該地面網(wǎng)格中有三個頂點(diǎn)高于水體網(wǎng)格,將該水體網(wǎng)格中高于該地面網(wǎng)格的部分切分成一個三角形。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述按照冪級數(shù)的方式合并水深高于預(yù)定水深的水體網(wǎng)格,具體包括:
步驟a、設(shè)n初始為1;
步驟b、以mn為步長,m為大于等于2的整數(shù),將所述高于相同單元格地面網(wǎng)格的水體網(wǎng)格進(jìn)行分塊,得到長寬都為mn個水體網(wǎng)格的水體網(wǎng)格塊;判斷所述水體網(wǎng)格塊中所有頂點(diǎn)的水深是否大于預(yù)設(shè)水深,如果是則將該水體網(wǎng)格塊內(nèi)的所有水體網(wǎng)格合并為一個水體網(wǎng)格,否則保留該水體網(wǎng)格塊內(nèi)的水體網(wǎng)格;
步驟c、將所述n加1,判斷是否可以以mn為步長繼續(xù)對所述高于相同單元格地面網(wǎng)格的水體網(wǎng)格進(jìn)行分塊,如果可以則返回步驟b,否則結(jié)束本合并流程。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述m為2。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)水深為按照需求動態(tài)設(shè)置的水深。
7.根據(jù)權(quán)利要求1-6任一項所述的方法,其特征在于,所述水體網(wǎng)格和地面網(wǎng)格為虛擬現(xiàn)實(shí)場景中所同步劃分的單元格。