source: nanovis/trunk/PerfQuery.cpp @ 5717

Last change on this file since 5717 was 3611, checked in by ldelgass, 11 years ago

Use nv namespace for classes in nanovis rather than prefixing class names with
Nv (still need to convert shader classes).

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * ----------------------------------------------------------------------
4 * PerfQuery.cpp: performance query class
5 *
6 * ======================================================================
7 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
8 *           Purdue Rendering and Perceptualization Lab (PURPL)
9 *
10 *  Copyright (c) 2004-2013  HUBzero Foundation, LLC
11 *
12 *  See the file "license.terms" for information on usage and
13 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 * ======================================================================
15 */
16#include <assert.h>
17
18#include "PerfQuery.h"
19
20using namespace nv;
21
22PerfQuery::PerfQuery()
23{
24    glGenQueriesARB(1, &id);
25    pixel = 0;
26}
27
28PerfQuery::~PerfQuery()
29{
30    glDeleteQueriesARB(1, &id);
31}
32
33//There can only be one active query at any given moment
34void PerfQuery::enable()
35{
36    glBeginQueryARB(GL_SAMPLES_PASSED_ARB, id);
37}
38
39void PerfQuery::disable()
40{
41    glEndQueryARB(GL_SAMPLES_PASSED_ARB);
42
43    GLuint count;
44    glGetQueryObjectuivARB(id, GL_QUERY_RESULT_ARB, &count);
45
46    //accumulate pixel count count
47    pixel += count;
48}
Note: See TracBrowser for help on using the repository browser.