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