2

openGLで頂点値を変更したいのですが、それを変更する方法を見つけましたが、それが間違っています。プログラムは三角形を描画し、実行時に頂点値を変更すると、長方形が表示されます。何が問題なのですか?

コード

#include "stdAfx.h"
#include <stdio.h>
#include <stdlib.h>
#include <glut.h>
void DataSource();
void showObject();
void cont();

void inti(int argcp,char **argv)
{
glutInit(&argcp,argv);
glutInitWindowSize(500,500);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutCreateWindow("square");
glClearColor(0.0,0.0,0.0,0.0);


glutDisplayFunc(showObject);
glutIdleFunc(cont);
}

 int main(int argcp,char **argv)
 {
inti(argcp,argv);
DataSource(0.1);
glutMainLoop();
return 0;
 }

void DataSource(float adding)
 {
GLfloat triangle1[]={(-0.9+adding),0.3+adding,(-0.9+adding),0.8+adding,      (-0.4+adding),0.8+adding,  -0.9,0.3,-0.4,0.8,-0.4,0.3};

   glEnableClientState(GL_VERTEX_ARRAY);

glVertexPointer(2,GL_FLOAT,0,triangle1);
  }

void showObject()
{

 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glDrawArrays(GL_TRIANGLES,0,3);

glutPostRedisplay();
glutSwapBuffers();
     }

    void cont()
      {
glutPostRedisplay();
     }
4

0 に答える 0