1 /*
2  * Copyright (C) 2013 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  * in compliance with the License. You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software distributed under the License
10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11  * or implied. See the License for the specific language governing permissions and limitations under
12  * the License.
13  */
14 #ifndef FULLPIPELINERENDERER_H
15 #define FULLPIPELINERENDERER_H
16 
17 #include <graphics/PerspectiveProgram.h>
18 #include <graphics/Matrix.h>
19 #include <graphics/Mesh.h>
20 #include <graphics/Renderer.h>
21 #include <graphics/ProgramNode.h>
22 
23 class FullPipelineRenderer: public Renderer {
24 public:
25     FullPipelineRenderer(ANativeWindow* window, bool offscreen);
~FullPipelineRenderer()26     virtual ~FullPipelineRenderer() {};
27     bool setUp(int workload);
28     bool tearDown();
29     void drawWorkload();
30 private:
31     Program* mProgram;
32     ProgramNode* mSceneGraph;
33     Matrix* mModelMatrix;
34     Matrix* mViewMatrix;
35     Matrix* mProjectionMatrix;
36     Mesh* mMesh;
37     GLuint mTextureId;
38 };
39 #endif
40