0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何計算Texture Functions的紋理函數返回值

星星科技指導員 ? 來源:NVIDIA ? 作者:Ken He ? 2022-05-07 15:19 ? 次閱讀

本附錄給出了用于計算 Texture Functions 的紋理函數返回值的公式,具體取決于紋理引用的各種屬性(請參閱紋理和表面內存)。

綁定到紋理引用的紋理表示為一個數組 T

一維紋理的 N 個texels,

二維紋理的 N x M texels,

三維紋理的 N x M x L texels。

它是使用非歸一化紋理坐標 x、y 和 z 或歸一化紋理坐標 x/N、y/M 和 z/L 獲取的,如紋理內存中所述。 在本附錄中,假定坐標在有效范圍內。 紋理內存解釋了如何根據尋址模式將超出范圍的坐標重新映射到有效范圍。

J.1. Nearest-Point Sampling

在這種過濾模式下,紋理獲取返回的值是

tex(x)=T[i] 對于一維紋理,

tex(x,y)=T[i,j] 對于二維紋理,

tex(x,y,z)=T[i,j,k] 對于三維紋理,

其中 i=floor(x),j=floor(y),k=floor(z)。

下圖 說明了 N=4 的一維紋理的最近點采樣。

對于整數紋理,紋理獲取返回的值可以選擇重新映射到 [0.0, 1.0](請參閱紋理內存)。

1.png

J.2. Linear Filtering

在這種僅適用于浮點紋理的過濾模式下,紋理獲取返回的值是

tex(x)=(1?α)T[i]+αT[i+1] for a one-dimensional texture,

tex(x,y)=(1?α)(1?β)T[i,j]+α(1?β)T[i+1,j]+(1?α)βT[i,j+1]+αβT[i+1,j+1] for a two-dimensional texture,

tex(x,y,z) =(1?α)(1?β)(1?γ)T[i,j,k]+α(1?β)(1?γ)T[i+1,j,k]+(1?α)β(1?γ)T[i,j+1,k]+αβ(1?γ)T[i+1,j+1,k]+(1?α)(1?β)γT[i,j,k+1]+α(1?β)γT[i+1,j,k+1]+(1?α)βγT[i,j+1,k+1]+αβγT[i+1,j+1,k+1]for a three-dimensional texture,

其中:

i=floor(xB), α=frac(xB), xB=x-0.5,

j=floor(yB), β=frac(yB), yB=y-0.5,

k=floor(zB), γ=frac(zB), zB= z-0.5,

α、β 和 γ 以 9 位定點格式存儲,帶有 8 位小數值(因此精確表示 1.0)。

下圖 說明了 N=4 的一維紋理的線性過濾。

2.png

J.3. Table Lookup

x 跨越區(qū)間 [0,R] 的查表 TL(x) 可以實現為 TL(x)=tex((N-1)/R)x+0.5) 以確保 TL(0)= T[0] 和 TL(R)=T[N-1]。

下圖 說明了使用紋理過濾從 N=4 的一維紋理中實現 R=4 或 R=1 的表查找。

3.png

關于作者

Ken He 是 NVIDIA 企業(yè)級開發(fā)者社區(qū)經理 & 高級講師,擁有多年的 GPU人工智能開發(fā)經驗。自 2017 年加入 NVIDIA 開發(fā)者社區(qū)以來,完成過上百場培訓,幫助上萬個開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計算機視覺,高性能計算領域完成過多個獨立項目。并且,在機器人無人機領域,有過豐富的研發(fā)經驗。對于圖像識別,目標的檢測與跟蹤完成過多種解決方案。曾經參與 GPU 版氣象模式GRAPES,是其主要研發(fā)者。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4818

    瀏覽量

    102650
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4640

    瀏覽量

    128480
