如何使用C 和OpenGL在Mac中创建一个窗口

How do I create a window in mac using c++ and opengl?

本文关键字:窗口 一个 创建 何使用 OpenGL Mac      更新时间:2023-10-16

我是Mac开发的新手。我目前已经使用Windows(使用Direct3D)开始了一个3D程序,并希望使用OpenGL扩展到Mac。我目前有有关如何使用OpenGL和Windows绘制窗口的代码。我正在寻找用Mac接口替换此应用程序的Windows部分的最奇妙方法。

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或Coco,我是否必须使用Objective-C或Coco来获得我想要的结果?如果是这样,我仍然可以将C 或Objective-C 与可可库一起使用?

最后,与Mac中的MessageBox()最简单的是什么?我使用了nsgetCriticalAlertPanel(),但我似乎无法使其工作(主要是因为我找不到我必须包含的相应库)。

ps:我正在使用Xcode编译器,如果有一个更好的编译器,或者您更喜欢一个,请建议它(我不是Xcode的忠实拥护者)。

您可以从此SDL - OpenGL教程开始,它是最新的。您还需要安装XCode可能拥有的内容。教程中有有关如何在项目中安装Inlcude SDL的详细仪器。初始化并准备好使用后,您可以在此处找到许多一般的SDL教程,您可以专注于OpenGl上的SDLTUTEARIAL。

也许此SDL常见问题也可以有用。