Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: gpu/demos/simple_vertex_shader/main.cc

Issue 542120: Converted all demos to use gpu::demos::Example base class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gpu/demos/simple_texture_cubemap/main.cc ('k') | gpu/demos/stencil_test/main.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This is a simple example that draws a single triangle with 5 // This is a simple example that draws a single triangle with
6 // a minimal vertex/fragment shader. The purpose of this 6 // a minimal vertex/fragment shader. The purpose of this
7 // example is to demonstrate the basic concepts of 7 // example is to demonstrate the basic concepts of
8 // OpenGL ES 2.0 rendering. 8 // OpenGL ES 2.0 rendering.
9 9
10 #include "gpu/demos/app_framework/application.h" 10 #include "gpu/demos/gles2_book/example.h"
11 #include "third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShad er.h" 11 #include "third_party/gles2_book/Chapter_8/Simple_VertexShader/Simple_VertexShad er.h"
12 12
13 namespace gpu_demos { 13 namespace gpu {
14 class SimpleVertexShader : public Application { 14 namespace demos {
15 public: 15 namespace gles2_book {
16 SimpleVertexShader(); 16 typedef Example<SVSUserData,
17 ~SimpleVertexShader(); 17 svsInit,
18 18 svsUpdate,
19 bool Init(); 19 svsDraw,
20 20 svsShutDown> SimpleVertexShader;
21 protected: 21 } // namespace gles2_book
22 virtual void Draw(float elapsed_sec); 22 } // namespace demos
23 23 } // namespace gpu
24 private:
25 ESContext context_;
26 SVSUserData user_data_;
27
28 DISALLOW_COPY_AND_ASSIGN(SimpleVertexShader);
29 };
30
31 SimpleVertexShader::SimpleVertexShader() {
32 esInitContext(&context_);
33
34 memset(&user_data_, 0, sizeof(SVSUserData));
35 context_.userData = &user_data_;
36 }
37
38 SimpleVertexShader::~SimpleVertexShader() {
39 svsShutDown(&context_);
40 }
41
42 bool SimpleVertexShader::Init() {
43 if (!Application::InitRenderContext()) return false;
44
45 context_.width = width();
46 context_.height = height();
47 if (!svsInit(&context_)) return false;
48
49 return true;
50 }
51
52 void SimpleVertexShader::Draw(float elapsed_sec) {
53 svsUpdate(&context_, elapsed_sec);
54
55 svsDraw(&context_);
56 }
57 } // namespace gpu_demos
58 24
59 int main(int argc, char *argv[]) { 25 int main(int argc, char *argv[]) {
60 gpu_demos::SimpleVertexShader app; 26 gpu::demos::gles2_book::SimpleVertexShader demo;
61 if (!app.Init()) { 27 CHECK(demo.Init());
62 printf("Could not init.\n");
63 return EXIT_FAILURE;
64 }
65 28
66 app.MainLoop(); 29 demo.MainLoop();
67 return EXIT_SUCCESS; 30 return EXIT_SUCCESS;
68 } 31 }
OLDNEW
« no previous file with comments | « gpu/demos/simple_texture_cubemap/main.cc ('k') | gpu/demos/stencil_test/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698