我试图在javascript中执行与顶点着色器相同的变换。我的顶点着色器像典型的WebGL示例一样转换顶点:
gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0)
我的画布尺寸为600x600像素(但在这种情况下,画布尺寸似乎无关紧要)。
结果得到的gl_Position.xy不是我预期的范围0、600或-300、300或-1、1,而是大约-6、6(最终我在着色器中编写了测试代码:如果转换后的gl_Position.x>5.0则将其颜色设置为红色)。
这个-6、6(或12x12)的绘图区域在不考虑画布大小的情况下保持不变。
添加比例因子并通过调整使其与着色器变换同步后,我已经成功地完成了javascript变换。但是如何从WebGL中获取转换后顶点的绘图区域大小?那个-6、6的范围是如何确定的?