public override GlCallResult _glInitialise() { return(GlCall(() => { var assembly = Assembly.GetExecutingAssembly(); var vertexShaderResource = "Engine.Graphics.Shader.GLSL.vertex-shader.vert"; var fragmentShaderResource = "Engine.Graphics.Shader.GLSL.fragment-shader.frag"; Turpgine.Logger.Log(Level.Debug, "Loading resource '" + vertexShaderResource + "'."); var vertexShader = new Shader(this, StreamUtil.ReadStringStream( assembly.GetManifestResourceStream(vertexShaderResource)), "vertex-shader.vert", ShaderType.VertexShader); Turpgine.Logger.Log(Level.Debug, "Loading resource '" + fragmentShaderResource + "'."); var fragmentShader = new Shader(this, StreamUtil.ReadStringStream( assembly.GetManifestResourceStream(fragmentShaderResource)), "fragment-shader.frag", ShaderType.FragmentShader); var shaderProgram = new ShaderProgram(this, vertexShader, fragmentShader); Add(shaderProgram); GlUse(shaderProgram); })); }