I’m experiencing a problem with glslDevil when I try to debug my shaders. I’m making a game with LWJGL, but I can’t debug the shaders with glslDevil. The problem is that I can’t attach glslDevil to the program. Isn’t it just possible with LWJGL, or am I doing something wrong?
tryed all different OpenGL debuggers a while back and didn’t get any to run with Java
I’ve never had to use much more than checking if the GL_COMPILE_STATUS equals zero and then printing out glGetShaderInfoLog. Not sure why one would need a debugger, I don’t need one even with the largest of my shaders.
These debuggers have a huge amount of features which can be very helpful.
- profile your opengl calls. report unnecessary or costly calls, tell you which render calls took the longest
- let you investigate why your screen is black. look at the current geometry, matrices …
- show active textures and state
- explain why some pixel has this specific color
tools:
http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/
http://developer.amd.com/tools-and-sdks/graphics-development/gpu-perfstudio-2/
Thanks for the replies.
Do you think those tools will work?
I got glslDevil linked, but it crashes my game.
W! Program Start
| wglCreateContext(0601201B)
| wglGetCurrentDC()
| wglGetCurrentContext()
| wglMakeCurrent(0601201B, 00010000)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglGetCurrentDC()
| wglGetExtensionsStringARB(0601201B)
| wglMakeCurrent(00000000, 00000000)
| wglMakeCurrent(0601201B, 00010000)
| glGetString(GL_VERSION)
| glGetIntegerv(UNKNOWN ENUM!, 063FE6E8)
E! Child process exited
W! Program termination forced!
Any ideas how to fix this? The game works when I just open it normally.