C ++ OpenGL fstream问题[关闭]

Posted

技术标签:

【中文标题】C ++ OpenGL fstream问题[关闭]【英文标题】:C++ OpenGL fstream issue [closed] 【发布时间】:2012-11-25 17:20:41 【问题描述】:

我目前正在处理一个项目(c++),包括制作一个日志文件,其中包含使用 fstream 在编译和运行时收集的一些信息。在分别使用 GL_VENDOR/GL_VERSION/GL_RENDERER 的 glGetString() 命令时,流停止打印,因此我的日志文件在我使用这些命令中的任何一个时停止。信息在整个运行过程中直接打印在文件中。 OpenGL 版本已更新。

编辑: 样品: buildLog.open("Release/build.log"); buildLog

【问题讨论】:

这还不足以帮助解决这个问题。您需要提供演示问题的代码。 调用glGetString()时是否有当前的总帐上下文? @genpfault 啊,看来我一直在尝试在 GL 上下文之前执行此操作。发布后,现在一切都很好。谢谢! 【参考方案1】:

我还没有真正学习过 OpenGL,所以这有点推测,但我看到它返回一个 GLubyte *。也许有一个铸造问题。我还会尝试检查 fail/bad/eof 以查看它是否显示任何内容。

【讨论】:

我建议例如glGet_String_(GL_VENDOR) 将分别返回一个字符串值。 我不太确定你的意思,但我认为字符串应该可以工作。使用流(如 ostream)也可以设置 bad/fail/eof 标志。以我的经验,一旦设置好,在调用 clear() 之前,没有读/写文件起作用。 (在这种情况下, .clear() )因此,在它之后调用 clear 有帮助吗?另外,我会尝试检查标志,这就是我想到的。如果这些都不能回答问题,我不确定你的评论是什么意思。我认为这意味着选角不是问题。 原来是在 GL 上下文本身之前调用它。现在都整理好了。谢谢! 我看到了关于有效 GL 上下文的评论,但不确定。听起来像在没有人的情况下调用它会返回一个空指针。我的猜测是,在 是的,我想它不能处理它。谢谢!【参考方案2】:

glGetString() 需要(与大多数 OpenGL 函数一样)当前的 GL 上下文才能正常工作。

【讨论】:

以上是关于C ++ OpenGL fstream问题[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 4 标头 [关闭]

c ++ opengl我如何制作着色器文件并在主cpp中使用它[关闭]

OpenGL的C ++奇怪的访问冲突[关闭]

关闭 fstream 是不是保证文件系统同步?

如何与opengl并行运行程序[关闭]

fstream包含ofstream和ifstream的所有内容? [关闭]