2011-07-24 28 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