2010-02-13 3 views
1

사과하는 경우이 새로운 질문,하지만 난 맥 프로그래밍 초보자이고, 맥 OS에 내 애플 리케이션을 포팅하려고 줄 알았는데.OpenGL 응용 프로그램을 Mac OS로 포팅하는 중 : X11, Cocoa 또는 다른 대안?

기본적으로 내 질문은 내 옵션과 Mac에서 OpenGL 프로그래밍과의 절충점이 무엇입니까? ?

X11 나에 대한) 프로그래밍) 어떻게 든 (코코아 프레임 워크를 사용)

나 ': 내 자신의 연구를하고에서

, 나는 겉으로는 내가의 선택의 여지가 결론에 도달했다 사용할 수있는 것 이상의 옵션이 있는지 확실하지 않습니다.

어쨌든, 옵션이 무엇인지 알 수있을 것입니다. 실제로 그렇다면 트레이드 오프가 있습니다. 이상적으로 나는 성능의 일부 유사성을 유지하는 한, 최고 수준의 이식성을 목표로합니다.

상세 정보 :

나는 (그것이 현재 리눅스에서 컴파일로) 내 기지로 X11을 사용하려고 시도하는, 어느 정도까지 내 응용 프로그램을 포팅했습니다. 그러나 _glXCreateContext 등의 정의되지 않은 기호가있는 오류가 발생합니다. 잘못된 트리를 짖는 지 궁금합니다.

답변

1

OpenGL 외부에서 수행하려는 작업에 따라 GLUT (Mac OS X에 포함) 또는 SDL을 프로젝트의 윈도우 기반으로 사용할 수 있습니다. SDL은 Mac OS X 및 Linux에서 X11에서 내부적으로 Cocoa를 사용합니다.

SDL은 매우 휴대 성이 뛰어납니다. 모든 주요 플랫폼을 지원합니다. 유일한 단점은 프로젝트의 Cocoa 버전을 작성하여 얻을 수있는 플랫폼 표준 열기/저장 대화 상자 또는 GUI 제어와 같은 많은 "응용 프로그램"기능이 없다는 것입니다.

GLUT에도 똑같은 기능이 있지만 유용 할 수도있는 GUI 기본 설정 (마우스 오른쪽 버튼 클릭 메뉴 및 버튼)이 있습니다.

X11을 직접 지정한다는 것은 Mac 사용자가 X11 지원을 설치해야한다는 것을 의미합니다. 이것은 Mac OS X의 여러 버전에서 선택적인 설치이며 필요할 때마다 설치하도록 기대할 수는 없습니다. 그것은 또한 내 의견으로는, OS X와 ​​통합하지 않음으로써 더 나쁜 사용자 경험을 제공합니다.

1

X는 OS X의 2 등 시민입니다. 응용 프로그램과 함께하고 싶은 응용 프로그램, 사용하려는 사람이 무엇인지에 달려 있지만, 코코아로 시작할 수는 있습니다. Cocoa Drawing Guide). 단점은 코코아 자체의 세계이며 그것 익숙해 지려면 시간이 좀 걸릴 것입니다.

1

앞서 언급 한 API 외에도 AGL/Carbon 및 Qt도 있습니다.

AGL은 다소 쓸모 없으며 64 비트를 지원하지 않습니다.

Qt는 실제 응용 프로그램을위한 최선의 대안입니다. 크로스 플랫폼이며 멋진 UI 지원을 제공하기 때문입니다.

관련 문제