2011-07-24 31 views
1

這是一個來自an earlier problem I had的問題。基本上,我試圖通過修改投影矩陣的比例分量來實現我的着色器中的正交縮放,但這是不可能的。我必須實際做的是在通過平局「將它們發送給我的着色器」之前縮放vert。這就像一個魅力...如何使用頂點着色器將統一的頂點數據乘以頂點數據?

但是,當然,問題是,在軟件現在我負責縮放所有我的vert之前交給着色器。這讓我想知道是否有可能使頂點着色器做到這一點。我想是的,但我無法弄清楚。

我在做什麼只是通過我的所有4個vert(在float vertices[8]舉行)和做*= scale;。爲了更精確一點,我分別乘以scaleXscaleY分別乘以X和Y分量。

我該如何在頂點着色器中做同樣的事情?

回答

0

替換gl_Vertex(gl_Vertex * scale)無處不在頂點着色器。或者,如果您使用用戶定義的座標輸入,請將* scale放在上面。

+0

爲了改善這一點 - 我關心我的傳入頂點屬性uniform(我認爲你的意思是'gl_Vertex'),並且只乘以'that.x * scaleX'和'that.y * scaleY',我確信可以進一步優化爲.xy * scaleVec.xy,但只是評論讓答案更清晰 – Nektarios