簡體   English   中英

僅GLSL紋理坐標

[英]GLSL-Only Texture Coordinates

關於紋理坐標中的兩個點,存在很多問題,而我的着色器已經可以使用該概念了。 1.0、1.0會顯示整個圖像,而1.0 /幀則在一維或另一維上會顯示...的外觀……很不幸,它顯示的是四邊形的0.0到幀的十進制值之間的所有值。

我想做的是從着色器控制紋理坐標的所有四個點。 在每個教程和每個樣本中,紋理坐標vec始終是vec2,這意味着您只能控制兩個端點,而不能控制起點。 有消除這種限制的方法嗎?

為了讓您了解為什么要執行此操作(如果現在還不是很明顯),我想從較大的工作表中選擇一個圖塊或動畫幀。

理想情況下,我還可以在着色器中找到圖像的尺寸(寬度和高度),但是如果有必要,將這些值傳入並不難。我相信這時我正在使用GLSL 2,表示我無法在着色器中使用textureSize2D函數(已嘗試過)。

簡化傳遞給紋理命令的UV coodrinate對意味着從紋理中讀取一點。 只是一點,不是面積。 根據采樣器的狀態以及是否發生縮小/放大,可以使用一個紋素來計算該點的值,但是仍然是與UV相關的一個值。

暫無
暫無

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

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