opengl 문자열 출력하기 질문있습니다.
글쓴이: juhyun16 / 작성시간: 월, 2015/04/20 - 12:16오전
안녕하세요 오픈지엘 질문있습니다.
콘솔창 말고 오픈지엘 Viewport에 문자열을 출력해보고 싶습니다...
메뉴콜백 함수를 이용해서 메뉴를 3개 만들었습니다.
이 때 1. Draw Sphere 메뉴를 선택하면 구가 viewport에 그려지면서 포트 상단 가운데에 "구를 그렸습니다."
이런식으로 문자열을 출력해보고 싶습니다.
비슷하게 2. Draw Torus 메뉴를 선택하면 Torus가 viewport에 그려지면서 포트 상단 가운데에 "토러스를 그렸습니다."
이렇게 문자열을 출력하고 싶은데 어떻게 해야할지 잘 모르겠습니다.
도와주시면 감사하겠습니다.
#include <GL/glut.h> #include <iostream> GLboolean IsSphere = true; GLboolean IsSmall = true; void MyDisplay() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.5, 0.0, 0.5); if ((IsSphere) && (IsSmall)) glutWireSphere(0.2, 15, 15); //작은 원구 else if ((IsSphere) && (!IsSmall)) glutWireSphere(0.4, 15, 15); //큰 원구 else if ((!IsSphere) && (IsSmall)) glutWireTorus(0.1, 0.3, 40, 20); //작은 원환체 else glutWireTorus(0.2, 0.5, 40, 20); //큰 원환체 glFlush(); } void MyMainMenu(int entryID) { if (entryID == 1) IsSphere = true; //원구 그리기 else if (entryID == 2) IsSphere = false; //원환체 그리기 else if (entryID == 3) exit(0); //프로그램 종료 glutPostRedisplay(); } void MySubMenu(int entryID) { if (entryID == 1) IsSmall = true; //작은 크기로 그리기 else if (entryID == 2) IsSmall = false; //큰 크기로 그리기 glutPostRedisplay(); } int main(int argc, char** argv) { glutInit(&argc,argv); glutInitDisplayMode(GLUT_RGB); glutInitWindowSize(300, 300); glutInitWindowPosition(0, 0); glutCreateWindow("OpenGL Example Drawing"); glClearColor(1.0, 1.0, 1.0, 1.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); GLint MySubMenuID = glutCreateMenu(MySubMenu); glutAddMenuEntry("Small One", 1); glutAddMenuEntry("Big One", 2); GLint MyMainMenuID = glutCreateMenu(MyMainMenu); glutAddMenuEntry("Draw Sphere", 1); glutAddMenuEntry("Draw Torus", 2); glutAddSubMenu("Change Size", MySubMenuID); glutAddMenuEntry("Exit", 3); glutAttachMenu(GLUT_RIGHT_BUTTON); glutDisplayFunc(MyDisplay); glutMainLoop(); return 0; }
Forums:
http://www.opengl-tutorial.or
http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-11-2d-text/
세벌 https://sebuls.blogspot.kr/
좋은 정보 감사합니다.많은 도움이 되었습니다.
좋은 정보 감사합니다.많은 도움이 되었습니다.
댓글 달기