private static string TransformTemplate( string filePath, NumDefine[] defines, PasteToken[] attributeTypes ) { var debug = new InfoSinkBase(SinkType.String); var info = new InfoSinkBase(SinkType.String); var infoSink = new InfoSink(info, debug); var intermediate = new GLSLIntermediate(); var symbols = new SymbolLookup(); symbols.SetPreambleManually(Profile.CoreProfile); foreach (var x in defines) { symbols.DefineAs(x.Name, x.Value); } foreach (var t in attributeTypes) { symbols.AddPasteToken(t.Name, t.Value); } var preprocessor = new Standalone(infoSink, intermediate, symbols); preprocessor.Run(filePath, out string result); return(result); }
static Standalone InitialisePreprocessor(InfoSink infoSink) { var intermediate = new GLSLIntermediate(); var symbols = new SymbolLookup(); symbols.SetPreambleManually(Profile.CoreProfile); symbols.DefineAs("GL_ARB_shader_storage_buffer_object", 1); return(new Standalone(infoSink, intermediate, symbols)); }
public void TestCase() { var debug = new InfoSinkBase(SinkType.String); var info = new InfoSinkBase(SinkType.String); var infoSink = new InfoSink(info, debug); var intermediate = new GLSLIntermediate(); var symbols = new SymbolLookup(); symbols.SetPreambleManually(Profile.CoreProfile); symbols.DefineAs("GL_ARB_shader_storage_buffer_object", 1); var preprocessor = new Standalone(infoSink, intermediate, symbols); string result; Assert.IsTrue(preprocessor.Run("Sample.vert", out result)); Assert.IsNotNull(result); }