收藏 人收藏

    評論

    相關推薦

    HTTP相關返回值異常如何解決(上篇)

    ? 今天我們講講HTTP相關返回值異常如何解決(實例持續(xù)更新中) HTTP介紹 HTTP(超文本傳輸協(xié)議,Hypertext Transfer Protocol)是用于在網絡上進行數據交換的應用層
    的頭像 發(fā)表于 10-20 16:40 ?161次閱讀
    HTTP相關<b class='flag-5'>返回值</b>異常如何解決(上篇)

    面試???1:函數指針與指針函數、數組指針與指針數組

    函數是指返回值為指針的函數。語法:返回值類型*函數名(參數列表)。示例代碼:#include#includeint*getNumber(in
    的頭像 發(fā)表于 08-10 08:11 ?535次閱讀
    面試???1:<b class='flag-5'>函數</b>指針與指針<b class='flag-5'>函數</b>、數組指針與指針數組

    espconn_send返回值錯誤的原因?

    ); GPIO_OUTPUT_SET(0, 1);//用于通知主機,數據已經讀取完成 在這段函數里面我的espconn_send發(fā)送函數返回值串口打印出來為244,而且我接受buff的服務端也沒有接收到數據。所以請問一下這個2
    發(fā)表于 07-09 07:28

    請問CY68013上位機發(fā)送的返回值到底代表什么意思?

    ,剛開始一直沒問題,FPGA端接收也正常,上位機返回值也是1, 最后返回值一直是0,所以我一直認為發(fā)送失敗了,但是今天在FPGA一端抓波形發(fā)現,數據是發(fā)送過去了的,請問這個返回值到底是什么意思? 在FPGA端能接收到數據的情況下
    發(fā)表于 05-24 07:15

    請問MDK Middleware Network 中的回調函數netTCP_cb_t的返回值我在程序中怎樣才能得到并使用?

    請問MDK Middleware Network 中的回調函數netTCP_cb_t的返回值我在程序中怎樣才能得到并使用?
    發(fā)表于 04-22 07:19

    verilog中函數和任務對比

    對比,方便學習理解。 比較 函數 任務 輸入 函數至少需要包含一個輸入,端口類型不能包含inout類型 任務可以沒有或者有多個輸入,且端口聲明可以為inout類型 輸出 函數無輸出 任務可以沒有或者有多個輸出
    的頭像 發(fā)表于 02-12 18:43 ?810次閱讀

    深入解析Excel中的IF函數

    如何使用IF函數來完成這一任務。 第一部分:IF函數的基本語法 IF函數的語法格式為:=IF(邏輯表達式, 1, 2) 其中,邏輯表達式
    的頭像 發(fā)表于 12-03 10:33 ?1703次閱讀

    excel中xlookup函數怎么使用

    的基本語法如下: =XLOOKUP(要查找的, 要查找的區(qū)域, 返回的結果, [未找到匹配時的返回值], [查找模式]) 具體而言,要了解如何使用XLOOKUP函數,我們需要對其參數
    的頭像 發(fā)表于 12-03 10:16 ?1965次閱讀

    excel中if函數有多個條件,如何寫公式

    , value_if_false) 。其中, logical_test 是你想要測試的條件, value_if_true 是當條件為真時的返回值, value_if_false 是當條件為假時的返回值。 如果你需要
    的頭像 發(fā)表于 11-30 17:09 ?2015次閱讀

    if函數如何嵌套計算公式

    和功能介紹 if函數是一種邏輯函數,用于在滿足某個條件時返回一個,否則返回另一個。其基本語法
    的頭像 發(fā)表于 11-30 16:55 ?5740次閱讀

    HAL庫常用函數匯總

    1,系統(tǒng)函數HAL_Delay原型:voidHAL_Delay(uint32_tDelay);作用:利用滴答定時器生成的系統(tǒng)延遲函數參數:Delay:延遲時間,單位是ms返回值:無示例代碼
    的頭像 發(fā)表于 11-29 08:00 ?2790次閱讀
    HAL庫常用<b class='flag-5'>函數</b>匯總

    python函數返回多個參數

    。 在Python中,可以使用關鍵字 return 來返回一個或多個。在函數定義的末尾,可以使用 return 語句來指定函數返回
    的頭像 發(fā)表于 11-21 16:37 ?1063次閱讀

    tuple函數怎么返回多個

    在編程領域中,函數是非常重要的構建模塊,它能夠接受輸入參數并執(zhí)行特定的計算,最終返回結果供程序使用。常規(guī)的函數只能返回一個
    的頭像 發(fā)表于 11-21 16:33 ?634次閱讀

    python定義空函數返回多個方法

    ,缺少了pass,代碼運行就會有語法錯誤 pass還可以用在其他語句里,如if語句 參數檢查 當定義函數時,如果有必要,可先對參數做檢查,通常包括: 參數個數檢查 參數類型檢查 返回多個
    的頭像 發(fā)表于 11-14 11:33 ?500次閱讀

    C語言函數返回1和返回0究竟哪個好?

    C語言函數返回1和返回0究竟哪個好? 在C語言中,很多函數需要返回一個來表示
    的頭像 發(fā)表于 10-31 14:43 ?888次閱讀