반응형

프로그래밍/OpenGl

반응형
반응형
#include <gl/glut.h>

void MyDisplay() {
	glClearColor(0.259, 0.259, 0.453, 1.0);
	glClear(GL_COLOR_BUFFER_BIT);

	glColor3f(1.0, 1.0, 1.0);
	glBegin(GL_LINES);
	glVertex2f(-1.0, 0.0);
	glVertex2f(0.0, 0.0);
	glEnd();
	glFlush();
}

/*키보드 입력이 들어왔을 때 어떤 동작을 할 것인가*/
void Mykeyboard(unsigned char key, int x, int y) {
	switch (key) { //key가 입력받는 부분
	case 'q':exit(0); //q를 누르면 window창이 꺼지도록 설정, cmd창은 꺼지지 않음
	}
}

/*그냥 main함수 안에 넣기 복잡하니까 외부 함수로 갖고 나옴*/
void RegisterCallback() {
	glutDisplayFunc(MyDisplay);//window창을 띄워줄 때 어떤 설정들을 갖고 띄워줄지에 대한 함수
	glutKeyboardFunc(Mykeyboard);//window창을 띄운 이후, 키보드 값을 통해 어떤 반응을 할지에 대한 함수
}

int main(int argc, char** argv) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_RGB);
	glutInitWindowSize(500, 500);
	glutCreateWindow("Line with KeyboardCallback");
	RegisterCallback();
	glutMainLoop();
	return 0;
}

 RegisterCallback 함수는 제가 개인적으로 만든 함수입니다. 

 

 glutKeyboardFunc("설정값")

glutKeyboardFunc()함수 안에 들어갈 설정 함수에 매개변수를 맞춰줘야 합니다. unsigned char key, int x, int y를 해줘야 정상적으로 인식하고 프로그램이 실행됩니다.

 

반응형

+ Recent posts