Hello,
This version of my program works perfect. It gets shaders from strings:
string vShaderSource =
"#version 330
" +
"in vec4 a_Position;
" +
"void main() {
" +
"gl_Position = a_Position;
" +
"}
";
string fShaderSource =
"#version 330
" +
"out vec4 outColor;
" +
"void main() {
" +
"outColor = vec4(1.0, 0.0, 0.0, 1.0);
" +
"}
";
Screenshot
Download the Project: Triangle_StringShaders.zip
But when I want to load shaders from files I receive the error, see Screenshot
Download the Project: Triangle_FileShaderError.zip
string vShaderSource = null;
string fShaderSource = null;
// ...
private void renderCanvas_Load(object sender, EventArgs e)
{
// ...
// Load shaders from files
LoadShader("./Shaders/vShader.glsl", out vShaderSource);
LoadShader("./Shaders/fShader.glsl", out fShaderSource);
if (vShaderSource == null || fShaderSource == null)
{
File.AppendAllText(infoFileName, "Failed to load shaders from files");
return;
}
// ...
}
private void LoadShader(string fileName, out string shaderSource)
{
shaderSource = null;
using (StreamReader sr = new StreamReader(fileName))
{
shaderSource = sr.ReadToEnd();
}
}