我们使用以下代码在 OpenGL ES 2.0 中绘制 BMP 图像:(x1,y1 是左下角坐标,x2,y2 是屏幕上对象的右上角坐标,tempimage data 是指向存储的 bmp 图像信息的指针)
struct
{
GLuint uiId;
GLuint uiLowerLeftLoc;
GLuint uiScaleMatrixLoc;
GLuint auiLoc[eNumUniforms];
}
m_ShaderProgram;
glUniform2f(m_ShaderProgram.uiLowerLeftLoc, x1, y1);
float afMatrix[4] = { x2 - x1, 0, 0, y2 - y1 };
glUniformMatrix2fv(m_ShaderProgram.uiScaleMatrixLoc, 1, GL_FALSE, afMatrix);
glBindTexture(GL_TEXTURE_2D, m_uiTexForeground);
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, tempimagedata);
glBindBuffer(GL_ARRAY_BUFFER, m_uiVbo);
glEnableVertexAttribArray(VERTEX_ARRAY);
glVertexAttribPointer(VERTEX_ARRAY, 2, GL_FLOAT, GL_FALSE, 0, 0);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glDisableVertexAttribArray(VERTEX_ARRAY);
我想根据角度旋转对象。如何做到这一点?