protected override async Task LoadContent() { await base.LoadContent(); cubemapSpriteEffect = EffectSystem.LoadEffect("CubemapSprite").WaitForResult(); drawEffectContext = RenderContext.GetShared(Services); lamberFilter = new LambertianPrefilteringSH(drawEffectContext); renderSHEffect = new SphericalHarmonicsRendererEffect(); renderSHEffect.Initialize(drawEffectContext); spriteBatch = new SpriteBatch(GraphicsDevice); inputCubemap = Asset.Load <Texture>("CubeMap"); outputCubemap = Texture.NewCube(GraphicsDevice, 256, 1, PixelFormat.R8G8B8A8_UNorm, TextureFlags.RenderTarget | TextureFlags.ShaderResource).DisposeBy(this); displayedCubemap = outputCubemap; }