1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2018 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Worker // Based on Hello_Triangle.c from
8*8975f5c5SAndroid Build Coastguard Worker // Book: OpenGL(R) ES 2.0 Programming Guide
9*8975f5c5SAndroid Build Coastguard Worker // Authors: Aaftab Munshi, Dan Ginsburg, Dave Shreiner
10*8975f5c5SAndroid Build Coastguard Worker // ISBN-10: 0321502795
11*8975f5c5SAndroid Build Coastguard Worker // ISBN-13: 9780321502797
12*8975f5c5SAndroid Build Coastguard Worker // Publisher: Addison-Wesley Professional
13*8975f5c5SAndroid Build Coastguard Worker // URLs: http://safari.informit.com/9780321563835
14*8975f5c5SAndroid Build Coastguard Worker // http://www.opengles-book.com
15*8975f5c5SAndroid Build Coastguard Worker
16*8975f5c5SAndroid Build Coastguard Worker #include "SampleApplication.h"
17*8975f5c5SAndroid Build Coastguard Worker #include "util/shader_utils.h"
18*8975f5c5SAndroid Build Coastguard Worker
19*8975f5c5SAndroid Build Coastguard Worker class GLES1HelloTriangleSample : public SampleApplication
20*8975f5c5SAndroid Build Coastguard Worker {
21*8975f5c5SAndroid Build Coastguard Worker public:
GLES1HelloTriangleSample(int argc,char ** argv)22*8975f5c5SAndroid Build Coastguard Worker GLES1HelloTriangleSample(int argc, char **argv)
23*8975f5c5SAndroid Build Coastguard Worker : SampleApplication("GLES1HelloTriangle", argc, argv, ClientType::ES1)
24*8975f5c5SAndroid Build Coastguard Worker {}
25*8975f5c5SAndroid Build Coastguard Worker
initialize()26*8975f5c5SAndroid Build Coastguard Worker bool initialize() override
27*8975f5c5SAndroid Build Coastguard Worker {
28*8975f5c5SAndroid Build Coastguard Worker glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
29*8975f5c5SAndroid Build Coastguard Worker
30*8975f5c5SAndroid Build Coastguard Worker return true;
31*8975f5c5SAndroid Build Coastguard Worker }
32*8975f5c5SAndroid Build Coastguard Worker
draw()33*8975f5c5SAndroid Build Coastguard Worker void draw() override
34*8975f5c5SAndroid Build Coastguard Worker {
35*8975f5c5SAndroid Build Coastguard Worker GLfloat vertices[] = {
36*8975f5c5SAndroid Build Coastguard Worker 0.0f, 0.5f, 0.0f, -0.5f, -0.5f, 0.0f, 0.5f, -0.5f, 0.0f,
37*8975f5c5SAndroid Build Coastguard Worker };
38*8975f5c5SAndroid Build Coastguard Worker
39*8975f5c5SAndroid Build Coastguard Worker glViewport(0, 0, getWindow()->getWidth(), getWindow()->getHeight());
40*8975f5c5SAndroid Build Coastguard Worker glClear(GL_COLOR_BUFFER_BIT);
41*8975f5c5SAndroid Build Coastguard Worker
42*8975f5c5SAndroid Build Coastguard Worker glEnableClientState(GL_VERTEX_ARRAY);
43*8975f5c5SAndroid Build Coastguard Worker glVertexPointer(3, GL_FLOAT, 0, vertices);
44*8975f5c5SAndroid Build Coastguard Worker
45*8975f5c5SAndroid Build Coastguard Worker glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
46*8975f5c5SAndroid Build Coastguard Worker
47*8975f5c5SAndroid Build Coastguard Worker glDrawArrays(GL_TRIANGLES, 0, 3);
48*8975f5c5SAndroid Build Coastguard Worker }
49*8975f5c5SAndroid Build Coastguard Worker };
50*8975f5c5SAndroid Build Coastguard Worker
main(int argc,char ** argv)51*8975f5c5SAndroid Build Coastguard Worker int main(int argc, char **argv)
52*8975f5c5SAndroid Build Coastguard Worker {
53*8975f5c5SAndroid Build Coastguard Worker GLES1HelloTriangleSample app(argc, argv);
54*8975f5c5SAndroid Build Coastguard Worker return app.run();
55*8975f5c5SAndroid Build Coastguard Worker }
56