我有一个852x640的输入纹理和一个612x612的输出纹理。我正在通过着色器传递输入,并希望正确地缩放和裁剪输出。我在使squareCoordinates
、textureCoordinates
和viewPorts
正常配合方面遇到了困难。
我不仅想裁剪图像,还想将其缩放以尽可能多地获取图像。如果我在使用Photoshop,我会分两步完成(在OpenGL中,我试图一步完成以下操作):
- 将图像缩放为612x814
- 将每侧超出的101px裁剪掉
我正在使用标准的正方形顶点和纹理顶点:
static const GLfloat squareVertices[] = {
-1.0f, -1.0f,
1.0f, -1.0f,
-1.0f, 1.0f,
1.0f, 1.0f,
};
static const GLfloat squareTextureVertices[] = {
0.0f, 0.0f,
1.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f
}
我不确定视口应该是什么。