我是mac開發新手。我目前開始使用Windows(使用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
當我研究這個,我看到使用的Objective-C或可可很多人,我一定要使用的Objective-C或可可得到我想要的結果?如果可以的話,我還可以使用C++或coco庫的Objective-C++嗎?
最後什麼是最簡單的相當於mac中的messagebox()?我使用NSGetCriticalAlertPanel(),但我似乎無法得到它的工作(主要是因爲我無法找到相應的庫,我不得不包括)。我使用xcode編譯器,如果有更好的一個或更喜歡更多,請建議它(我不是一個xcode的大粉絲)。
沒有辦法用openGL創建窗口,它只是一個用於渲染的API。窗口創建將是一些平臺特定的代碼,最終你會調用一個A(apple)GL函數來創建一個openGL渲染上下文。 – stonemetal
它被稱爲可可不可可。是的,你必須使用Objective-C(/ ++),因爲MacOS X從根本上根植於基於消息的OOP系統。而可可是MacOS X的Win32 API對windows的。 – datenwolf
對於初學者(以及像這樣的端口),我不會推薦你使用Cocoa,因爲這裏有相當的學習曲線。相反,請使用SDL等庫。 – TheAmateurProgrammer