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