コード例 #1
0
bool AbstractQuery::resultAvailable() {
    GLuint result;
#ifndef MAGNUM_TARGET_GLES2
    glGetQueryObjectuiv(_id, GL_QUERY_RESULT_AVAILABLE, &result);
#else
    glGetQueryObjectuivEXT(_id, GL_QUERY_RESULT_AVAILABLE_EXT, &result);
#endif
    return result == GL_TRUE;
}
コード例 #2
0
template<> UnsignedInt AbstractQuery::result<UnsignedInt>() {
    UnsignedInt result;
#ifndef MAGNUM_TARGET_GLES2
    glGetQueryObjectuiv(_id, GL_QUERY_RESULT, &result);
#else
    glGetQueryObjectuivEXT(_id, GL_QUERY_RESULT_EXT, &result);
#endif
    return result;
}
コード例 #3
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::pullOcclusionQuery( unsigned int* NumOfFragments ) 
{
    if(getGLSupport()->checkExtension("GL_EXT_occlusion_query_boolean") || gleswIsSupported(3, 0))
    {
        OGRE_CHECK_GL_ERROR(glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_EXT, (GLuint*)NumOfFragments));
        mPixelCount = *NumOfFragments;
        return true;
    }
    else
        return false;
}
コード例 #4
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::pullOcclusionQuery( unsigned int* NumOfFragments ) 
{
#ifdef GL_EXT_occlusion_query_boolean
    glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_EXT, (GLuint*)NumOfFragments);
    GL_CHECK_ERROR;
    mPixelCount = *NumOfFragments;
    return true;
#else
	return false;
#endif
}
コード例 #5
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::pullOcclusionQuery( unsigned int* NumOfFragments ) 
{
#ifdef GL_EXT_occlusion_query_boolean
    OGRE_IF_IOS_VERSION_IS_GREATER_THAN(5.0)
        OGRE_CHECK_GL_ERROR(glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_EXT, (GLuint*)NumOfFragments));
    mPixelCount = *NumOfFragments;
    return true;
#else
	return false;
#endif
}
コード例 #6
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::isStillOutstanding(void)
{    
    GLuint available = GL_FALSE;

    if(getGLSupport()->checkExtension("GL_EXT_occlusion_query_boolean") || gleswIsSupported(3, 0))
    {
        OGRE_CHECK_GL_ERROR(glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_AVAILABLE_EXT, &available));
    }

	// GL_TRUE means a wait would occur
    return !(available == GL_TRUE);  
} 
コード例 #7
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::isStillOutstanding(void)
{    
    GLuint available = GL_FALSE;

#ifdef GL_EXT_occlusion_query_boolean
    glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_AVAILABLE_EXT, &available);
    GL_CHECK_ERROR;
#endif

	// GL_TRUE means a wait would occur
    return !(available == GL_TRUE);  
} 
コード例 #8
0
//------------------------------------------------------------------
bool GLES2HardwareOcclusionQuery::isStillOutstanding(void)
{    
    GLuint available = GL_FALSE;

#ifdef GL_EXT_occlusion_query_boolean
    OGRE_IF_IOS_VERSION_IS_GREATER_THAN(5.0)
        OGRE_CHECK_GL_ERROR(glGetQueryObjectuivEXT(mQueryID, GL_QUERY_RESULT_AVAILABLE_EXT, &available));
#endif

	// GL_TRUE means a wait would occur
    return !(available == GL_TRUE);  
} 
コード例 #9
0
ファイル: Query.cpp プロジェクト: severin-lemaignan/magnum
template<> UnsignedInt AbstractQuery::result<UnsignedInt>() {
    CORRADE_ASSERT(!target, "AbstractQuery::result(): the query is currently running", {});

    /** @todo Re-enable when extension loader is available for ES */
    UnsignedInt result;
    #ifndef MAGNUM_TARGET_GLES2
    glGetQueryObjectuiv(_id, GL_QUERY_RESULT, &result);
    #elif defined(CORRADE_TARGET_NACL)
    glGetQueryObjectuivEXT(_id, GL_QUERY_RESULT_EXT, &result);
    #else
    CORRADE_INTERNAL_ASSERT(false);
    #endif
    return result;
}
コード例 #10
0
ファイル: Query.cpp プロジェクト: severin-lemaignan/magnum
bool AbstractQuery::resultAvailable() {
    CORRADE_ASSERT(!target, "AbstractQuery::resultAvailable(): the query is currently running", false);

    /** @todo Re-enable when extension loader is available for ES */
    GLuint result;
    #ifndef MAGNUM_TARGET_GLES2
    glGetQueryObjectuiv(_id, GL_QUERY_RESULT_AVAILABLE, &result);
    #elif defined(CORRADE_TARGET_NACL)
    glGetQueryObjectuivEXT(_id, GL_QUERY_RESULT_AVAILABLE_EXT, &result);
    #else
    CORRADE_INTERNAL_ASSERT(false);
    #endif
    return result == GL_TRUE;
}