草庐IT

c++ - Windows 上的 CMake - 使用导入的目标 OpenGL::GLU 时 FindOpenGL.cmake 中的错误?

所以我尝试在Windows上使用cmake来构建OpenGL应用程序,但我在链接到GLU时遇到了问题。具体来说,我正在使用cmake3.11的FindOpenGL.cmake尝试引入OpenGL::GLU作为导入目标,因为我想使用“现代”cmake最佳实践。我的CMakeLists.txt有这个部分:find_package(OpenGLREQUIRED)if(NOTTARGETOpenGL::GLU)message(FATAL_ERROR"GLUcouldnotbefound")endif(NOTTARGETOpenGL::GLU)message(STATUS"glu:${OPENG

c++ - 按住时键盘输入犹豫?

有谁知道为什么在按住键盘键并尝试处理时会有些犹豫?我正在我的WinProc(...)中调用一个函数,当按下某个键时,该函数将在屏幕(OpenGL)上移动图像。我按下它并得到一个单一的响应,然后有大约0.5秒没有任何反应,然后它表现正常(每个WinMain循环移动1个像素)。我想知道是否由于我需要禁用某些功能而导致Windows消息以某种方式延迟???这是我的代码:intWINAPIWinMain(HINSTANCEhinstance,HINSTANCEhprevinstance,LPSTRlpcmdline,intnshowcmd){boolquit=false;MSGmsg;crea

c++ - 可缩放和平移的易于使用的 GUI?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在寻找易于使用且跨平台的GUI工具包。GUI的另一个主要要求是它应该支持缩放和平移。例如,我应该能够放大图片和放大按钮。是这样的:http://eaglemode.sourceforge.net/video.html但它应该也有Windows支持(据我所知EagleMode没有)。据我所知,QT是一个很好的UI,它可以直接在OGL窗口的顶部绘制。我认为它在绘制按钮

windows - 为 OpenGL 渲染枚举设备和显示模式

我目前正在编写一个OpenGL渲染器,并且正在编写一些类来枚举在下拉列表中使用的显示适配器、设备和模式。我正在使用EnumDisplayDevices获取适配器,然后为每个设备获取EnumDisplaySettings,为我提供bpp、宽度、高度和刷新率。但是我不确定如何找出哪些模式可用全屏(在DEVMODE结构中似乎没有它的标志)。我可以假设列出的所有模式原则上都可以全屏实例化吗?作为后续问题,这种设备枚举方法通常是在Windows上获取所需信息的最佳方式吗? 最佳答案 OpenGL在窗口模式和全屏模式之间没有这种区别。如果您希望

windows - 如果您使用使用 OpenGL 的库,您在 Windows PC 上需要什么?

我正在考虑将3D功能添加到我的应用程序中。为此,我可能会使用QtOpenGl库,但尚不完全清楚这是否需要在我客户的PC上进行任何特殊操作。我的客户需要OpenGL视频卡吗?我的客户需要OpenGL驱动程序吗?是否需要最低Windows版本?或者是否需要在客户的PC上安装其他东西(除了Qt本身)还是开箱即用?谢谢 最佳答案 WillmycustomersneedanOpenGLvideocard?不一定,总有软件光栅化器回退。WillmycustomersneedanOpenGLdriver?最好。但总有软件光栅化器回退。Isamin

c++ - OpenGL 不让我画东西

我的代码中出现了这个奇怪的错误,它不允许我绘制任何东西...voidrender(void){glClear(GL_COLOR_BUFFER_BIT);glLineWidth(4.0);glPointSize(4.0);glColor3i(0,1,1);glBegin(GL_POINTS);glVertex2i(0,0);glVertex2i(2,2);glVertex2i(3,3);glEnd();glutSwapBuffers();}intmain(intargc,char**argv){intLargura,Altura;//widthLargura=(abs(Plano::Mi

c++ - 在 AMD CCC 中启用 OpenGL 三重缓冲 + vsync 会破坏我们的应用程序

我们有一个用C++编写的桌面Windows应用程序,它使用OpenGL渲染View。在某些AMD卡上,如果您打开CatalystControlCenter并强制启用三重缓冲和垂直同步,它会破坏我们的应用程序:根本没有任何渲染,它只是一个灰色屏幕(在其他一些驱动程序版本上,它会在创建时崩溃而不是上下文)。关闭三重缓冲或V-sync将其恢复正常。我们使用wglSwapIntervalEXT在我们的应用程序中启用垂直同步。认为它可能会冲突,我删除了它的代码;没有变化。这绝对是一个驱动程序错误,还是我们必须做一些不同的事情来处理三重缓冲? 最佳答案

windows - wglCreateContext 抛出 INVALID_OPERATION 异常

假设我有COpenGLControlclassdownloadedherefromcodeguru假设thefirsteventhandlerrunnedwhencreatingtheOpenGLwindowisOnCreate,我试图catch这个类的错误。下面是用于在我的对话框的.h和.cpp文件中创建窗口的代码:MyOpenGLTestDlg.hCOpenGLControlm_oglWindow;MyOpenGLTestDlg.cppCRectrect;//GetsizeandpositionofthepicturecontrolGetDlgItem(ID_OPENGL)->Ge

c++ - 为什么在三角形带opengl中使用z坐标

我刚刚开始使用openGL,这是我从一本书中自学的。在我的书中,我被告知要使用三角形strip构建四边形,因为它更有效。本书使用这些顶点来创建四边形。vertices.push_back(-0.5f);vertices.push_back(0.0f);vertices.push_back(0.0f);vertices.push_back(0.5f);vertices.push_back(0.0f);vertices.push_back(0.0f);vertices.push_back(-0.5f);vertices.push_back(0.0f);vertices.push_back(

c++ - 为什么我无法在 Windows 上使用 GLFW 创建窗口?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎离题,因为它缺乏足够的信息来诊断问题。更详细地描述您的问题或includeaminimalexample在问题本身。关闭8年前。Improvethisquestion如果有人能告诉我这里的问题是什么,我会很高兴:intmain(){glfwWindowHint(GLFW_SAMPLES,4);glfwWindowHint(GLFW_VERSION_MAJOR,3);glfwWindowHint(GLFW_VERSION_MINOR,3);glfwWindowHint(GLFW_OPENGL