// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; using osu.Framework.Graphics.Shaders; using osu.Framework.Graphics.Sprites; using osu.Framework.Platform; namespace osu.Framework.Graphics.Video { /// /// A sprite which holds a video with a custom conversion matrix. /// internal class VideoSprite : Sprite { private readonly Video video; public VideoSprite(Video video) { this.video = video; } [BackgroundDependencyLoader] private void load(GameHost gameHost, ShaderManager shaders) { TextureShader = shaders.Load(VertexShaderDescriptor.TEXTURE_2, FragmentShaderDescriptor.VIDEO); RoundedTextureShader = shaders.Load(VertexShaderDescriptor.TEXTURE_2, FragmentShaderDescriptor.VIDEO_ROUNDED); } protected override DrawNode CreateDrawNode() => new VideoSpriteDrawNode(video); } }