Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/rocket3/src/libraries/tools/bsp/OgreGpuCommandBufferFlush.h @ 7144

Last change on this file since 7144 was 7073, checked in by landauf, 14 years ago

merged fps branch to presentation3

  • Property svn:eol-style set to native
File size: 906 bytes
Line 
1#ifndef __GPUCOMMANDBUFFERFLUSH_H__
2#define __GPUCOMMANDBUFFERFLUSH_H__
3
4#include "OgrePrerequisites.h"
5#include "OgreFrameListener.h"
6
7namespace Ogre
8{
9       
10        /** Helper class which can assist you in making sure the GPU command
11                buffer is regularly flushed, so in cases where the CPU is outpacing the
12                GPU we do not hit a situation where the CPU suddenly has to stall to
13                wait for more space in the buffer.
14        */
15        class GpuCommandBufferFlush : public FrameListener
16        {
17        protected:
18                bool mUseOcclusionQuery;
19                typedef std::vector<HardwareOcclusionQuery*> HOQList;
20                HOQList mHOQList;
21                size_t mMaxQueuedFrames;
22                size_t mCurrentFrame;
23                bool mStartPull;
24                bool mStarted;
25
26        public:
27                GpuCommandBufferFlush();
28                virtual ~GpuCommandBufferFlush();
29
30                void start(size_t maxQueuedFrames = 2);
31                void stop();
32                bool frameStarted(const FrameEvent& evt);
33                bool frameEnded(const FrameEvent& evt);
34
35        };
36
37
38}
39
40
41#endif
42
43
Note: See TracBrowser for help on using the repository browser.