As advertised, the Nsight graphics debugger requires Visual Studio C++. However, it turns out to work perfectly fine with Java/JOGL. You can still examine your shaders at runtime - such as seeing the current contents of your shader's uniform variables - and you can even see the C calls being made by your JOGL-wrapped program.
Nsight is only available if you have an NVIDIA graphics card. It won't work with an Intel or AMD graphics card.
Setting up Nsight for JOGL is surprisingly easy! Here are the steps:
NOTE -- we are NOT going to enter our Java source code into Visual Studio. Instead, we are going to run our already-compiled Java/JOGL program as an "external application", as shown in the following remaining steps:
C:\Program Files\Java\jdk1.8.0_101\bin\java.exeSecond, further down on the same pane, under "Launch Options", there is a line that says "Command line arguments:". In the box to the right of that, replace whatever is there with the command line arguments needed to run your Java/JOGL application. Each argument must be in its own set of quotations!! For example, if you usually run your program with a command such as:
java -Dsun.java2d.d3d=false code.Codethen the entry in the argument box would need to be:
"-Dsun.java2d.d3d=false" "code.Code"Note the sets of double quotes around EACH parameter, separately!
Third, further down on the same pane is a line that says "Working directory:".
In the box to the right of that, replace whatever is there with the path
to the directory from which you would execute the command to run your program
(i.e., the call to "java" shown immediately above).
For example, something like:
C:\Users\gordonvs\Documents\myGraphicsPrograms\2_4_cubesNote the box to the right of "Connection name:" probably says "localhost". Don't change that, leave that entry as it is.
Here is an example screenshot showing all three changes:
Let me know if my instructions (above) are missing any steps, or if there are any corrections needed, or if they would benefit from any other helpful hints.