我一直在嘗試使用更復雜的着色器,並遇到頂點着色器和紋理採樣器使用的座標系問題。簡而言之:他們似乎沒有任何意義,而當試圖對它們進行測試時,我最終會得到不一致的結果。更糟糕的是,互聯網對文檔沒什麼影響,我發現的大部分信息似乎都希望我知道它是如何工作的。我希望有人可以澄清以下內容:Stage3D,AGAL - 頂點和紋理座標系
- 頂點着色器通過表示渲染目標位置的(x,y,z)。 x,y和z的可接受值是多少?
- x和y如何對應後緩衝區的寬度和高度(假設它是渲染目標)?
- x和y如何對應輸出紋理的寬度和高度(假設它是渲染目標)?
- 當x = 0和y = 0時,頂點位置在哪裏,位置方向?
- 紋理採樣器在(u,v)座標處對紋理進行採樣。 u和v的可接受值是多少?
- u和v如何對應被採樣紋理的寬度和高度?
- AGAL的包裹,鉗位和重複標記如何改變採樣,以及沒有給出的默認行爲是什麼?
- 在u = 0和v = 0採樣時,哪個像素返回位置方向?
編輯: 從我的測試中,我相信答案是:
- 不確定
- -1左/底,1爲右/上
- 不確定
- 在輸出的中心
- 不確定
- 0左/底,1爲右/上
- 不確定
- 遠左下角的紋理
你是在學習這個,是爲了你自己的理解,還是爲了你可以使用Stage3D來製作一些東西? – Marty
兩個!我之前使用過像素着色器,但是它們是更高級的,因此在語法上與Flash中使用的不同。如果這些問題得到解答,我應該可以毫無困難地繼續下去。 在提出這個問題之前:我不願意使用現有的引擎(Starling,Away3D等) - 我的應用程序的工作方式使得這些程序無論如何都無濟於事。 – Conduit
當然,這很好。我沒有這個編程水平的大腦,所以我確實會推薦一些現有的東西:-) – Marty