aboutsummaryrefslogtreecommitdiff
path: root/src/scene-ideas/e.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene-ideas/e.cc')
-rw-r--r--src/scene-ideas/e.cc139
1 files changed, 139 insertions, 0 deletions
diff --git a/src/scene-ideas/e.cc b/src/scene-ideas/e.cc
new file mode 100644
index 0000000..2330468
--- /dev/null
+++ b/src/scene-ideas/e.cc
@@ -0,0 +1,139 @@
+/*
+ * Vertex position data describing the letter 'e'
+ *
+ * (c) Copyright 1993, Silicon Graphics, Inc.
+ * Copyright © 2012 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:
+ * Jesse Barker
+ */
+#include "characters.h"
+
+using LibMatrix::vec2;
+
+LetterE::LetterE()
+{
+ // Vertex data...
+ vertexData_.push_back(vec2(1.095436, 6.190871));
+ vertexData_.push_back(vec2(2.107884, 6.970954));
+ vertexData_.push_back(vec2(2.556017, 7.020747));
+ vertexData_.push_back(vec2(3.020747, 7.867220));
+ vertexData_.push_back(vec2(3.518672, 8.033195));
+ vertexData_.push_back(vec2(3.269710, 8.531120));
+ vertexData_.push_back(vec2(4.165975, 8.929461));
+ vertexData_.push_back(vec2(3.302905, 9.062241));
+ vertexData_.push_back(vec2(4.331950, 9.626556));
+ vertexData_.push_back(vec2(3.286307, 9.344398));
+ vertexData_.push_back(vec2(4.116183, 9.958507));
+ vertexData_.push_back(vec2(3.004149, 9.510373));
+ vertexData_.push_back(vec2(3.518672, 9.991701));
+ vertexData_.push_back(vec2(2.705394, 9.493776));
+ vertexData_.push_back(vec2(2.091286, 9.311203));
+ vertexData_.push_back(vec2(2.041494, 9.062241));
+ vertexData_.push_back(vec2(1.178423, 8.514523));
+ vertexData_.push_back(vec2(1.443983, 8.165976));
+ vertexData_.push_back(vec2(0.481328, 7.535270));
+ vertexData_.push_back(vec2(1.045643, 6.904564));
+ vertexData_.push_back(vec2(0.149378, 6.091286));
+ vertexData_.push_back(vec2(1.095436, 5.410789));
+ vertexData_.push_back(vec2(0.464730, 4.232365));
+ vertexData_.push_back(vec2(1.377593, 4.497925));
+ vertexData_.push_back(vec2(1.261411, 3.136930));
+ vertexData_.push_back(vec2(1.925311, 3.950207));
+ vertexData_.push_back(vec2(2.240664, 3.037344));
+ vertexData_.push_back(vec2(2.589212, 3.834025));
+ vertexData_.push_back(vec2(3.087137, 3.269710));
+ vertexData_.push_back(vec2(3.236515, 3.867220));
+ vertexData_.push_back(vec2(3.684647, 3.867220));
+ vertexData_.push_back(vec2(3.867220, 4.448133));
+ vertexData_.push_back(vec2(4.398340, 5.128631));
+
+ // Index data...
+ indexData_.push_back(0);
+ indexData_.push_back(1);
+ indexData_.push_back(2);
+ indexData_.push_back(3);
+ indexData_.push_back(4);
+ indexData_.push_back(5);
+ indexData_.push_back(6);
+ indexData_.push_back(7);
+ indexData_.push_back(8);
+ indexData_.push_back(9);
+ indexData_.push_back(10);
+ indexData_.push_back(11);
+ indexData_.push_back(12);
+ indexData_.push_back(13);
+ indexData_.push_back(14);
+ indexData_.push_back(15);
+ indexData_.push_back(16);
+ indexData_.push_back(17);
+ indexData_.push_back(18);
+ indexData_.push_back(19);
+ indexData_.push_back(20);
+ indexData_.push_back(21);
+ indexData_.push_back(22);
+ indexData_.push_back(23);
+ indexData_.push_back(24);
+ indexData_.push_back(25);
+ indexData_.push_back(26);
+ indexData_.push_back(27);
+ indexData_.push_back(28);
+ indexData_.push_back(29);
+ indexData_.push_back(30);
+ indexData_.push_back(31);
+ indexData_.push_back(32);
+ indexData_.push_back(0);
+ indexData_.push_back(2);
+ indexData_.push_back(4);
+ indexData_.push_back(6);
+ indexData_.push_back(8);
+ indexData_.push_back(10);
+ indexData_.push_back(12);
+ indexData_.push_back(14);
+ indexData_.push_back(16);
+ indexData_.push_back(18);
+ indexData_.push_back(20);
+ indexData_.push_back(22);
+ indexData_.push_back(24);
+ indexData_.push_back(26);
+ indexData_.push_back(28);
+ indexData_.push_back(30);
+ indexData_.push_back(32);
+ indexData_.push_back(31);
+ indexData_.push_back(29);
+ indexData_.push_back(27);
+ indexData_.push_back(25);
+ indexData_.push_back(23);
+ indexData_.push_back(21);
+ indexData_.push_back(19);
+ indexData_.push_back(17);
+ indexData_.push_back(15);
+ indexData_.push_back(13);
+ indexData_.push_back(11);
+ indexData_.push_back(9);
+ indexData_.push_back(7);
+ indexData_.push_back(5);
+ indexData_.push_back(3);
+ indexData_.push_back(1);
+
+ // Primitive state so that the draw call can issue the primitives we want.
+ unsigned int curOffset(0);
+ primVec_.push_back(PrimitiveState(GL_TRIANGLE_STRIP, 33, curOffset));
+ curOffset += (33 * sizeof(unsigned short));
+ primVec_.push_back(PrimitiveState(GL_LINE_STRIP, 33, curOffset));
+}