2010-02-28 6 views
0

Windows에서 전문 OpenGL 게임을 작성한 경험이 있습니까? Mac의 경우, 사과의 제어로 인해 OS는 꽤 "균일"한 것처럼 보입니다. Windows의 경우 하드웨어가 다르기 때문에 다른 드라이버가 설치되는 등 하드웨어 기반에는 많은 다양한 구성이있는 것 같습니다.데스크톱/플랫폼 용 OpenGL 게임 개발

이론적으로 OpenGL은이 모든 것을 추상화하는 API를 제공합니다. 실제로 많은 운전자는 종종 버그가 많고 이상한 경우가 있습니다. Windows에서 게임을 개발할 때 이것이 문제였습니까?

감사합니다.

답변

1

두 개의 가장 큰 GPU 공급 업체 (Nvidia 및 ATI)는 최신 하드웨어의 최신 기능을 활용하는 OpenGL 3.x 드라이버를 제공합니다. Chris가 지적한 것처럼 주요 문제는 Windows가 가장 기본적인 OpenGL 지원을 제공함에 따라 사용자가 공급 업체의 최신 드라이버를 설치해야한다는 것입니다 (Microsoft 덕분에 OpenGL을 제거하고 밀어 넣을 수있는 모든 일을하는 것처럼 보입니다.) DirectX). 그래서 그들은 최근의 운전사를 가지고 있다면, 당신은 잘되어야합니다.

필연적으로 드라이버간에 약간의 (대부분 사소한) 차이가 있습니다. 예를 들어 Nvidia의 GLSL 컴파일러가 ATI보다 약간 까다 롭다는 것을 알았습니다. 그렇지 않으면 잘 작동하는 쉐이더 코드를 거부합니다. 요점은 양쪽에서 테스트해야한다는 것입니다 (어쨌든 그렇게 할 것입니다).

gDebugger 도구는 성능 문제를 추적하는 데 상당히 도움이 될 것 같습니다. (Xcode로 무료로 제공되는 OpenGL 도구는 꽤 멋진 도구입니다.)

OpenGL extensions registry에서 glext.h을 얻어야하고 기본 요구 사항을 파악해야합니다. 도움이 될만한 확장 프로그램이 있다면 대체 코드 경로를 사용하고 싶지 않을 것입니다. 덧붙여서 덧붙여서, 확장 관리 과정을 돕는 몇 개의 도서관 (예 : GLEW와 GLEE)이 있습니다. 나는 그 구현이 마음에 들지 않았기 때문에 내 자신의 글을 쓰게되었다.

아직 툴셋을 선택하지 않았다면 OpenGL 용 엔진 및 장면 그래프가 많이 있습니다.

나는 길을 따라 약간의 버그를 발견했지만 거의 모든 것이 쉽게 해결되었습니다. 요즘 상황은 꽤 좋습니다.

0

아직 Windows에서 전문 OpenGL 게임을 만들지는 않았지만, 중요한 점은 OpenGL 드라이버에서 사용 가능한 기능 (확장 기능)을 쿼리하고 해당 기능을 처리하는 것입니다. GLEW 라이브러리를 사용하여 플랫폼 독립적 인 방식으로이를 처리하는 패키지도 있습니다. 다른 OpenGL 기능을 처리하는 방법을 이해하는 것이 좋은 시작이라고 생각하십시오.

OpenGL Extension Wrangler Library (GLEW)는 크로스 플랫폼 오픈 소스 C/C++ 확장로드 라이브러리입니다. GLEW는 대상 플랫폼에서 지원되는 OpenGL 확장을 결정하는 효율적인 런타임 메커니즘을 제공합니다. OpenGL 코어 및 확장 기능은 단일 헤더 파일에 표시됩니다. GLEW는 Windows, Linux, Mac OS X, FreeBSD, Irix 및 Solaris를 포함한 다양한 운영 체제에서 테스트되었습니다.

1

가장 큰 문제는 다음과 같습니다. Windows 7에는 하드웨어 OpenGL이 제공되지 않습니다. 사용자가 기본 비디오 드라이버를 공급 업체 사이트의 업데이트 된 버전으로 바꾸는 작업을 수행하지 않으면 해당 버전의 OpenGL 지원은 ~ v1.0 소프트웨어 렌더러가됩니다.