diff options
Diffstat (limited to 'gpu/demos')
-rw-r--r-- | gpu/demos/demos.gyp | 11 | ||||
-rw-r--r-- | gpu/demos/texture_wrap/main.cc | 64 |
2 files changed, 75 insertions, 0 deletions
diff --git a/gpu/demos/demos.gyp b/gpu/demos/demos.gyp index 14845ad..5aeaade 100644 --- a/gpu/demos/demos.gyp +++ b/gpu/demos/demos.gyp @@ -78,6 +78,17 @@ 'simple_vertex_shader/main.cc', ], }, + { + 'target_name': 'texture_wrap', + 'type': 'executable', + 'dependencies': [ + 'app_framework', + '../../third_party/gles2_book/gles2_book.gyp:texture_wrap', + ], + 'sources': [ + 'texture_wrap/main.cc', + ], + }, ] } diff --git a/gpu/demos/texture_wrap/main.cc b/gpu/demos/texture_wrap/main.cc new file mode 100644 index 0000000..8f240ed --- /dev/null +++ b/gpu/demos/texture_wrap/main.cc @@ -0,0 +1,64 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This is an example that demonstrates the three texture +// wrap modes available on 2D textures. + +#include "gpu/demos/app_framework/application.h" +#include "third_party/gles2_book/Chapter_9/TextureWrap/TextureWrap.h" + +namespace gpu_demos { +class TextureWrap : public Application { + public: + TextureWrap(); + ~TextureWrap(); + + bool Init(); + + protected: + virtual void Draw(float elapsed_sec); + + private: + ESContext context_; + TWUserData user_data_; + + DISALLOW_COPY_AND_ASSIGN(TextureWrap); +}; + +TextureWrap::TextureWrap() { + esInitContext(&context_); + + memset(&user_data_, 0, sizeof(TWUserData)); + context_.userData = &user_data_; +} + +TextureWrap::~TextureWrap() { + twShutDown(&context_); +} + +bool TextureWrap::Init() { + if (!Application::InitRenderContext()) return false; + + context_.width = width(); + context_.height = height(); + if (!twInit(&context_)) return false; + + return true; +} + +void TextureWrap::Draw(float /*elapsed_sec*/) { + twDraw(&context_); +} +} // namespace gpu_demos + +int main(int argc, char *argv[]) { + gpu_demos::TextureWrap app; + if (!app.Init()) { + printf("Could not init.\n"); + return EXIT_FAILURE; + } + + app.MainLoop(); + return EXIT_SUCCESS; +} |