source: nanovis/trunk/PerfQuery.cpp @ 5722

Last change on this file since 5722 was 3611, checked in by ldelgass, 6 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.