/* * 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: * Alexandros Frantzis (glmark2) * Jesse Barker */ #include "scene.h" #include "log.h" #include "mat.h" #include "options.h" #include "stack.h" #include "shader-source.h" #include "util.h" #include "gl-headers.h" #include <cmath> /*********************** * Wave implementation * ***********************/ /** * A callback used to set up the grid by the Wave class. * It is called for each "quad" of the grid. */ static void wave_grid_conf(Mesh &mesh, int x, int y, int n_x, int n_y, LibMatrix::vec3 &ul, LibMatrix::vec3 &ll, LibMatrix::vec3 &ur, LibMatrix::vec3 &lr) { … } /** * Renders a grid mesh modulated by a sine wave */ class WaveMesh { … }; /****************************** * SceneBuffer implementation * ******************************/ struct SceneBufferPrivate { … }; SceneBuffer::SceneBuffer(Canvas &pCanvas) : … { … } SceneBuffer::~SceneBuffer() { … } bool SceneBuffer::supported(bool show_errors) { … } bool SceneBuffer::load() { … } void SceneBuffer::unload() { … } bool SceneBuffer::setup() { … } void SceneBuffer::teardown() { … } void SceneBuffer::update() { … } void SceneBuffer::draw() { … } Scene::ValidationResult SceneBuffer::validate() { … }