我是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