mirror of https://github.com/mosra/magnum.git
62 changed files with 6206 additions and 3671 deletions
@ -0,0 +1,12 @@ |
|||||||
|
OpenGL header and extension loader is generated using glLoadGen, originally |
||||||
|
from [BitBucket](https://bitbucket.org/alfonse/glloadgen), with Magnum-related |
||||||
|
changes at [](https://github.com/mosra/glloadgen.git). |
||||||
|
|
||||||
|
See `extensions.txt` for a list of requested non-core extensions. Copy the file |
||||||
|
into glLoadGen directory and generate the files using Lua: |
||||||
|
|
||||||
|
lua LoadGen.lua -style=pointer_c -indent=space -spec=gl -version=4.4 -profile=core -extfile=extensions.txt magnum |
||||||
|
|
||||||
|
Then copy generated `gl_magnum.c` and `gl_magnum.h` to this directory. You may |
||||||
|
want to remove trailing spaces to make the diff cleaner. Be sure to check the |
||||||
|
diff for suspicious changes. |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
// The following output is taken from `magnum-info` with removed `GL_` |
||||||
|
// suffixes. Only vendor extensions are needed, everything else is pulled in |
||||||
|
// with OpenGL 4.4. |
||||||
|
|
||||||
|
AMD_vertex_shader_layer |
||||||
|
AMD_shader_trinary_minmax |
||||||
|
ARB_robustness |
||||||
|
ATI_texture_mirror_once |
||||||
|
EXT_texture_filter_anisotropic |
||||||
|
EXT_texture_mirror_clamp |
||||||
|
EXT_direct_state_access |
||||||
|
GREMEDY_string_marker |
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,67 +0,0 @@ |
|||||||
# Find GLEW - OpenGL Extension Wrangler handling module for CMake |
|
||||||
# |
|
||||||
# This module defines: |
|
||||||
# |
|
||||||
# GLEW_FOUND - True if GLEW library is found |
|
||||||
# GLEW_LIBRARIES - GLEW libraries |
|
||||||
# GLEW_INCLUDE_DIR - Include dir |
|
||||||
# |
|
||||||
|
|
||||||
# |
|
||||||
# This file is part of Magnum. |
|
||||||
# |
|
||||||
# Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
||||||
# |
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a |
|
||||||
# copy of this software and associated documentation files (the "Software"), |
|
||||||
# to deal in the Software without restriction, including without limitation |
|
||||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
||||||
# and/or sell copies of the Software, and to permit persons to whom the |
|
||||||
# Software is furnished to do so, subject to the following conditions: |
|
||||||
# |
|
||||||
# The above copyright notice and this permission notice shall be included |
|
||||||
# in all copies or substantial portions of the Software. |
|
||||||
# |
|
||||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
||||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
||||||
# DEALINGS IN THE SOFTWARE. |
|
||||||
# |
|
||||||
|
|
||||||
# Include dir |
|
||||||
find_path(GLEW_INCLUDE_DIR |
|
||||||
NAMES GL/glew.h) |
|
||||||
|
|
||||||
# Library |
|
||||||
if(NOT WIN32) |
|
||||||
find_library(GLEW_LIBRARY GLEW) |
|
||||||
set(GLEW_LIBRARIES_ GLEW_LIBRARY) |
|
||||||
mark_as_advanced(GLEW_LIBRARY) |
|
||||||
else() |
|
||||||
find_library(GLEW_LIBRARY_DLL glew32) |
|
||||||
find_library(GLEW_LIBRARY_LIB glew32) |
|
||||||
set(GLEW_LIBRARIES_ GLEW_LIBRARY_DLL GLEW_LIBRARY_LIB) |
|
||||||
mark_as_advanced(GLEW_LIBRARY_DLL GLEW_LIBRARY_LIB) |
|
||||||
endif() |
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs) |
|
||||||
find_package_handle_standard_args("GLEW" DEFAULT_MSG |
|
||||||
${GLEW_LIBRARIES_} |
|
||||||
GLEW_INCLUDE_DIR) |
|
||||||
|
|
||||||
if(NOT GLEW_FOUND) |
|
||||||
return() |
|
||||||
endif() |
|
||||||
|
|
||||||
unset(GLEW_LIBRARIES_) |
|
||||||
|
|
||||||
if(NOT WIN32) |
|
||||||
set(GLEW_LIBRARIES ${GLEW_LIBRARY}) |
|
||||||
mark_as_advanced(GLEW_LIBRARY) |
|
||||||
else() |
|
||||||
set(GLEW_LIBRARIES ${GLEW_LIBRARY_DLL} ${GLEW_LIBRARY_LIB}) |
|
||||||
mark_as_advanced(GLEW_LIBRARY_DLL GLEW_LIBRARY_LIB) |
|
||||||
endif() |
|
||||||
@ -1,52 +0,0 @@ |
|||||||
/*
|
|
||||||
This file is part of Magnum. |
|
||||||
|
|
||||||
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a |
|
||||||
copy of this software and associated documentation files (the "Software"), |
|
||||||
to deal in the Software without restriction, including without limitation |
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
||||||
and/or sell copies of the Software, and to permit persons to whom the |
|
||||||
Software is furnished to do so, subject to the following conditions: |
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included |
|
||||||
in all copies or substantial portions of the Software. |
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
||||||
DEALINGS IN THE SOFTWARE. |
|
||||||
*/ |
|
||||||
|
|
||||||
#include "ExtensionWrangler.h" |
|
||||||
|
|
||||||
#include <cstdlib> |
|
||||||
#include <Utility/Debug.h> |
|
||||||
|
|
||||||
#include "Magnum.h" |
|
||||||
#include "OpenGL.h" |
|
||||||
|
|
||||||
namespace Magnum { namespace Platform { |
|
||||||
|
|
||||||
void ExtensionWrangler::initialize(ExperimentalFeatures experimentalFeatures) { |
|
||||||
#ifndef MAGNUM_TARGET_GLES |
|
||||||
/* Enable experimental features */ |
|
||||||
if(experimentalFeatures == ExperimentalFeatures::Enable) |
|
||||||
glewExperimental = true; |
|
||||||
|
|
||||||
/* Init GLEW */ |
|
||||||
GLenum err = glewInit(); |
|
||||||
if(err != GLEW_OK) { |
|
||||||
Error() << "ExtensionWrangler: cannot initialize GLEW:" << glewGetErrorString(err); |
|
||||||
std::exit(1); |
|
||||||
} |
|
||||||
#else |
|
||||||
static_cast<void>(experimentalFeatures); /* Shut up about unused parameter */ |
|
||||||
#endif |
|
||||||
} |
|
||||||
|
|
||||||
}} |
|
||||||
@ -1,50 +0,0 @@ |
|||||||
#ifndef Magnum_Platform_ExtensionWrangler_h |
|
||||||
#define Magnum_Platform_ExtensionWrangler_h |
|
||||||
/*
|
|
||||||
This file is part of Magnum. |
|
||||||
|
|
||||||
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a |
|
||||||
copy of this software and associated documentation files (the "Software"), |
|
||||||
to deal in the Software without restriction, including without limitation |
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
||||||
and/or sell copies of the Software, and to permit persons to whom the |
|
||||||
Software is furnished to do so, subject to the following conditions: |
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included |
|
||||||
in all copies or substantial portions of the Software. |
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
|
||||||
DEALINGS IN THE SOFTWARE. |
|
||||||
*/ |
|
||||||
|
|
||||||
/** @file
|
|
||||||
* @brief Class Magnum::Platform::ExtensionWrangler |
|
||||||
*/ |
|
||||||
|
|
||||||
namespace Magnum { namespace Platform { |
|
||||||
|
|
||||||
/** @brief %Extension wrangler interface */ |
|
||||||
class ExtensionWrangler { |
|
||||||
public: |
|
||||||
ExtensionWrangler() = delete; |
|
||||||
|
|
||||||
/** @brief Whether to enable or disable experimental features */ |
|
||||||
enum class ExperimentalFeatures { |
|
||||||
Disable, |
|
||||||
Enable |
|
||||||
}; |
|
||||||
|
|
||||||
/** @brief Initialize extension wrangler */ |
|
||||||
static void initialize(ExperimentalFeatures experimentalFeatures = ExperimentalFeatures::Disable); |
|
||||||
}; |
|
||||||
|
|
||||||
}} |
|
||||||
|
|
||||||
#endif |
|
||||||
Loading…
Reference in new issue