문제

저는 Windows에서 OpenGL 확장을 사용해 왔습니다. 고통스러운 길.GLEW가 더 쉬운 방법인가요?어떻게 시작하나요?

도움이 되었습니까?

해결책

예, OpenGL 확장 랭글러 라이브러리 (GLEW)는 Windows에서 OpenGL 확장을 사용하는 간편한 방법입니다.시작하는 방법은 다음과 같습니다.

사용하려는 OpenGL 확장과 확장 API를 식별합니다.OpenGL 확장은 다음에 나열되어 있습니다. OpenGL 확장 레지스트리.

그래픽 카드가 사용하려는 확장 기능을 지원하는지 확인하세요.그래픽 카드용 최신 드라이버와 SDK를 다운로드하여 설치하세요.

최신 버전 엔비디아 OpenGL SDK GLEW와 함께 배송됩니다.이 기능을 사용하는 경우 다음 단계 중 일부를 수행할 필요가 없습니다.

다운로드 글로우 그리고 압축을 풀어주세요.

GLEW 추가 큰 상자 Windows 경로 환경 변수.또는 다음을 배치할 수도 있습니다. glew32.dll Windows가 DLL을 선택하는 디렉터리에 있습니다.

GLEW 추가 포함하다 컴파일러의 포함 디렉터리 목록 경로입니다.

GLEW 추가 lib 컴파일러의 라이브러리 디렉토리 목록 경로입니다.

컴파일러에게 다음을 사용하도록 지시하세요. glew32.lib 연결하는 동안.Visual C++ 컴파일러를 사용하는 경우 이를 수행하는 한 가지 방법은 코드에 다음 줄을 추가하는 것입니다.

#pragma comment(lib, "glew32.lib")

을 추가하다 #include <GL/glew.h> 코드에 줄을 긋습니다.이것이 다른 GL 헤더 파일의 포함 위에 배치되었는지 확인하십시오.(포함하는 경우 실제로 GL 헤더 파일이 필요하지 않을 수도 있습니다. glew.h.)

다음을 사용하여 GLEW를 초기화합니다. glewInit() GLUT 또는 GL을 초기화한 후.실패하면 설정에 문제가 있는 것입니다.

if (GLEW_OK != glewInit())
{
    // GLEW failed!
    exit(1);
}

사용하려는 확장 프로그램을 이제 GLEW를 통해 사용할 수 있는지 확인하세요.이름이 지정된 부울 변수를 확인하여 이를 수행합니다. 글로우_your_extension_name 이는 GLEW에 의해 노출됩니다.

예:

if (!GLEW_EXT_framebuffer_object)
{
    exit(1);
}

그게 다야!이제 Windows에 자연스럽게 존재하는 것처럼 코드에서 OpenGL 확장 호출을 사용할 수 있습니다.

다른 팁

개인적으로 나는 종료 명령을 사용하지 않을 것입니다.

함수가 끝날 때 다른 초기화를 지울 수 있도록 예외를 발생시킵니다.

즉:

try
{
    // init opengl/directx
    // init directaudio
    // init directinput

    if (GLEW_OK != glewInit())
    {
        throw std::exception("glewInit failed");
    }
}
catch ( const std::exception& ex )
{
    // message to screen using ex.what()
    // clear up
}

그리고 저는 OJ의 의견에 동의합니다. 다른 사람을 위한 튜토리얼을 작성하고 싶다면 이곳은 정말 잘못된 곳입니다.OpenGL 튜토리얼을 위한 좋은 장소가 이미 많이 있습니다. 예를 들어 이것을 시도해 보세요.

시간이 좀 걸렸지만 마침내 GLEW를 작동시킬 수 있었습니다.저는 Windows7(x64), Eclipse CDT 및 MinGW를 사용하고 있는데 그 방법은 다음과 같습니다.

MinGW가 올바르게 설치되도록 MSYS(MinGW용) 및 rember를 다운로드합니다(PATH 환경 변수가 올바르게 설정됨).http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.10/MSYS-1.0.10.exe/download?use_mirror=freefr&download=

MSYS가 설치되면 다음으로 이동하십시오.http://grew.sourceforge.net/UNIX 시스템에서 사용하도록 고안된 TGZ 패키지를 다운로드합니다.

그런 다음 패키지를 열고(7zip도 사용할 수 있음) "Makefile"을 찾으세요.그것을 열고 텍스트 편집기(메모장은 잘 작동할 것입니다)를 사용하여 "GLEW_DEST"가 포함된 행을 찾아 "GLEW_DEST ?= C:/MinGW"와 같은 것으로 바꿉니다.

이제 시작할 준비가 되었습니다. MSYS(제 경우에는 C:\MinGW\msys\1.0\msys.bat)를 열고 열린 셸에서 "Makefile"이 있는 폴더로 이동합니다.

그런 다음 간단하게 작성하십시오."make install"하면 작업이 완료됩니다(적어도 저에게는 작동했습니다)

추신:또한 glew-1.10.0-win32\glew-1.10.0\bin elease\Win32 파일을 System32 폴더에 복사하여 붙여넣었고 Eclipse CDT에서 링커 옵션에 "grew32" 라이브러리를 추가하고 #include <GL/glew.h> ~ 전에 #include <GL/glut.h>

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top