public static ISurfaceShader LoadShaderProgram(string vspath, string fspath) { var program = GraphicsHelper.loadShaderProgram(vspath, fspath); #if DEBUG var refresher = new ShaderProgramRefresher(program); GraphicsHelper.subscribeToShaderChanges(vspath, fspath, refresher); return(refresher); #endif return(program); }
public ShaderRefreshContainer(string vspath, string fspath, ShaderProgramRefresher refresher) { this.vs = new FileRefreshInfo(Settings.Content.Shaders.ShaderRefreshPathPrefix + vspath); this.fs = new FileRefreshInfo(Settings.Content.Shaders.ShaderRefreshPathPrefix + fspath); this.refresher = refresher; }
private static void subscribeToShaderChanges(string vspath, string fspath, ShaderProgramRefresher refresher) { GraphicsHelper.refreshableShaders.Add(new ShaderRefreshContainer(vspath, fspath, refresher)); }