Witam!

Aktualnie staram się poznać OpenGL, korzystam z tej serii poradników:

W odcinku z nadawaniem kolorów pojawił się problem: "System.NullReferenceException: „Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.”
Pojawia się w linii:

  program["projection_matrix"].SetValue(Matrix4.CreatePerspectiveFieldOfView(0.45f, (float)width / height, 0.1f, 1000f));

Sprawa pojawiała się w środku

public static string VertexShader = @"
#version 460

in vec3 vertexPosition;
in vec3 vertexColor;

out vec3 color;

uniform mat4 projection_matrix; //perspektywa itp
uniform mat4 view_matrix; //info o pozycji kamery
uniform mat4 model_matrix; // potrzebne do poruszania obiektami

void main(void)
{
    color = vertexColor;
    gl_Position = projection_matrix * view_matrix * model_matrix * vec4(vertexPosition, 1);
}
";
        public static string FragmentShader = @"
#version 460

in vec3 color;

void main(void)
{
    gl_FragColor = vec4(color, 1); 
}
";
    }
}

I rozumiem to tak, w wersji OpenGL 4.6 coś w tych funkcjach jest nullem. Dokładnie jest problem z out vec3 color; i/lub color = vertexColor;
Gdy zastosuje wszystko poniżej #version 460 -> działa.
Ale chciałbym wiedzieć, jak napisać ten sam kod Shaderów tylko w 4.6 by działał jak rozumiem na najnowszej bibliotece OpenGL.
Mógłby ktoś coś poradzić?
Z góry dziękuję! :)