// Copyright 2017 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. library fuchsia.ui.gfx; // These are all of the types of parameters that can be set to configure a // |Renderer|. union RendererParam { ShadowTechnique shadow_technique; RenderFrequency render_frequency; }; // Represents the shadow algorithm that the |Renderer| should use when lighting // the scene. enum ShadowTechnique { // No shadows. UNSHADOWED = 0; // Default. Screen-space, depth-buffer based shadows; SSDO-ish. SCREEN_SPACE = 1; // Basic shadow map. SHADOW_MAP = 2; // Moment shadow map (see http://momentsingraphics.de). MOMENT_SHADOW_MAP = 3; }; enum RenderFrequency { // Render only on when requested (i.e. when something triggers it). // Default behavior. WHEN_REQUESTED = 0; // Render one frame after another regardless of it it's needed. CONTINUOUSLY = 1; };