【问题标题】:C++ OpenGL fstream issue [closed]C ++ OpenGL fstream问题[关闭]
【发布时间】: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 上下文之前执行此操作。发布后,现在一切都很好。谢谢!

标签: c++ linux opengl


【解决方案1】:

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

【讨论】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    相关资源
    最近更新 更多