Как эффективно использовать отладчик NVIDIA Nsight Graphics? - PullRequest
0 голосов
/ 26 апреля 2019

Я скачал отладчик nsid Graphics от nvidia, чтобы понять, как работает графический отладчик. Сначала я думал, что могу видеть различные значения моих переменных в моих шейдерах, но у меня есть ощущение, что это не работает совсем как отладчик процессора.

Действительно, я действительно не понимаю полезности графического отладчика. Я знаю, что могу видеть состояния и мои вызовы в drawsCalls с моими аргументами (видя значение в аргументах).

Я также вижу используемые шейдеры и редактирую шейдеры.

Но я не вижу значений, которые я использую в шейдере. Как я могу отладить, не зная значения? Есть ли способ отобразить или увидеть значения, используемые в шейдерах?

Я пытался отобразить значения в шейдерах (но что-то напечатать невозможно) ... Я немного растерялся ...

Например:

  1. Мой вершинный шейдер: поэтому я восстанавливаю vertexColor из своего куба, который храню в фрагменте ColourColor.

    #version 330 core
    
    // Input vertex data, different for all executions of this shader.
    layout(location = 0) in vec3 vertexPosition_modelspace;
    layout (location = 1) in vec3 vertexColor;
    
    out vec3 fragmentColor;
    //Values that stay constant for the whole mesh.
    uniform mat4 MVPSQUARE;
    
    void main(){
    
        //Output position of the vertex, in clip space : MVPSQUARE * position
        gl_Position =  MVPSQUARE * vec4(vertexPosition_modelspace,1);
        fragmentColor = vertexColor;
    
    }
    
  2. Тогда мой фрагментShader:

    #version 330 core
    
    // Input data
    in vec3 fragmentColor;
    
    //Output data
    out vec3 color;
    
    void main()
    {
        color = fragmentColor; // I know that this line is useless but for example here I would like to know the value of my fragmentColor
        color = vec3(1, 0, 0);
    }
    

Позволяет ли отладчик отображать значение (в момент T) моего фрагмента Color? Можно ли использовать альтернативу для использования значения?

...