【发布时间】:2012-02-20 03:19:32
【问题描述】:
我有一个 852x640 的输入纹理和一个 612x612 的输出纹理。我正在通过着色器传递输入,并希望正确缩放和裁剪输出。我无法让 squareCoordinates、textureCoordinates 和 viewPorts 一起正常工作。
我不想只是裁剪,我还想缩放它以获得尽可能多的图像。如果我使用 Photoshop,我会分两步完成(在 OpenGL 中,我尝试一步完成):
- 将图像缩放为 612x814
- 剪掉每边多余的 101 像素
我使用的是标准方形顶点和纹理顶点:
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
}
我不完全知道视口应该是什么。
【问题讨论】: