簡體   English   中英

如何在沒有抗鋸齒的情況下在 Unity 着色器中采樣 2D 紋理?

[英]How can I sample a 2D texture in a Unity shader without antialiasing?

我正在使用自己的着色器制作一個簡單的 3D 游戲,並希望模擬 8 位像素藝術風格。 為此,我需要對低分辨率紋理進行采樣,而不需要采樣器在像素間值之間進行插值。 希望這也將減少處理時間,因為它不需要計算插值。 有什么辦法可以做到這一點?

好的,事實證明我沒有意識到 2D 紋理。 我已經將其過濾模式設置為“點”,這會關閉采樣中的插值,但我沒有注意到有一個標記為“非 2 的冪”的框。 這樣做的目的是,如果您的紋理的尺寸不是 2 的冪(即 1024),它會放大它,使其成為 2 的冪。 它這樣做是為了可以對紋理應用壓縮,因為壓縮僅適用於 Unity 中的 2 次方圖像。 但是,無論采樣模式如何,它都會對高檔應用抗鋸齒,因此插值實際上是由編譯器“烘焙”的,與采樣器或着色器無關。

關閉它解決了問題; 然而,一旦我對我的紋理感到滿意,我就會將它們擴展到帶有尾部填充的 2 的冪大小,以便利用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM