blob: a103cf1b2ac7a9c6177add9dbb4f8d38c3cebb95 [file] [log] [blame]
// 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`.
type RendererParam = strict union {
1: shadow_technique ShadowTechnique;
@deprecated
2: reserved RenderFrequency; // No longer supported.
3: enable_debugging bool;
};
/// Represents the shadow algorithm that the `Renderer` should use when lighting
/// the scene.
type ShadowTechnique = strict enum {
/// 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;
/// Stencil shadow volume.
STENCIL_SHADOW_VOLUME = 4;
};
@deprecated
type RenderFrequency = strict enum {
WHEN_REQUESTED = 0;
CONTINUOUSLY = 1;
};