日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenGL 采样器的比较模式

發布時間:2024/1/1 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL 采样器的比较模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來自?flyfish|已發表?2020-10-27

深度紋理可以通過兩種模式進行采樣, 第一種是按傳統的紋理采樣模式直接采樣來獲取深度值,這將會返回一個單浮點數vec4 類型的值。也可以使用比較模式(comparison mode) 模式來采樣深度紋理。使用比較模式時,我們需要指定一個參考值(reference value) , 該參考值與從深度紋理中采樣的深度值進行比較,為了使參考值與采樣的深度值進行比較,我們還需要設置一個比較函數(comparison function),比較結果只有R值是比較結果。測試成功,返回 1.0f, 測試失敗,返回0.0f.

當使用線性過濾器去采樣時,采用結果是由硬件設備的實現來定義的,一般比較模式的返回值的范圍是[0 , 1.0]之間, 這種采樣方式稱為百分比漸進采樣方式“percentage Closer Filering”.

如果紋理是歸一化的整型值,那么傳入的參考值也將被歸一化到[0,1]的范圍內去匹配紋理值。否則參考值不會被歸一化到[0,1]的區間.

使用比較模式需要專門做兩方面的設置,首先GLSL中紋理的采樣必須是陰影采樣器,也就是這種模式專門針對的是陰影的采樣,其次激活的深度紋理關聯的采樣器要開啟比較模式。

要將紋理設置成比較模式,需要設置紋理比較模式GL_TEXTURE_COMPARE_MODE 設置成 GL_COMPARE_REF_TO_TEXTURE, 把紋理比較函數 GL_TEXTURE_COMPARE_FUNC 設置成 GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL , GL_NOT_EQUAL, GL_GEQUAL, GLGREATER 之一, 比較方式:

ref OPERATOR texture

如果設置比較函數為 GL_LESS, 當 參考值 ref 小于 采樣的紋素值的情況下,測試通過時, 采樣器將會返回非零的值——百分比漸進的采樣方式[0,1] 或 0、1 值 。

總結

以上是生活随笔為你收集整理的OpenGL 采样器的比较模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。