RenderDoc未连接到OpenGL API

hivapdat  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(268)

RenderDoc能够在运行的应用程序中检测OpenGL API,但显示以下屏幕:

我已经更改了OpenGL上下文版本(从4.6到3.3),并启用了Core Profile,如下所示:

import Graphics.UI.GLUT

-- Other imports

main = do
  (_progName, _args) <- getArgsAndInitialize
  initialContextVersion $= (3, 3)
  initialContextProfile $= [CoreProfile]
  initialDisplayMode $= [DoubleBuffered]

-- Rendering code

这消除了一些警告,但RenderDoc仍然无法连接到API。
我使用freeglut.dll作为GLUT函数

mrfwxfqh

mrfwxfqh1#

默认情况下,haskell OpenGL包中的renderPrimitives使用glBegin和其他类似函数。要使用RenderDoc,您需要删除所有不支持的函数。
在我的例子中,我不得不删除glLoadIdentitiy(loadIdentity)、glFrustum(frustum)和renderPrimitives函数,并用着色器替换它们
另外,不要忘记RenderDoc需要上下文版本3.2+,所以你需要在代码中添加类似的东西(如果需要,更改主版本和次版本):

initialContextVersion $= (3, 3)

相关问题