fna-workbench

fna-workbench Git Source Tree


Root/src/Graphics/OcclusionQuery.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#region License
/* FNA - XNA4 Reimplementation for Desktop Platforms
 * Copyright 2009-2016 Ethan Lee and the MonoGame Team
 *
 * Released under the Microsoft Public License.
 * See LICENSE for details.
 */
#endregion
 
#region Using Statements
using System;
#endregion
 
namespace Microsoft.Xna.Framework.Graphics
{
    public class OcclusionQuery : GraphicsResource
    {
        #region Public Properties
 
        public bool IsComplete
        {
            get
            {
                return GraphicsDevice.GLDevice.QueryComplete(query);
            }
        }
 
        public int PixelCount
        {
            get
            {
                return GraphicsDevice.GLDevice.QueryPixelCount(query);
            }
        }
 
        #endregion
 
        #region Private OpenGL Variables
 
        private IGLQuery query;
 
        #endregion
 
        #region Public Constructor
 
        public OcclusionQuery(GraphicsDevice graphicsDevice)
        {
            GraphicsDevice = graphicsDevice;
            query = GraphicsDevice.GLDevice.CreateQuery();
        }
 
        #endregion
 
        #region Protected Dispose Method
 
        protected override void Dispose(bool disposing)
        {
            if (!IsDisposed)
            {
                GraphicsDevice.GLDevice.AddDisposeQuery(query);
            }
            base.Dispose(disposing);
        }
 
        #endregion
 
        #region Public Begin/End Methods
 
        public void Begin()
        {
            GraphicsDevice.GLDevice.QueryBegin(query);
        }
 
        public void End()
        {
            GraphicsDevice.GLDevice.QueryEnd(query);
        }
 
        #endregion
    }
}

Archive Download this file

Branches

Number of commits:
Page rendered in 0.19249s using 11 queries.