diff options
author | alokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-14 01:08:54 +0000 |
---|---|---|
committer | alokp@chromium.org <alokp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-14 01:08:54 +0000 |
commit | d8c0ef76d07d5973d2a2354a410e31170aa4d73d (patch) | |
tree | cac01ff409d725a996ab344bb0a8cbb78d6af527 /gpu | |
parent | c40acc381fce1ac7f58975d45bd88e26a5e4a973 (diff) | |
download | chromium_src-d8c0ef76d07d5973d2a2354a410e31170aa4d73d.zip chromium_src-d8c0ef76d07d5973d2a2354a410e31170aa4d73d.tar.gz chromium_src-d8c0ef76d07d5973d2a2354a410e31170aa4d73d.tar.bz2 |
Added mip-mapping demo.
BUG=26099
TEST=Run mip_map_2d executable. You should see two quads with checker-board pattern. The left will exhibit aliasing but right one will be anti-aliased.
Review URL: http://codereview.chromium.org/542067
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36209 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/demos/demos.gyp | 11 | ||||
-rw-r--r-- | gpu/demos/mip_map_2d/main.cc | 64 |
2 files changed, 75 insertions, 0 deletions
diff --git a/gpu/demos/demos.gyp b/gpu/demos/demos.gyp index 43ecb50..a7596c1 100644 --- a/gpu/demos/demos.gyp +++ b/gpu/demos/demos.gyp @@ -35,6 +35,17 @@ ], }, { + 'target_name': 'mip_map_2d', + 'type': 'executable', + 'dependencies': [ + 'app_framework', + '../../third_party/gles2_book/gles2_book.gyp:mip_map_2d', + ], + 'sources': [ + 'mip_map_2d/main.cc', + ], + }, + { 'target_name': 'simple_vertex_shader', 'type': 'executable', 'dependencies': [ diff --git a/gpu/demos/mip_map_2d/main.cc b/gpu/demos/mip_map_2d/main.cc new file mode 100644 index 0000000..6fa9bed --- /dev/null +++ b/gpu/demos/mip_map_2d/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 a simple example that demonstrates generating a mipmap chain +// and rendering with it. + +#include "gpu/demos/app_framework/application.h" +#include "third_party/gles2_book/Chapter_9/MipMap2D/MipMap2D.h" + +namespace gpu_demos { +class MipMap2D : public Application { + public: + MipMap2D(); + ~MipMap2D(); + + bool Init(); + + protected: + virtual void Draw(float); + + private: + ESContext context_; + MMUserData user_data_; + + DISALLOW_COPY_AND_ASSIGN(MipMap2D); +}; + +MipMap2D::MipMap2D() { + esInitContext(&context_); + + memset(&user_data_, 0, sizeof(MMUserData)); + context_.userData = &user_data_; +} + +MipMap2D::~MipMap2D() { + mmShutDown(&context_); +} + +bool MipMap2D::Init() { + if (!Application::InitRenderContext()) return false; + + context_.width = width(); + context_.height = height(); + if (!mmInit(&context_)) return false; + + return true; +} + +void MipMap2D::Draw(float) { + mmDraw(&context_); +} +} // namespace gpu_demos + +int main(int argc, char *argv[]) { + gpu_demos::MipMap2D app; + if (!app.Init()) { + printf("Could not init.\n"); + return EXIT_FAILURE; + } + + app.MainLoop(); + return EXIT_SUCCESS; +} |