Beispiel #1
0
bool FOpenGLDrv::Initialize()
{
	if (!InitializeGlew())
	{
		return false;
	}

	return true;
}
//
// Load GL extensions
//
unsigned int loadGLextensions() {
	
	unsigned int caps = 0; // as per elio glextensions

	#ifdef USE_GLEW
	InitializeGlew(); // probably needs failure check
	#endif

	// Check for FBO extensions first - no use continuing without them
	if(!loadFBOextensions()) {
		printf("    loadFBOextensions fail\n");
		return 0;
	}

	caps |= GLEXT_SUPPORT_FBO;

	// Load PBO extension and FBO blit extension
	if(loadBLITextension()) {
		caps |= GLEXT_SUPPORT_FBO_BLIT;
	}

	if(loadSwapExtensions()) {
		caps |= GLEXT_SUPPORT_SWAP;
	}

	if(loadPBOextensions()) {
		caps |= GLEXT_SUPPORT_PBO;
	}

	// Find out whether bgra extensions are supported at compile and runtime
	#ifdef GL_EXT_bgra
	//
	// "isExtensionSupported" code yet to be fully tested for
	// various compilers, operating systems and environments.
	// Activate this code if you are confident that it works OK.
	// 
	// if(isExtensionSupported("GL_EXT_bgra")) {
		caps |= GLEXT_SUPPORT_BGRA;
	// }
	#endif

	// Load wgl interop extensions - not needed for memoryshare
	if (loadInteropExtensions()) {
		caps |= GLEXT_SUPPORT_NVINTEROP;
	}



	return caps;

}
	int GraphicsEngine::Initialize()
	{
		GraphicsResourceManager::CreateInstance();

		int result = m_WindowManager.InitWindow(SCREEN_SIZE_X, SCREEN_SIZE_Y);
		if (result != -1)
			result = InitializeGlew();
		if (result != -1)
			result = InitializeOpenGL();
		if (result != -1)
			result = InitializeLightGridCompute();

		return result;
	}
//
// Load GL extensions
//
unsigned int loadGLextensions() {
	
	unsigned int caps = 0; // as per elio glextensions

	#ifdef USE_GLEW
	InitializeGlew(); // probably needs failure check
	#endif

	// Check for FBO extensions first - no use continuing without them
	if(!loadFBOextensions()) {
		printf("    loadFBOextensions fail\n");
		return 0;
	}

	// Load wgl interop extensions - return if fail
	if (!loadInteropExtensions()) {
		// MessageBoxA(NULL, "Cannot load OpenGL interop extensions", "ERROR", MB_OK);
		printf("    loadInteropExtensions fail\n");
		return 0;
	}

	caps |= GLEXT_SUPPORT_NVINTEROP;
	caps |= GLEXT_SUPPORT_FBO;

	// Load PBO extension and FBO blit extension
	if(loadBLITextension()) {
		caps |= GLEXT_SUPPORT_FBO_BLIT;
	}

	if(loadSwapExtensions()) {
		caps |= GLEXT_SUPPORT_SWAP;
	}

	if(loadPBOextensions()) {
		caps |= GLEXT_SUPPORT_PBO;
	}

	return caps;

}