Visual Studio 2010에서 다음과 같은 C++ OpenGL 코드를 실행하려고합니다. OpenGL 유틸리티 툴킷으로 openglut을 사용하고 있습니다.OpenGL이 Visual Studio에서 주 기능을 건너 뜁니다.
#include <iostream>
#include <gl\openglut.h>
using std::cout;
using std::endl;
void RenderScene()
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void SetupRC()
{
glClearColor(0, 0, 1.0f, 1.0f);
}
int main(int argc, char* argv[])
{
cout << "Test1" << endl;
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
cout << "Test2" << endl;
return 0;
}
코드는 올바르게 컴파일되지만 디버깅하지 않고 실행하면 콘솔에 아무 것도 표시되지 않습니다. 첫 번째 cout 문에서 중단 점을 만들고 디버그로 실행하면 중단 점에서 중단되지 않습니다. 그것은 주요 기능을 건너 뛰는 것 같습니다. 내가 glut을 주석 처리 한 후, 2 개의 cout 문과 clean 솔루션 사이의 gl 문은 올바르게 작동합니다 (중단 점에서 중지됨). 솔루션을 깨끗하게하지 않으면 올바르게 동작하지 않지만 변경 한 후에 코드를 컴파일하는 Visual Studio를 볼 수 있습니다. 이러한 이상한 행동은 내가 OpenGL 코드를 포함 할 때만 발생합니다. 정상적으로 변경 한 후에도 솔루션을 정리할 필요가 없습니다. 이것에 대한 이유는 무엇입니까?
Glut에는 자체 기본 방법이 있습니까? 그리고 당신은 implmentor로서, 다른 어떤 방법을 구현하기로되어 있습니까? (메모리에서 말하면, Glut을 보았을 때부터 오랜 시간이 걸렸으므로 완전히 틀릴 수도 있고 다른 프레임 워크를 생각할 수도 ...) – TJMonk15
OpenGL을 처음 사용했지만이 예제를 직접 "OpenGL SuperBible 제 4 판 "이므로 정확해야합니다. –
@ TJMonk15 : GLUT는 메인을 제공하지 않습니다. – datenwolf