| // 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; |
| }; |