System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請實施例涉及數據處理,具體而言,涉及一種紋理地址回繞方法、裝置以及存儲介質。
技術介紹
1、現在的圖形處理器實現了渲染管線的大部分功能,包括可編程的頂點著色器和片段著色器以及不可編程的光柵化等功能,紋理采樣也是圖形處理器提供的重要功能之一,通過紋理采樣可以用較低的代價從預設的圖片中得到大量信息,紋理單元依據紋理坐標和一定的規則對紋理圖像進行采樣得到紋理值,用作顏色、透明度或其他用途。
2、當紋理坐標超出紋理圖像的范圍時,需要根據特定規則來獲得合適的采樣點,這些規則稱為回繞模式(wrap?mode),示例地,直接以opengl?spec給出的回繞后的紋理坐標公式進行計算,但是對于浮點數表示的紋理坐標在根據回繞公式進行計算時,實質上是對浮點數進行乘法、加法以及取整等大量的浮點操作,而浮點數的計算,尤其是乘法和除法的計算需要很大的實現代價,不僅計算面積很大,計算延遲也很長,進而導致紋理采樣的效率較低。
技術實現思路
1、本申請實施例提供一種紋理地址回繞方法、裝置以及存儲介質,旨在提高紋理采樣的效率。
2、第一方面,本申請實施例提供一種紋理地址回繞方法,所述方法包括:
3、通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標;
4、根據所述定點小數形式的紋理坐標,確定當前的紋理坐標;
5、在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點,根據該
6、可選地,所述通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標,包括:
7、對所述圖形的規格化紋理坐標,經過clamp、mod1以及mod2中任一種運算,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標。
8、可選地,所述根據所述定點小數形式的紋理坐標,確定當前的紋理坐標,包括:
9、將所述定點小數形式的紋理坐標與紋理圖像在任一坐標軸上的大小的乘積作為所述當前的紋理坐標。
10、可選地,在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點之前,所述方法還包括:
11、根據任一回繞模式規定的回繞公式,計算得到該回繞模式在任一坐標軸上的區間數量與分段點,并確定該回繞模式的每個區間中的兩個采樣點。
12、可選地,所述在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點,根據該區間內的采樣點進行紋理采樣,包括:
13、將所述當前紋理坐標與任一回繞模式預先確定的分段點進行比較,確定所述當前紋理坐標在該回繞模式中所處的區間;
14、根據所述當前紋理坐標在該回繞模式中所處的區間內的兩個采樣點,計算兩個采樣點的線性差值,根據所述線性差值進行紋理采樣。
15、第二方面,本申請實施例提供一種紋理地址回繞裝置,所述裝置包括:
16、轉換模塊,用于通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標;
17、坐標確定模塊,用于根據所述定點小數形式的紋理坐標,確定當前的紋理坐標;
18、采樣模塊,用于在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點,根據該區間內的采樣點進行紋理采樣。
19、可選地,所述轉換模塊包括:
20、轉換計算單元,用于對所述圖形的規格化紋理坐標,經過clamp、mod1以及mod2中任一種運算,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標。
21、可選地,所述坐標確定模塊包括:
22、坐標確定單元,用于將所述定點小數形式的紋理坐標與紋理圖像在任一坐標軸上的大小的乘積作為所述當前的紋理坐標。
23、可選地,所述裝置還包括:
24、分段模塊,用于根據任一回繞模式規定的回繞公式,計算得到該回繞模式在任一坐標軸上的區間數量與分段點,并確定該回繞模式的每個區間中的兩個采樣點。
25、可選地,所述采樣模塊包括:
26、區間確定單元,用于將所述當前紋理坐標與任一回繞模式預先確定的分段點進行比較,確定所述當前紋理坐標在該回繞模式中所處的區間;
27、采樣單元,用于根據所述當前紋理坐標在該回繞模式中所處的區間內的兩個采樣點,計算兩個采樣點的線性差值,根據所述線性差值進行紋理采樣。
28、第三方面,本申請實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現如實施例第一方面所述的紋理地址回繞方法。
29、有益效果:
30、通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標;根據所述定點小數形式的紋理坐標,確定當前的紋理坐標;在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點,根據該區間內的采樣點進行紋理采樣。
31、本方法通過將浮點數形式的規格化紋理坐標轉化為定點小數的形式,使得多種回繞模式均在定點數域內進行,并且對每個回繞模式進行分段,并且每個回繞模型的各分段內給出對應的采樣點,根據轉換為定點小數形式的紋理坐標確定當前的紋理坐標,根據當前的紋理坐標在任一模式中所處的分段區間,從而確定采樣點;相比于現有技術中的回繞模式需要對浮點數形式的紋理坐標進行復雜的浮點數的操作,本方法可以有效減小紋理坐標回繞時的計算量以及計算時的延遲,使得紋理坐標回繞的實現代價變小,可以提高紋理采樣的效率。
本文檔來自技高網...【技術保護點】
1.一種紋理地址回繞方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標,包括:
3.根據權利要求1所述的方法,其特征在于,所述根據所述定點小數形式的紋理坐標,確定當前的紋理坐標,包括:
4.根據權利要求1所述的方法,其特征在于,在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點之前,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,所述在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點,根據該區間內的采樣點進行紋理采樣,包括:
6.一種紋理地址回繞裝置,其特征在于,所述裝置包括:
7.根據權利要求6所述的裝置,其特征在于,所述轉換模塊包括:
8.根據權利要求6所述的裝置,其特征在于,所述坐標確定模塊包括:
9.根據權利要求6所述的裝置,其特征在于,所述裝置還包括:
1
11.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現如權利要求1至5中任一項所述的紋理地址回繞方法。
...【技術特征摘要】
1.一種紋理地址回繞方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述通過對圖形的規格化紋理坐標進行預處理,將浮點數形式的所述規格化紋理坐標轉化為定點小數形式的紋理坐標,包括:
3.根據權利要求1所述的方法,其特征在于,所述根據所述定點小數形式的紋理坐標,確定當前的紋理坐標,包括:
4.根據權利要求1所述的方法,其特征在于,在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標所處的區間以及該區間內的采樣點之前,所述方法還包括:
5.根據權利要求4所述的方法,其特征在于,所述在任一回繞模式預先劃分的多個區間中,確定所述當前紋理坐標...
【專利技術屬性】
技術研發人員:劉蘇,
申請(專利權)人:龍芯中科技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。