예제 #1
0
 private MaterialNodeClassLoader()
 {
     manager = new ShaderSourceManager();
     manager.LookupDirectoryList.Add(EffectCompilerBase.DefaultSourceShaderFolder);
     logger = new SiliconStudio.Shaders.Utility.LoggerResult();
     loader = new ShaderLoader(manager);
 }
 private MaterialNodeClassLoader()
 {
     manager = new ShaderSourceManager();
     manager.LookupDirectoryList.Add(EffectCompilerBase.DefaultSourceShaderFolder);
     logger = new SiliconStudio.Shaders.Utility.LoggerResult();
     loader = new ShaderLoader(manager);
 }
예제 #3
0
        public void Init()
        {
            // Create and mount database file system
            var objDatabase = ObjectDatabase.CreateDefaultDatabase();
            var databaseFileProvider = new DatabaseFileProvider(objDatabase);
            ContentManager.GetFileProvider = () => databaseFileProvider;

            manager = new ShaderSourceManager();
            manager.LookupDirectoryList.Add("shaders");
            logger = new SiliconStudio.Shaders.Utility.LoggerResult();
            loader = new ShaderLoader(manager);
        }
예제 #4
0
        public void Init()
        {
            // Create and mount database file system
            var objDatabase = new ObjectDatabase("/data/db", "index", "/local/db");
            var databaseFileProvider = new DatabaseFileProvider(objDatabase);
            AssetManager.GetFileProvider = () => databaseFileProvider;

            manager = new ShaderSourceManager();
            manager.LookupDirectoryList.Add("shaders");
            logger = new SiliconStudio.Shaders.Utility.LoggerResult();
            loader = new ShaderLoader(manager);
        }
예제 #5
0
        public void TestLoadAst()
        {
            var log = new LoggerResult();

            var simple = shaderLoader.LoadClassSource(new ShaderClassSource("Simple"), new SiliconStudio.Shaders.Parser.ShaderMacro[0], log, false)?.Type;

            Assert.That(simple.Members.Count, Is.EqualTo(1));

            var simple2 = shaderLoader.LoadClassSource(new ShaderClassSource("Simple"), new SiliconStudio.Shaders.Parser.ShaderMacro[0], log, false)?.Type;

            // Make sure that a class is not duplicated in memory
            Assert.That(ReferenceEquals(simple, simple2), Is.True);
        }
예제 #6
0
        public void Init()
        {
            // Create and mount database file system
            var objDatabase          = ObjectDatabase.CreateDefaultDatabase();
            var databaseFileProvider = new DatabaseFileProvider(objDatabase);

            ContentManager.GetFileProvider = () => databaseFileProvider;

            manager = new ShaderSourceManager();
            manager.LookupDirectoryList.Add("shaders");
            logger = new SiliconStudio.Shaders.Utility.LoggerResult();
            loader = new ShaderLoader(manager);
        }
예제 #7
0
        public void TestLoadAst()
        {
            var log = new LoggerResult();

            var simple = shaderLoader.LoadClassSource(new ShaderClassSource("Simple"), new SiliconStudio.Shaders.Parser.ShaderMacro[0], log, false);

            Assert.That(simple.Members.Count, Is.EqualTo(1));

            var simple2 = shaderLoader.LoadClassSource(new ShaderClassSource("Simple"), new SiliconStudio.Shaders.Parser.ShaderMacro[0], log, false);

            // Make sure that a class is not duplicated in memory
            Assert.That(ReferenceEquals(simple, simple2), Is.True);
        }
예제 #8
0
        public void Init()
        {
            // Create and mount database file system
            var objDatabase          = new ObjectDatabase("/data/db", "index", "/local/db");
            var databaseFileProvider = new DatabaseFileProvider(objDatabase);

            AssetManager.GetFileProvider = () => databaseFileProvider;

            manager = new ShaderSourceManager();
            manager.LookupDirectoryList.Add("shaders");
            logger = new SiliconStudio.Shaders.Utility.LoggerResult();
            loader = new ShaderLoader(manager);
        }