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

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

3天內(nèi)不再提示

如何計算Texture Functions的紋理函數(shù)返回值

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

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

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

一維紋理的 N 個texels,

二維紋理的 N x M texels,

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

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

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 的一維紋理的最近點采樣。

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

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 位小數(shù)值(因此精確表示 1.0)。

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

2.png

J.3. Table Lookup

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

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

3.png

關于作者

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

審核編輯:郭婷

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

    關注

    14

    文章

    5063

    瀏覽量

    103442
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4764

    瀏覽量

    129172
收藏 人收藏

    評論

    相關推薦

    C語言如何處理函數(shù)返回值

    當你在函數(shù)的最后寫上 return 0 的時候,它是如何返回給調(diào)用函數(shù)的? 比如 test 函數(shù),為了待會更好的看懂匯編代碼,我寫成了 return 1234。 處理
    的頭像 發(fā)表于 01-16 09:21 ?44次閱讀

    如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)

    函數(shù)的處理結果包含兩個數(shù)據(jù),如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)? 第一種,把兩個數(shù)據(jù)封裝成一個結構體,函數(shù)返回結構體。 調(diào)用
    的頭像 發(fā)表于 01-08 10:15 ?82次閱讀

    ADS1115返回值不連續(xù)是怎么回事?

    ADS1115返回值不連續(xù),每次都是0.16.32.48......變化,不是0.1.2.3.4.....變化的,用邏輯分析儀看了讀的是對的,求教?。?!
    發(fā)表于 12-02 07:31

    同樣是函數(shù),在C和C++中有什么區(qū)別

    同樣是函數(shù),在 C 和 C++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認為返回 int。 但是 C++
    的頭像 發(fā)表于 11-29 10:25 ?393次閱讀

    常用SQL函數(shù)及其用法

    的 SQL 函數(shù)及其用法: 一、聚合函數(shù)(Aggregate Functions) 聚合函數(shù)對一組執(zhí)行
    的頭像 發(fā)表于 11-19 10:18 ?375次閱讀

    C語言經(jīng)典筆試題集錦

    有以下程序,如果 x 等于 254,則函數(shù)返回值是多少?
    的頭像 發(fā)表于 11-09 11:39 ?260次閱讀

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

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

    面試???1:函數(shù)指針與指針函數(shù)、數(shù)組指針與指針數(shù)組

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

    PGA280發(fā)送指令后無返回值是怎么回事?

    在調(diào)試PGA280的時候,給PGA280的寄存器3”set BUF time-out”(如圖)發(fā)送十六進制指令8300,本應該獲得一個19的返回值,但我們卻什么都沒有收到,PGA280沒有反應。 我們懷疑芯片因為供電的原因沒有工作。 這是我們測試板的原理圖 這是官
    發(fā)表于 08-07 06:12

    espconn_send返回值錯誤的原因?

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

    一站式統(tǒng)一返回值封裝、異常處理、異常錯誤碼解決方案—最強的Sping Boot接口優(yōu)雅響應處理器

    1. 前言 統(tǒng)一返回值封裝、統(tǒng)一異常處理和異常錯誤碼體系的意義在于提高代碼的可維護性和可讀性,使得代碼更加健壯和穩(wěn)定。統(tǒng)一返回值封裝可以避免每一個接口都需要手工拼裝響應報文;統(tǒng)一異常處理可以將異常
    的頭像 發(fā)表于 06-20 15:42 ?605次閱讀

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

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

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

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

    使用stm32h745zi-q nucleo開發(fā)板調(diào)試時,發(fā)現(xiàn)使用-specs=nano.specs時sscanf返回值錯誤,為什么?

    使用stm32h745zi-q nucleo開發(fā)板調(diào)試時,發(fā)現(xiàn)使用-specs=nano.specs時sscanf返回值錯誤,使用標準c庫時返回值正確,但內(nèi)存溢出了,請教如何查找問題。
    發(fā)表于 04-01 08:00

    verilog中函數(shù)和任務對比

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