我正在尝试在 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 范围是如何确定的?