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; Compiler = new EffectCompiler(); Compiler.SourceDirectories.Add("shaders"); MixinParameters = new ShaderMixinParameters(); MixinParameters.Add(CompilerParameters.GraphicsPlatformKey, GraphicsPlatform.Direct3D11); MixinParameters.Add(CompilerParameters.GraphicsProfileKey, GraphicsProfile.Level_11_0); ResultLogger = new LoggerResult(); }
/// <inheritdoc/> public override void Load() { base.Load(); useMultipleRenderTargets = GraphicsDevice.Features.Profile >= GraphicsProfile.Level_10_0; for (var maxBlendCount = 2; maxBlendCount < 5; ++maxBlendCount) { var compilerParameter = new CompilerParameters(); var compilerParameterChild = new ShaderMixinParameters[maxBlendCount]; for (var i = 0; i < maxBlendCount; ++i) { var param = new ShaderMixinParameters(); param.Add(CubemapBlendRenderer.CubemapKey, GetTextureCubeKey(i)); compilerParameterChild[i] = param; } compilerParameter.Set(CubemapBlendRenderer.Cubemaps, compilerParameterChild); compilerParameter.Set(CubemapBlendRenderer.CubemapCount, maxBlendCount); compilerParameter.Set(CubemapBlendRenderer.UseMultipleRenderTargets, useMultipleRenderTargets); cubemapBlendEffects.Add(maxBlendCount, EffectSystem.LoadEffect("CubemapBlendEffect", compilerParameter)); } }