chromium/third_party/angle/third_party/glmark2/src/src/scene.h

/*
 * Copyright © 2008 Ben Smith
 * Copyright © 2010-2011 Linaro Limited
 *
 * This file is part of the glmark2 OpenGL (ES) 2.0 benchmark.
 *
 * glmark2 is free software: you can redistribute it and/or modify it under the
 * terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * glmark2 is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * glmark2.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *  Ben Smith (original glmark benchmark)
 *  Alexandros Frantzis (glmark2)
 *  Marc Ordinas i Llopis, Collabora Ltd. (pulsar scene)
 *  Jesse Barker (glmark2)
 */
#ifndef GLMARK2_SCENE_H_
#define GLMARK2_SCENE_H_

#include "gl-headers.h"

#include "mesh.h"
#include "vec.h"
#include "program.h"

#include <math.h>

#include <string>
#include <map>
#include <list>
#include <vector>
#include "canvas.h"

/**
 * A configurable scene used for creating benchmarks.
 */
class Scene
{};

/*
 * Special Scene used for setting the default options
 */
class SceneDefaultOptions : public Scene
{};

class SceneBuild : public Scene
{};

class SceneTexture : public Scene
{};

class SceneShading : public Scene
{};

class SceneGrid : public Scene
{};

class SceneConditionals : public SceneGrid
{};

class SceneFunction : public SceneGrid
{};

class SceneLoop : public SceneGrid
{};

class SceneBump : public Scene
{};

class SceneEffect2D : public Scene
{};

class ScenePulsar : public Scene
{};

struct SceneDesktopPrivate;

class SceneDesktop : public Scene
{};

struct SceneBufferPrivate;

class SceneBuffer : public Scene
{};

class SceneIdeasPrivate;

class SceneIdeas : public Scene
{};

class SceneTerrainPrivate;

class SceneTerrain : public Scene
{};

class JellyfishPrivate;
class SceneJellyfish : public Scene
{};

class ShadowPrivate;
class SceneShadow : public Scene
{};

class RefractPrivate;
class SceneRefract : public Scene
{};

class SceneClear : public Scene
{};

#endif