C++ 存储拖动控制的纹理

C++ 存储拖动控制的纹理,c++,opengl,glut,vertex,C++,Opengl,Glut,Vertex,(openGL)我需要对纹理进行拖动控制,但不知道如何存储这些值。我有一个带点的结构,纹理的图像,但我需要一个纹理来改变它们的位置,所以我需要改变鼠标按下方法上的glVertex2f,据我所知 glLoadIdentity(); glEnable(GL_TEXTURE_2D); //enable 2D texturing if(number < 4){ glBindTexture( GL_TEXTURE_2D, texture ); } else { glBindTexture

(openGL)我需要对纹理进行拖动控制,但不知道如何存储这些值。我有一个带点的结构,纹理的图像,但我需要一个纹理来改变它们的位置,所以我需要改变鼠标按下方法上的glVertex2f,据我所知

glLoadIdentity();
glEnable(GL_TEXTURE_2D); //enable 2D texturing
if(number < 4){
   glBindTexture( GL_TEXTURE_2D, texture );
} else {
   glBindTexture( GL_TEXTURE_2D, texture2 );
}

glBegin (GL_QUADS);
glTexCoord2d(0.0,0.0); glVertex2f(x/window_width, y/window_height);
glTexCoord2d(1.0,0.0); glVertex2f(x/window_width+0.2, y/window_height);
glTexCoord2d(1.0,1.0); glVertex2f(x/window_width+0.2, y/window_height+0.2);
glTexCoord2d(0.0,1.0); glVertex2f(x/window_width, y/window_height+0.2);
glEnd();
glFlush();
glLoadIdentity();
glEnable(GL_纹理_2D)//启用二维纹理
如果(数字<4){
glBindTexture(GL_TEXTURE_2D,纹理);
}否则{
glBindTexture(GL_TEXTURE_2D,texture2);
}
glBegin(GL_QUADS);
glTexCoord2d(0.0,0.0);glVertex2f(x/窗宽,y/窗高);
glTexCoord2d(1.0,0.0);glVertex2f(x/窗宽+0.2,y/窗高);
glTexCoord2d(1.0,1.0);glVertex2f(x/窗宽+0.2,y/窗高+0.2);
glTexCoord2d(0.0,1.0);glVertex2f(x/窗宽,y/窗高+0.2);
格伦德();
glFlush();

如何将它们添加到向量,然后更改位置?

如果要拖动纹理,需要更改
glTextCoord2d
值。 这样,多边形将保持固定,但应用于它的纹理将移动


还可以查看纹理,将扭曲应用到纹理,使其重复。

谢谢,我了解如何更改位置,我需要知道如何使用此参数创建对象,以便将来我可以制作类似obj->glVertex2f(0.1,0.2)的东西e.t.c.@gronzz:让您的对象类有一个成员
putVertex
,该成员使用正确的参数调用
glVertex
。或者最好让它填充到可以作为顶点数组传递给OpenGL的数组中。glVertex及其朋友已经过时,并且已经从现代OpenGL中完全删除。