问题标签 [freeglut]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5209 浏览

opengl - 使用 glutStrokeString 而不是 glutBitmapString 时出现问题

我正在编写我的第一个 OpenGL 程序(在 C 中使用 freeglut)。我的显示函数中有以下代码,它运行良好并打印出灰色文本:

现在我想试试 glutStrokeString 而不是 glutBitmapString。在我对 API 的(谦虚)理解中,以下内容应该有效:

用这两行而不是 glutBitmapString 调用运行我的程序会在文本消失之前显示一次。此外,从那时起,我用 glutBitmapString 显示的所有文本也不起作用。我在这里想念什么?

0 投票
1 回答
498 浏览

c++ - 如果没有管理员权限,我应该在哪里留下 freeglut.dll?

我已经在Visual Studio 2008 中安装了freeglut 以使用openGL 进行开发。但是在构建后播放exe 时,找不到freeglut.dll。这是很合乎逻辑的,因为我没有把它放到 C:\Windows\System32 中。我不能,因为我不是管理员。

我现在想做的是将dll复制到输出文件夹中。我已经将 freeglut.dll 放入我的项目文件夹中,但没有将它添加到我的项目中。我应该以什么方式设置这个以在我的输出文件夹中获取 freeglut.dll?

提前致谢。

0 投票
2 回答
1097 浏览

opengl - Ubuntu 10.10 的 OpenGL 问题

当我尝试运行该程序时,它会启动,显示标题栏但什么都没有 - 它只停靠在底部任务行,当我单击它时 - 没有显示。该程序没有窗口。任何想法 ?这是使用 OpenGL 的代码:

0 投票
4 回答
3669 浏览

c++ - 来自对象的freeglut中的回调函数

我正在使用 MSVC++ 和 freeglut 来使用 openGL。现在,我有一个名为 的类Camera,它非常简单,但它也包含用于重塑我的窗口的功能。

我的问题是:如何glutReshapeFunc(void (*callback)(int,int))在相机中设置我的功能?

由于编译器错误,我有以下代码不起作用:

我的 Camera 类在Camera.h中看起来像这样:

也许这只是一个更一般的回调问题,但我在互联网上发现的唯一一件事就是围绕回调创建一些包装类。但看起来这应该不是那么难。提前致谢。

0 投票
4 回答
20769 浏览

c++ - 关闭 FreeGLUT 最好的方法是什么?

我真的很难用 FreeGLUT 关闭我的控制台应用程序。

我想知道最好的方法是采取一切可能的关闭方式,因为我不想要任何内存泄漏(我很害怕那些)。

所以我已经尝试了以下方法,这给了我这样的例外:

myProject.exe 中 0x754e6a6f 处的第一次机会异常:0x40010005:Control-C。

所以正确的是:

  1. 关闭过剩之窗
  2. 关闭控制台应用程序x
  3. 用我的键盘管理器关闭我的过剩窗口if(keyboardManager->isKeyDown[27]) glutExit();

出问题的是:

  1. 使用 CTRL+C 关闭控制台应用程序,它会从上面给出异常。

这是在 Visual Studio 2008 C++ 中。

更新

我发现抛出了异常,因为我在调试。所以这不会是一个问题。但问题仍然悬而未决:真正关闭过剩的最优雅方式是什么?

atexit()似乎也可以,所以也许我可以使用它?

0 投票
2 回答
1255 浏览

c++ - 在多个文件中使用 Glew

不知何故,我无法在多个头文件中获得 Glew。它只是抱怨 Gl 在 GLEW 之前已经定义。

简而言之,我有以下文件结构:

  1. Program.h
    包括<GL/glew.h><GL/freeglut.h>"SceneManager.h"
  2. SceneManager.h
    包括:"GameObject.h"
  3. GameObject.h
    包括:<GL/glew.h>, <GL/freeglut.h>.

我确实知道 freeglut 在 glew 前面,但我想拥有GL_BGR扩展名。

我如何也可以glew.h在 GameObject 中获得?

0 投票
1 回答
1247 浏览

opengl - OpenGL粒子系统

我正在尝试使用 OpenGL 模拟粒子系统,但我无法让它工作,这就是我目前所拥有的:

几秒钟后我得到一个黑色窗口(该窗口之前只有标题栏)。我哪里错了?

