module Graphics.LambdaCube.HardwareOcclusionQuery where

class HardwareOcclusionQuery a where
    beginOcclusionQuery :: a -> IO ()   -- ^ Starts the hardware occlusion query
    endOcclusionQuery   :: a -> IO ()   -- ^ Ends the hardware occlusion test.
    pullOcclusionQuery  :: a -> IO Int  -- ^ Pulls the hardware occlusion query.
    isStillOutstanding  :: a -> IO Bool -- ^ Lets you know when query is done, or still be processed by the Hardware.