草庐IT

c++ - 如何在不终止应用程序的情况下关闭 GLUT 窗口?

我用QtCreator(OSUbuntu13.04)创建了一个应用程序。一个函数创建一个窗口并使用GLUT库绘制图形,图片是正确的。但是当我尝试关闭窗口并继续使用我的程序时,它终止了。我怎样才能避免这种情况?这是我的函数的代码:voidplot(intargc,char**argv,.../*otherarguments*/){glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGBA|GLUT_ALPHA);glutCreateWindow("GreenWindow");//somecode//...glutDisplayFunc(draw)

c++ - 在没有 SDL 或 GLUT 的情况下检测按键的最佳方法?

我最近通过C++使用OpenGL和GLUT创建了一个小型应用程序。一切都很好,然后我用帧率等实现了一个适当的游戏循环,这让很多事情变得更好,但它似乎也打破了常规的GLUT键盘检测(无论如何这对于游戏键盘输入来说似乎从来都不是很好)-所以现在我正在我的应用程序中寻找另一种键盘输入方法。谁能推荐任何其他(最好是相对简单的)检测应用程序中的关键输入的方法? 最佳答案 sonowI'mlookingforadecentmethodofkeyboardinputinmyapplication.不,您打算不再使用GLUT。至少在Windows上

c++ - 使用 GLUT 在 3D OpenGL 世界中显示固定位置的 2D 文本

我有一个OpenGL项目,它使用GLUT(不是freeglut),我想在固定位置的视口(viewport)上显示2D文本。我的其余对象都在3D世界坐标中。Thisanswer对一个相关的老问题说,thebitmapfontswhichshipwithGLUTaresimple2Dfontsandarenotsuitablefordisplayinsideyour3Denvironment.However,they'reperfectfortextthatneedstobeoverlayedonthedisplaywindow.我已经尝试了接受的答案中概述的方法,但它没有给我所需的输出。

c++ - 为什么 GLUT 如此糟糕?

尽管openFrameworks使用了GLUT,但我看到了很多不好的评论。Cinder开发人员表示他们希望尽可能远离GLUT...那么它有什么不好呢? 最佳答案 您永远不应该使用实际GLUT。自2001年左右以来,它就没有更新过。另一方面,FreeGLUT很好;它与原始版本100%向后兼容,并且仍处于半主动开发阶段。您可以假设此答案中对“GLUT”的任何进一步引用均表示“FreeGLUT”。Cinder开发人员不使用它的原因很明显:因为他们正在重写它的功能。他们正在编写GLUT的替代品。GLUT是围绕启动和运行应用程序而设计的。它旨

c++ - 删除 Glut/FreeGlut/GLFW 的控制台窗口?

在VisualC++下,我玩过Glut/FreeGlut/GLFW。似乎这些项目的每个人都默认添加了一个CMD窗口。我尝试将其删除:Properties->C/C++->Preprocessor->PreprocessorDefinitions从这里,我删除了_CONSOLE并将其替换为_WINDOWS然后我去了:Properties->Linker->System->SubSystem然后我将选项设置为Windows(/SUBSYSTEM:WINDOWS)然后当我尝试在GLFW下编译时,出现以下构建错误:错误1​​错误LNK2001:未解决外部符号_WinMain@16MSVCRT.

c++ - Ubuntu 13.10 C++ OpenGL GLUT - 链接问题 - 未定义对 `glClearColor' 的引用

我正在运行Ubuntu13.10并尝试编译那部分示例OpenGL代码:#include"GL/freeglut.h"#include"GL/gl.h"/*displayfunction-codefrom:http://fly.cc.fer.hr/~unreal/theredbook/chapter01.htmlThisistheactualusageoftheOpenGLlibrary.Thefollowingcodeisthesameforanyplatform*/voidrenderFunction(){glClearColor(0.0,0.0,0.0,0.0);glClear(G

c++ - OS X 上 Eclipse 中的 OpenGL 和 GLUT

我一直在尝试在OSX上使用CDT在Eclipse中设置OpenGL和GLUT库,但收效甚微。我似乎无法真正意识到GLUT在哪里。目前给我的错误是我有一个UnresolvedinclusionGL/glut.h。在线查看我发现我应该在gcc链接器设置中使用-frameworkGLUT标志,但这似乎无效。 最佳答案 好的。我让它在X11中工作。我只能让它在X11上运行的原因是因为操作系统上的OpenGL库似乎适用于64位架构,但如果我们使用32位架构,eclipse只会编译代码。也许如果这个问题得到解决,我们就可以使用OSX预安装的库。

c++ - opengl 3D 编程中的 SDL 与 GLUT

我正在开始一系列关于SDL的教程。在深入挖掘之前,我想知道SDL为我提供了哪些类型的控制来应对GLUT?此外,是否支持网络摄像头访问(用于面部跟踪或运动检测),或者最好通过OpenCV进行管理? 最佳答案 SDL和GLUT都没有任何网络摄像头功能。它们完全与网络摄像头无关。关于您的其他问题:GLUT未得到维护。十多年来,它没有看到任何更新。它已被FreeGLUT(二进制兼容的替代品)部分取代,但GLUT和FreeGLUT都不支持OpenGL3.0+。它们也不具备声音支持等功能。SDL和许多其他库(如GLFW、SFML等)支持较新版本

c++ - 使用 OpenGL/GLUT 如何检测是否同时按下两个键?

使用OpenGL/GLUT我如何检测两个键,比如“a”和“j”是否同时按下?(此程序需要使用OSXGCC、WindowsGCC、WindowsVS2005进行编译,因此请不要依赖操作系统。) 最佳答案 尝试以下操作:使用glutIgnoreKeyRepeat仅获取物理按键/按键事件使用glutKeyboardFunc注册监听按键事件的回调。使用glutKeyboardUpFunc注册监听按键事件的回调。创建一个boolkeystates[256]数组来存储键盘按键的状态。当通过keydown回调接收到事件时,设置keystates[

c++ - 使用 GLUT 使 OpenGL 窗口居中

我有一个640x480的openGL窗口,我需要将其居中放置在屏幕中间。我以前用过:glutInitWindowPosition((GetSystemMetrics(SM_CXSCREEN)-640)/2,(GetSystemMetrics(SM_CYSCREEN)-480)/2);有效。但是现在编译的时候突然...Linking...1>Project1.obj:errorLNK2028:unresolvedtoken(0A000372)"extern"C"int__stdcallGetSystemMetrics(int)"(?GetSystemMetrics@@$$J14YGHH@