LE:每个粒子的x和y坐标在区间(0,size)内

0 投票
1 回答
3474 浏览

c++ - glu.h 问题!

好的,所以我在 Windows 7 上设置了 Visual Studios C++ 10,这样我就可以运行这本书“OpenGL superbible 第 5 版”中的示例程序,但我遇到了一些主要问题,在获取 GLTools 和 freeglut 时:
这是我设置所有内容的方法到目前为止............

拳头按照我上网的这些步骤:

首先你要下载 glut 或 freeglut,然后解压它。
- 我从http://www.starstonesoftware.com/OpenGL/的 zip 文件中得到这个

在 freeglut 文件夹中应该有一个名为 VisualStudio2008 的文件夹,进入该文件夹。

应该有一个名为 freeglut 的 VS 项目文件,如果出现转换窗口,请运行它并单击完成。然后编译它,如果它完成后它说无法启动,这没关系。

现在在同一个文件夹中应该有一个名为 Debug 的新文件夹,因为您刚刚将 freeglut 编译到它:)。

在里面你会发现freeglut.dll。这需要分别进入您的 system32 文件夹或 SysWOW64 文件夹。

除此之外,还有一个名为 freeglut 的文件,其类型将是 Object File Library。这需要进入 Visual Studio 中的 lib 文件夹。

现在回到主 freeglut 文件夹。应该有一个名为 Include 的文件夹。在这里面有一个叫做 GL 的文件夹和两个文件。这些需要复制到 Visual Studio 中的 Include 文件夹中。

lib 和 Include 文件夹位于主 Visual Studio 文件夹中的 VC 文件夹内,对我来说是 Microsoft Visual Studio 10.0 。

那里:)。`

然后我按照以下步骤设置 GLTools 和 freeglut:

这需要计算机上的管理员权限。

一世。将所有 freeglut 头文件(以 .h 结尾)复制到文件夹:C:\Program Files\Microsoft Visual Studio 10.0\VC\include\GL\

ii. 将所有 GLTools 头文件(以 .h 结尾)复制到 C:\Program Files\Microsoft Visual Studio 10.0\VC\include\

iii. 将所有 freeglut 和 GLTools 库文件(以 .lib 结尾)文件复制到 C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\

iv. 即使您已经将 GLTools.lib 复制到 lib 文件夹中,您可能仍然需要告诉 VS2010 在编译项目时使用 GLTools.lib 文件。从菜单选项 View → Property Manager 打开 Property Manager(您需要一个打开的项目来执行此操作)。VS IDE 的左侧窗格将更改为显示属性管理器。您可以调整它的大小以使其更具可读性。如果未显示完整列表,请展开项目,然后双击 Microsoft.Cpp.Win32.user 链接之一以打开用户属性对话框。在 Property Manager 中,选择 Linker → Input,然后单击 Additional Dependencies(见下文)。在弹出的对话框中添加“GLTools.lib”,我还添加了feeglut_static.lib!

好吧,最后这是我要运行的代码:

最后,这是我收到的错误:

错误 C1003:错误计数超过 100;停止编译

这会永远持续下去,我不知道怎么会出现这样的问题,以及为什么它会在 GLU.h 中发生!我真的不确定出了什么问题,我已经有这个问题一周了......请帮助=)

谢谢,如有任何问题,请随时提出!

0 投票
3 回答
1749 浏览

c++ - 在 Glut 显示函数中使用对象

我在使用过剩 DisplayFunction 中的对象时遇到问题。

建模.cpp

过剩显示函数(显示函数);glutIdleFunc(DisplayFunction);

这行不通。我知道我可以将 DisplayFunction 声明为静态成员,但这不允许我使用 Cam 对象,知道吗?

谢谢 !!!

0 投票
4 回答
2643 浏览

c++ - 关于如何使用 OpenGL/GLUT 对建筑物建模的想法?

我是图形新手,我必须为仅使用 GLUT 或 OpenGL 的任务制作建筑物模型。

基本上要制作校舍的模型(只有外部部分),我不知道从哪里开始。到目前为止,我已经绘制了多边形,其他使用 GLUT 的形状,没有任何有多个形状的东西。到目前为止,所有的绘图都是使用线、点、多边形和数学。

你能给我一个想法吗?

更新:我只想知道我可以遵循哪些步骤来完成它。一些参考链接会很棒!