问题标签 [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 投票
2 回答
4891 浏览

c++ - OpenGL 3.1 照明搞砸了,使用 phong 着色

经过许多痛苦的小时试图弄清楚为什么我的照明搞砸了,我仍然不知所措。

OpenGL 法线是正确的(背面剔除不会导致我的任何三角形消失)

我计算我的法线以便对照明进行插值,同一面上的所有三角形也具有相同的法线。

如果有人有任何想法,将不胜感激。

我绝对是 OpenGL 的新手,所以这在我的代码中有点明显。 不正确的照明

这是我的着色器:

  • 顶点着色器

    /li>
  • 和 fragmentShader,使用 phong 着色

    /li>

还有一些......

还有一些…………

和主要......

0 投票
2 回答
1836 浏览

opengl - freeglut 的 glutStrokeString 给出“未找到笔画字体错误”

我正在尝试glutStrokeString使用freeglut。该程序运行良好,直到它必须调用glutStrokeString,然后它输出控制台freeglut stroke font not found

知道为什么吗?

0 投票
1 回答
8253 浏览

c++ - OpenGL,如何设置 GLSL 版本?

我的系统使用 freeglut 的 OpenGL 和 GLSL 的默认版本是 4.1,同样使用 glew,它的初始化、着色器编译和链接以及执行都没有问题。

当我没有指定 glutInitContextVersion、glutInitContextFlags 或 glutInitContextProfile 时,会出现此默认版本,然后我的着色器工作正常。

不管我是否支持这个版本,我都想提供一个 3.3 的替代方案。当我使用指定 3.3 版本的 glut 上下文时,应用程序启动时没有错误,glew 不会抱怨。我的着色器假设使用 GLSL 3.3 版本,然后我设置了行

但是当我的着色器被编译时,OpenGL 抱怨一个无效的枚举消息。我尝试删除此行或将其设置为另一个版本,但仍然出现相同的错误。正确完成所有初始化后,我要求 OpenGL 版本,我得到了正确的 3.3,但对于 GLSL 版本,我仍然得到默认的 4.1。

如果正确,请纠正我,我猜这个版本被着色器代码中的版本行覆盖。我想知道是否也有机会初始化指定 GLSL 版本的上下文?

0 投票
3 回答
802 浏览

c++ - OpenGL给出无效的图像格式

我有一个来自 opengl 的无效图像格式错误。我不确定是因为我使用了预编译的头文件,还是我没有正确初始化 OpenGL。据我所知,我没有使用 C++/CLI(我选择在 VC++ Express 2010 中创建一个空项目)。我正在运行 Windows7 (x64),我的错误代码是0xc000007b.

这在OpenGL中很常见吗?我也在使用 Glew 和 Freeglut。

奇怪的是我根本没有尝试渲染图像或任何东西。我只是想让一个窗口出现。

编码

还很有趣的是,我如何从中得到一个糟糕的图像格式。我已经检查以确保我的版本也在 IDE 中进行调试。

问题

如果可能的话,我的主要问题是确切地知道我做错了什么。

更新

我尝试移动glew32.dllSysWOW64,不幸的是这没有奏效。我还尝试了将我的draw_window函数移到 main 顶部的建议,但这也不起作用。

0 投票
5 回答
20858 浏览

c++ - freeglut.dll 丢失

我正在阅读 OpenGl 超棒的书,在第一个三角形程序上它不会运行。该程序编译得很好,但是当我运行它时,它给了我错误消息 freeglut.dll is missing from your computer。我下载了它并把它放在正确的目录中,它说MSVCR71.dll丢失了,所以我下载了它并将它放在正确的目录中,它开始说“程序入口点__glutCreateWindowWithExit不能位于动态中链接库 freeglut.dll。” 有谁知道我做错了什么?我听从了书中告诉我的所有指示。

0 投票
2 回答
5564 浏览

opengl - 在存在 ModelView 转换的情况下调用 glRasterPos2i 和 glutBitmapString

我试图在我正在渲染的 3D 纹理之上显示一个文本覆盖(基本上是一个显示我的键盘快捷键的帮助屏幕)。纹理效果很好,我为用户提供了一些东向使用的旋转和平移。

我的想法是使用

正如如何在 C++ 中使用 glutBitmapString() 将文本绘制到屏幕中所建议的那样?.

这很好用,只是文本现在随对象旋转,而不是保持在屏幕上的静态位置。我阅读了一些文档,发现当您操作模型视图矩阵时会操作 glRasterPos 函数:

glRasterPos 呈现的对象坐标就像 glVertex 命令一样处理:它们由当前模型视图和投影矩阵转换并传递到裁剪阶段。

-来源

然后我通过另一篇文章发现,您可以使用 glPushMatrix 和 glPopMatrix 推送和弹出当前矩阵。

-来源

当我这样做时,文本会一起消失。起初我以为文本的坐标可能有误,但我以 0.01 的间隔尝试了 x=y=0 到 x=y=25,但从未看到文本。我仍然可能误解了应该在哪里绘制,但我不确定接下来要尝试什么。

我的绘图功能正在调用类似于:

任何人都对调试/故障排除步骤有任何建议,以尝试将此文本显示在屏幕上的单个静态位置?

0 投票
1 回答
1506 浏览

menu - GLUT:在运行时添加菜单项

我有一个添加和操作对象的场景(我正在制作渲染器)。

我希望我添加的每个相机/对象都出现在子菜单上。我正在使用freeglut。

我目前只调用 initMenu() 函数,它创建菜单,每次我添加或删除一个对象时,它会在我的对象数据库上运行一个循环。但它非常慢。

0 投票
1 回答
896 浏览

c - Monodevelop 和 GLUT 问题

我在使用 GLUT 和 monodevelop 时遇到问题。我使用以下代码:

我收到以下错误:

我在项目目录中有 freeglut.h 和 glew.h 并且我得到了这些错误。我不确定我缺少什么,但它必须是简单的。

0 投票
2 回答
6180 浏览

c++ - 在 Linux 中将 freeglut 与 Qt Creator 链接

我目前在我的笔记本电脑上运行 Arch Linux,并希望知道为什么 Qt Creator 没有找到我的 glut 库(存在于我的系统上)。

我的设置 qmake 文件如下所示:

当我运行 locate 时glut,我得到以下信息:

请注意,我也尝试过-lglut32在我的 qmake 文件中。

我在这里能错过什么?

0 投票
0 回答
1006 浏览

c++ - 使用 MinGW 在 Eclipse 中构建 box2d 测试平台应用程序

这篇文章:我如何构建 Box2D 以在 Code::Blocks/Mingw32(Windows) 中工作,这个网站:http ://www.transmissionzero.co.uk/computing/using-glut-with-mingw/帮助很大在我尝试使用 MinGW GCC 工具链和 Gnu Make 构建器从 Eclipse 中的源代码构建 Box2D 测试平台时,但我仍然在链接阶段遇到未定义的参考错误:

无论如何,我的库路径是相对的(../PhysInvent/libs),我引用的库列表按以下顺序排列:

在我上面链接的另一个问题中,Pwngulator 声明“AFAIK,没有办法使用 MinGW 编译测试平台(我相信你必须使用 Visual Studio)”这让我觉得很奇怪,因为源都存在;只要你有源代码,你不应该可以在任何地方构建它吗?

有没有人使用 MinGW 在 Eclipse 中成功构建了 Box2D 测试平台?有人可以提供对上述链接器错误的见解吗?

谢谢,CCJ