Jump to content


Member Since 23 Apr 2012
Offline Last Active May 16 2016 02:17 PM

#5151391 What's the Hot/New/Modern OpenGL Debugger/Profiler?

Posted by michalferko on 04 May 2014 - 04:38 AM

There's AMD's CodeXL: http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-tools-sdks/codexl/

CodeXL is a successor to gDEBugger and offers pretty much the same functionality with small updates. CodeXL works also on NVIDIA GPUs, but you cannot debug shaders etc.

Viewing buffer and texture contents works OK. It however does not support direct state access calls, which is a pain in the ass.


The second option is NVIDIA NSight. AFAIK it works only on NVIDIA GPUs (I don't have an AMD to test it), but works really great. 




Both support Visual Studio integration and both really help debugging. I myself consider NSight more mature and somewhat easier to work with.


There was a nice video about Nsight, I think this is it:

#5150932 image layouts in openGL compute shader

Posted by michalferko on 02 May 2014 - 09:17 AM

For int and uint layouts, you have to use the corresponding types, prefixed "i" and "u": https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt


So, if you use iimage1D, it will work.

rgba32ui -> uimage*D

rgba32f -> image*D

#5113961 Vertex Array Object + Direct State Access

Posted by michalferko on 03 December 2013 - 01:42 AM

These are described in the actual DSA extension: http://www.opengl.org/registry/specs/EXT/direct_state_access.txt

You can get arguments and their names from that site.


If you are unsure, the usual approach is that whatever you call in a Bind function (BindVertexArray, BindTexture) becomes the first parameters of the DSA call. The other parameters are then the exact same parameters that you would use in a non-DSA function. 


Also take a look at this: http://www.g-truc.net/post-0363.html


Keep in mind that when working with vertex array objects, there is one thing you cannot do with DSA and must use the old way: http://stackoverflow.com/questions/3776726/how-to-bind-a-element-buffer-array-to-vertex-array-object-using-direct-state-a

#5104621 GLSL - Can't replace gl_LightSource[0].position with uniform

Posted by michalferko on 26 October 2013 - 12:49 PM

What does "does not work well" mean? First of all, your commented line is multiplying the position in the wrong order (should be matrix first, then vector) since you are using column vectors (see the vertexpos line). Another problem with your line is that you are assigning a vec4 (the result of multiplying a 4x4 with a 4x1 vector) into a vec3 variable. This should not compile and you should check the shader info log.


If it's something else, we need more information before we can help you.

#5078905 Do you extend GLSL?

Posted by michalferko on 19 July 2013 - 06:55 AM

I am currently working on simplified GLSL effects, kinda like http://gleffect.sourceforge.net/ but much simpler and focused on GLSL 330 and higher. I am writing it myself to plug it into my engine, I didn't want the external dependencies that GLeffect! includes. I also wanted something that works perfectly with my engine.