Exemple #1
0
		public BaseRenderPass()
		{
            for (int i = 0; i < boneCache.Length; i++)
		    {
		        if ((i%16)%5 == 0) boneCache[i] = 1;
		    }
			shader = ShaderFactory.Create(File.OpenRead("../FX/skin.vert"), File.OpenRead("../FX/skin.frag"));
		}
 private static void Validate(Shader shader)
 {
     int result;
     GL.GetProgram(shader.ID, ProgramParameter.ValidateStatus, out result);
     if (result == 1) return;
     string slog, vlog, flog;
     GL.GetProgramInfoLog(shader.ID, out slog);
     GL.GetShaderInfoLog(shader.VertexHandle, out vlog);
     GL.GetShaderInfoLog(shader.FragmentHandle, out flog);
     throw new EngineException(string.Format("Shader linking failed: {0}\n{1}\n{2}", slog, vlog, flog));
 }
 private static Shader Compile(string vsData, string fsData)
 {
     var shader = new Shader();
     GL.ShaderSource(shader.VertexHandle, vsData);
     GL.ShaderSource(shader.FragmentHandle, fsData);
     GL.CompileShader(shader.VertexHandle);
     GL.CompileShader(shader.FragmentHandle);
     GL.AttachShader(shader.ID, shader.VertexHandle);
     GL.AttachShader(shader.ID, shader.FragmentHandle);
     GL.LinkProgram(shader.ID);
     return shader;
 }
Exemple #4
0
        public void Enable()
		{
			Current = this;
            GL.UseProgram(ID);
        }