저는 Mac 개발에 익숙하지 않습니다. 나는 현재 윈도우 (direct3d 사용)를 사용하는 3d 프로그램을 시작했고 OpenGL을 사용하여 Mac으로 확장하려고합니다. 나는 현재 창을 초기화하고 OpenGL과 창을 사용하여 그려주는 방법에 대한 코드를 가지고있다. 나는이 응용 프로그램의 Windows 부분을 mac 인터페이스로 대체하는 가장 단순한 방법을 찾고 있습니다. 내가이 연구 때어떻게하면 C++과 OpenGL을 사용하여 Mac에서 창을 만들 수 있습니까?
bool SystemClass::InitializeWindows(OpenGLClass* OpenGL, int& screenWidth, int&screenHeight){
WNDCLASSEX wc;
DEVMODE dmScreenSettings;
int posX, posY;
ApplicationHandle = this;
m_hinstance = GetModuleHandle(NULL);
m_applicationName = L"Engine";
wc.style = CS_HREDRAW;
wc.lpfnWndProc = WndProc;
wc.hInstance = m_hinstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hIconSm = wc.hIcon;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.lpszMenuName = NULL;
wc.lpszClassName = m_applicationName;
wc.cbSize = sizeof(WNDCLASSEX);
//etc
//set full screen mode
//set window to front
//hide mouse
은 내가 객관적-C 또는 코코를 사용하여 많은 사람들을 보았다 내가 원하는 결과를 얻을 목적-C 또는 코코를 사용해야합니까? 만약 그렇다면 여전히 C++ 라이브러리 나 objective-C++를 사용할 수 있습니까?
마지막으로 mac에서 messagebox()와 가장 비슷한 기능은 무엇입니까? NSGetCriticalAlertPanel() 사용했지만 작동하도록 얻을 수없는 것 (대개 해당 라이브러리를 포함해야하는 것을 찾을 수 없기 때문에).
추 신 : xcode 컴파일러를 사용하고 있습니다. 거기에 더 좋은 것이 있거나 선호한다면 더 좋습니다 (xcode의 큰 팬이 아닙니다).
OpenGL을 사용하여 창을 만드는 방법은 렌더링을위한 API 일뿐입니다. 윈도우 생성은 특정 플랫폼 코드 일 것이고, 결과적으로 OpenGL 렌더링 컨텍스트를 생성하는 A (사과) GL 함수를 호출하게 될 것입니다. – stonemetal
코코아가 아니라 코코 야. 그리고 MacOS X는 메시지 기반 OOP 시스템에 근본적으로 뿌리를두고 있기 때문에 Objective-C (/ ++)를 사용해야합니다. 그리고 Cocoa는 MacOS X에서 Win32 API가 윈도우에 대해하는 것입니다. – datenwolf
초보자 (및 이와 유사한 포트)의 경우, 학습 곡선이 상당히 커지면서 코코아를 사용하지 않는 것이 좋습니다. 대신 SDL과 같은 라이브러리를 사용하십시오. 모든 코멘트에 대해 – TheAmateurProgrammer