Exemplo n.º 1
0
 public void SetShaderProgram(IPlatformShaderProgram program)
 {
     if (shaderProgram != program)
     {
         shaderProgram      = (PlatformShaderProgram)program;
         shaderProgramDirty = true;
     }
 }
Exemplo n.º 2
0
        private void Create()
        {
            var platformShaders = shaders.Select(i => i.GetPlatformShader()).ToArray();

            platformProgram = PlatformRenderer.Context.CreateShaderProgram(platformShaders, attribLocations, samplers);
            uniforms        = ReflectUniforms().OrderBy(i => i.SortingKey).ToArray();
            paramsToSync    = new ShaderParam[uniforms.Length];
            boundParams     = new BoundShaderParam[uniforms.Length];
        }
Exemplo n.º 3
0
 private void DisposeInternal()
 {
     if (platformProgram != null)
     {
         var platformProgramCopy = platformProgram;
         Window.Current.InvokeOnRendering(() => {
             platformProgramCopy.Dispose();
         });
         platformProgram = null;
     }
 }