/// <summary> /// /// </summary> /// <returns></returns> public ShaderProgram GetShaderProgram() { var program = new ShaderProgram(); program.Initialize(shaders); return(program); }
/// <summary> /// /// </summary> /// <returns></returns> public ShaderProgram GetShaderProgram() { if (this.program == null) { var program = new ShaderProgram(); if (this.feedbackVaryings != null) { program.Initialize(this.feedbackVaryings, this.mode, this.shaders); } else { program.Initialize(this.shaders); } this.program = program; } return(this.program); }
/// <summary> /// Creates a shader program object by a single shader. /// </summary> /// <param name="shaderCode"></param> /// <returns></returns> public static ShaderProgram CreateProgram(this ShaderCode shaderCode) { var program = new ShaderProgram(); Shader shader = shaderCode.CreateShader(); program.Initialize(shader); shader.Dispose(); return(program); }
/// <summary> /// /// </summary> public static ShaderProgram GetHighlightShaderProgram() { var shaderCodes = new ShaderCode[2]; shaderCodes[0] = new ShaderCode(GetShaderSource(ShaderType.VertexShader), ShaderType.VertexShader); shaderCodes[1] = new ShaderCode(GetShaderSource(ShaderType.FragmentShader), ShaderType.FragmentShader); var shaderProgram = new ShaderProgram(); shaderProgram.Initialize((from item in shaderCodes select item.CreateShader()).ToArray()); return shaderProgram; }
/// <summary> /// /// </summary> public static ShaderProgram GetHighlightShaderProgram() { var shaderCodes = new ShaderCode[2]; shaderCodes[0] = new ShaderCode(GetShaderSource(ShaderType.VertexShader), ShaderType.VertexShader); shaderCodes[1] = new ShaderCode(GetShaderSource(ShaderType.FragmentShader), ShaderType.FragmentShader); var shaderProgram = new ShaderProgram(); shaderProgram.Initialize((from item in shaderCodes select item.CreateShader()).ToArray()); return(shaderProgram); }
/// <summary> /// Creates a shader program by multiple shaders. /// </summary> /// <param name="shaderCodes"></param> /// <returns></returns> public static ShaderProgram CreateProgram(this ShaderCode[] shaderCodes) { var program = new ShaderProgram(); Shader[] shaders = (from item in shaderCodes select item.CreateShader()).ToArray(); program.Initialize(shaders); foreach (Shader item in shaders) { item.Dispose(); } return(program); }
/// <summary> /// /// </summary> /// <returns></returns> public ShaderProgram GetShaderProgram() { var program = new ShaderProgram(); program.Initialize(shaders); return(program); //return this.shaderCodes.CreateProgram(); //if (this.program == null) //{ // this.program = this.shaderCodes.CreateProgram(); // this.shaderCodes = null; //} //return this.program; }
/// <summary> /// Creates a shader program object by a single shader. /// </summary> /// <param name="shaderCode"></param> /// <returns></returns> public static ShaderProgram CreateProgram(this ShaderCode shaderCode) { var program = new ShaderProgram(); Shader shader = shaderCode.CreateShader(); program.Initialize(shader); shader.Dispose(); return program; }
/// <summary> /// Creates a shader program by multiple shaders. /// </summary> /// <param name="shaderCodes"></param> /// <returns></returns> public static ShaderProgram CreateProgram(this ShaderCode[] shaderCodes) { var program = new ShaderProgram(); Shader[] shaders = (from item in shaderCodes select item.CreateShader()).ToArray(); program.Initialize(shaders); foreach (Shader item in shaders) { item.Dispose(); } return program; }