如何在opengl中移动顶点

时间:2014-11-29 16:38:40

标签: c++ opengl graphics polygon glut

您好我写了一个创建多边形的程序。在我的程序中,您可以单击两个或多个区域,我的程序将第一个点连接到第二个,第二个连接第三个等。如果我右键单击,那么最后一个点将连接第一个点然后我的多边形准备好了。现在我想移动我的多边形的顶点。像拖放一样的东西。我开始编写这段代码:

    void move(GLint button, GLint action, GLint xPosition, GLint yPosition){
        screenCoordinates newCoord;
        if (button == GLUT_LEFT_BUTTON && action == GLUT_UP) {
            for (int i = 0; i <= position; i++){
                if ((xPosition == vertexCoord[0][position] + 5 || xPosition == vertexCoord[0][position] - 5) && ((yPosition == vertexCoord[1][position] + 5 || yPosition == vertexCoord[1][position] - 5)))
                    //....
            }


}
}

我有+ -5,因为很难在顶点完全点击。我也有一个包含所有顶点的数组(vertexCoord [2] [200])。现在我该如何移动我的顶点?

1 个答案:

答案 0 :(得分:0)

您可能希望研究使用矩阵变换。有一些教程教会如何在Modern OpenGL(3.3 +)中完成这项工作。

我个人非常喜欢Open.GL,但我有一些朋友和教授喜欢OpenGL-Tutorial