//EBhE͐ΕKv݂
#include < windows.h >

#include "GL/glut.h"
#pragma comment( lib, "glut32.lib" )
#define  _USE_MATH_DEFINES
#include <math.h>

static int cnt=-1 ;

void drawLine() 
{
		int r = 1.0;
		double angle = M_PI / 30 ;

		glBegin( GL_LINE_LOOP );

		//_w
		//glVertex2d( -0.9, -0.9 );
		glVertex2d( 0.0, 0.0 );
		glVertex2d( r*cos(angle*cnt), r*sin(angle*cnt) );

		//`X^C̎wI
		glEnd();
		//Ɏs
		glFlush();
		cnt++;
}
//ŕ`֐
void display(void)
{
	//wiNA
	glClear( GL_COLOR_BUFFER_BIT );

	//J[w
	glColor3d( 1.0, 1.0, 1.0 );

	// don't call. drawLine();
	int r = 1.0;
		double angle = M_PI / 30 ;

		glBegin( GL_LINE_LOOP );

		//_w
		//glVertex2d( -0.9, -0.9 );
		glVertex2d( 0.0, 0.0 );
		glVertex2d( r*cos(angle*cnt), r*sin(angle*cnt) );

		//`X^C̎wI
		glEnd();
		//Ɏs
		glFlush();
		cnt++;
}

//----------------------------------------------------
// L[{[h͎ɌĂяo֐
//----------------------------------------------------
void Keyboard(unsigned char key, int x, int y){
  switch ( key )
  {
  case 'a':
	  drawLine();
    break;

  case 'q':
    exit(0);
    break;

  default:
    break;
  }
}
//FwiJ[͂߂ɍw肷
void Init()
{
	glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
}

int main( int argc, char **argv )
{
	//glut̏ƃEBhE쐬
	glutInit( &argc, argv);
	glutCreateWindow("OpenGlTest!");

	//fBXvC̕`惂[h̎wiRGB̎OFj
	glutInitDisplayMode( GLUT_RGBA );

	//ĕ`֐o^
	glutDisplayFunc(display);
	glutKeyboardFunc(Keyboard);//L[{[h͎ɌĂяo֐w肷i֐FKeyboardj


	//ʂ̏
	Init();

	//C[v˓
	glutMainLoop();

	return 0;
}