Files
workinf_Blender_Wasm/blender-5.2.0/extern/opensubdiv-source/glLoader/glLoader.cpp
2026-08-12 04:47:48 -04:00

63 lines
1.2 KiB
C++

//
// Copyright 2020 Pixar
//
// Licensed under the terms set forth in the LICENSE.txt file available at
// https://opensubdiv.org/license.
//
#include "glLoader.h"
#include <stdio.h>
#include <stdlib.h>
namespace OpenSubdiv {
namespace internal {
namespace GLLoader {
bool
applicationInitializeGL()
{
#if defined(OSD_USES_INTERNAL_GLAPILOADER)
// -- GLAPILOADER
return OpenSubdiv::internal::GLApi::glApiLoad();
#elif defined(OSD_USES_GLEW)
// -- GLEW
#define CORE_PROFILE
#ifdef CORE_PROFILE
// this is the only way to initialize GLEW (before GLEW 1.13)
// correctly under core profile context.
glewExperimental = true;
#endif
GLenum status = glewInit();
if (status != GLEW_OK) {
printf("Failed to initialize glew. Error = %s\n",
glewGetErrorString(status));
return false;
}
#ifdef CORE_PROFILE
// clear GL errors which were generated during glewInit()
glGetError();
#endif
#endif
return true;
}
bool
libraryInitializeGL()
{
#if defined(OSD_USES_INTERNAL_GLAPILOADER)
return OpenSubdiv::internal::GLApi::glApiLoad();
#else
// otherwise do nothing
return true;
#endif
}
} // namespace GLLoader
} // namespace internal
} // namespace OpenSubdiv