viewimage.php?id=3dafdf21f7d335ab67b1d1&no=24b0d769e1d32ca73cee86fa11d0283191de25edc716dfae8790c53e5f6bdc5ae5fc36bb1e48327deebdb7390dc2e2ac740a9546606084db02940d9c7c94915cfd33


간단히 삼각형으로 구현해 보았다


h키를 누르니 새로운 삼각형이 새로운 위치에 하나 등장하였다


이거시 원하는 것이 아니더냐?


나의 코드는 이러하다


class Block {

public:

float x; // 위치정보

float y;

float z;

float c; // 색상정보 추가함


Block()

{

x = 0;

y = 0;

z = 0;

c = 0;

}

};


int dl;


Block gBlock[2];


void DoDisplay()

{

glClear(GL_COLOR_BUFFER_BIT);


for (int i = 0; i

{

glTranslatef(gBlock[i].x, gBlock[i].y, gBlock[i].z);


glColor3f(1, gBlock[i].c, 0);


glCallList(dl);

}


glFlush();

}


void Keyboard(unsigned char key, int x, int y)

{

switch (key)

{

case 'h':

if (nCount

{

nCount++;

gBlock[1].x = 0.1;

gBlock[1].c = 1;

glutPostRedisplay();

}

break;

}

}


void main(int argc, char** argv)

{

glutCreateWindow("OpenGL");


dl = glGenLists(1);

glNewList(dl, GL_COMPILE);


glBegin(GL_TRIANGLES);

glVertex2f(0.0, 0.2);

glVertex2f(-0.2, -0.2);

glVertex2f(0.2, -0.2);

glEnd();


glEndList();


glutKeyboardFunc(Keyboard);

glutDisplayFunc(DoDisplay);


glutMainLoop();

}


원래는 벡터로 구현해야 하는데


귀찮아서 전역 배열로 구현했노라


당연히 2개밖에 컨트롤이 안되노라


참고하도록 엣헴~