Skip to content
Browse files

Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…

…. Bug fixes.
  • Loading branch information...
1 parent 4020a3f commit 892d6c4d48ea0b0c5527f1c07832e401e36cba6c @nigels-com nigels-com committed May 28, 2012
Showing with 59,045 additions and 13,459 deletions.
  1. +10 −44 Makefile
  2. +44 −23 README.rst
  3. +30 −30 config/Makefile.darwin
  4. +30 −30 config/Makefile.darwin-x86_64
  5. +14 −2 examples/dreamtorus/glut/code/main.cpp
  6. +4 −4 examples/dreamtorus/ios/minimal_ios/EAGLView.mm
  7. +10 −10 examples/dreamtorus/ios/minimal_ios/minimal_iosViewController.mm
  8. +23 −19 examples/dreamtorus/osx/RegalView.mm
  9. +55 −2 examples/dreamtorus/osx/minimal_osx.xcodeproj/project.pbxproj
  10. +7 −0 examples/dreamtorus/osx/minimal_osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  11. +1 −1 examples/dreamtorus/osx/minimal_osxAppDelegate.mm
  12. +58 −39 examples/dreamtorus/src/render.cpp
  13. +61 −61 examples/dreamtorus/win32/minimal.cpp
  14. +10,880 −2,321 include/GL/Regal.h
  15. +69 −68 include/GL/RegalGLEW.h
  16. +70 −0 src/boost/boost/config.hpp
  17. +27 −0 src/boost/boost/config/abi/borland_prefix.hpp
  18. +12 −0 src/boost/boost/config/abi/borland_suffix.hpp
  19. +22 −0 src/boost/boost/config/abi/msvc_prefix.hpp
  20. +8 −0 src/boost/boost/config/abi/msvc_suffix.hpp
  21. +25 −0 src/boost/boost/config/abi_prefix.hpp
  22. +27 −0 src/boost/boost/config/abi_suffix.hpp
  23. +422 −0 src/boost/boost/config/auto_link.hpp
  24. +285 −0 src/boost/boost/config/compiler/borland.hpp
  25. +121 −0 src/boost/boost/config/compiler/clang.hpp
  26. +178 −0 src/boost/boost/config/compiler/codegear.hpp
  27. +59 −0 src/boost/boost/config/compiler/comeau.hpp
  28. +101 −0 src/boost/boost/config/compiler/common_edg.hpp
  29. +19 −0 src/boost/boost/config/compiler/compaq_cxx.hpp
  30. +61 −0 src/boost/boost/config/compiler/cray.hpp
  31. +101 −0 src/boost/boost/config/compiler/digitalmars.hpp
  32. +252 −0 src/boost/boost/config/compiler/gcc.hpp
  33. +59 −0 src/boost/boost/config/compiler/gcc_xml.hpp
  34. +28 −0 src/boost/boost/config/compiler/greenhills.hpp
  35. +138 −0 src/boost/boost/config/compiler/hp_acc.hpp
  36. +270 −0 src/boost/boost/config/compiler/intel.hpp
  37. +33 −0 src/boost/boost/config/compiler/kai.hpp
  38. +142 −0 src/boost/boost/config/compiler/metrowerks.hpp
  39. +84 −0 src/boost/boost/config/compiler/mpw.hpp
  40. +28 −0 src/boost/boost/config/compiler/nvcc.hpp
  41. +80 −0 src/boost/boost/config/compiler/pathscale.hpp
  42. +77 −0 src/boost/boost/config/compiler/pgi.hpp
  43. +29 −0 src/boost/boost/config/compiler/sgi_mipspro.hpp
  44. +147 −0 src/boost/boost/config/compiler/sunpro_cc.hpp
  45. +120 −0 src/boost/boost/config/compiler/vacpp.hpp
  46. +287 −0 src/boost/boost/config/compiler/visualc.hpp
  47. +28 −0 src/boost/boost/config/no_tr1/cmath.hpp
  48. +28 −0 src/boost/boost/config/no_tr1/complex.hpp
  49. +28 −0 src/boost/boost/config/no_tr1/functional.hpp
  50. +28 −0 src/boost/boost/config/no_tr1/memory.hpp
  51. +28 −0 src/boost/boost/config/no_tr1/utility.hpp
  52. +33 −0 src/boost/boost/config/platform/aix.hpp
  53. +15 −0 src/boost/boost/config/platform/amigaos.hpp
  54. +26 −0 src/boost/boost/config/platform/beos.hpp
  55. +86 −0 src/boost/boost/config/platform/bsd.hpp
  56. +18 −0 src/boost/boost/config/platform/cray.hpp
  57. +58 −0 src/boost/boost/config/platform/cygwin.hpp
  58. +87 −0 src/boost/boost/config/platform/hpux.hpp
  59. +31 −0 src/boost/boost/config/platform/irix.hpp
  60. +103 −0 src/boost/boost/config/platform/linux.hpp
  61. +87 −0 src/boost/boost/config/platform/macos.hpp
  62. +31 −0 src/boost/boost/config/platform/qnxnto.hpp
  63. +28 −0 src/boost/boost/config/platform/solaris.hpp
  64. +97 −0 src/boost/boost/config/platform/symbian.hpp
  65. +25 −0 src/boost/boost/config/platform/vms.hpp
  66. +31 −0 src/boost/boost/config/platform/vxworks.hpp
  67. +71 −0 src/boost/boost/config/platform/win32.hpp
  68. +95 −0 src/boost/boost/config/posix_features.hpp
  69. +92 −0 src/boost/boost/config/requires_threads.hpp
  70. +112 −0 src/boost/boost/config/select_compiler_config.hpp
  71. +105 −0 src/boost/boost/config/select_platform_config.hpp
  72. +85 −0 src/boost/boost/config/select_stdlib_config.hpp
  73. +145 −0 src/boost/boost/config/stdlib/dinkumware.hpp
  74. +69 −0 src/boost/boost/config/stdlib/libcomo.hpp
  75. +36 −0 src/boost/boost/config/stdlib/libcpp.hpp
  76. +155 −0 src/boost/boost/config/stdlib/libstdcpp3.hpp
  77. +53 −0 src/boost/boost/config/stdlib/modena.hpp
  78. +81 −0 src/boost/boost/config/stdlib/msl.hpp
  79. +183 −0 src/boost/boost/config/stdlib/roguewave.hpp
  80. +145 −0 src/boost/boost/config/stdlib/sgi.hpp
  81. +244 −0 src/boost/boost/config/stdlib/stlport.hpp
  82. +51 −0 src/boost/boost/config/stdlib/vacpp.hpp
  83. +704 −0 src/boost/boost/config/suffix.hpp
  84. +124 −0 src/boost/boost/config/user.hpp
  85. +47 −0 src/boost/boost/config/warning_disable.hpp
  86. +508 −0 src/boost/boost/cstdint.hpp
  87. +146 −0 src/boost/boost/limits.hpp
  88. +109 −0 src/boost/boost/print.hpp
  89. +867 −0 src/boost/boost/print/core.hpp
  90. +154 −0 src/boost/boost/print/detail
  91. +370 −0 src/boost/boost/print/detail.hpp
  92. +686 −0 src/boost/boost/print/interface.hpp
  93. +284 −0 src/boost/boost/print/print_c_str.hpp
  94. +90 −0 src/boost/boost/print/print_char_vector.hpp
  95. +136 −0 src/boost/boost/print/print_file.hpp
  96. +127 −0 src/boost/boost/print/print_ostream.hpp
  97. +157 −0 src/boost/boost/print/print_string.hpp
  98. +36 −0 src/boost/boost/print/print_vector.hpp
  99. +372 −0 src/boost/boost/print/printf.hpp
  100. +92 −0 src/boost/boost/print/std.hpp
  101. +271 −0 src/boost/boost/print/string_list.hpp
  102. +73 −0 src/glew/LICENSE.txt
  103. +16 −0 src/glew/src/glew.c
  104. +8 −0 src/glew/src/glewinfo.c
  105. +29 −0 src/glu/LICENSE.txt
  106. +6 −0 src/glut/LICENSE.txt
  107. +5,070 −1,416 src/regal/Regal.cpp
  108. +72 −0 src/regal/Regal.def
  109. +8 −4 src/regal/RegalBin.h
  110. +112 −0 src/regal/RegalContext.cpp
  111. +78 −0 src/regal/RegalContext.h
  112. +1,074 −0 src/regal/RegalContextInfo.cpp
  113. +392 −0 src/regal/RegalContextInfo.h
  114. +3,691 −0 src/regal/RegalDispatch.h
  115. +17 −10 src/regal/RegalDllMain.cpp
  116. +30 −20 src/regal/RegalDsa.h
  117. +12 −4 src/regal/RegalEmu.h
  118. +7,970 −3,388 src/regal/RegalEmuDispatch.cpp
  119. +2,023 −575 src/regal/RegalErrorDispatch.cpp
  120. +435 −152 src/regal/RegalIff.cpp
  121. +458 −178 src/regal/RegalIff.h
  122. +14,304 −4,992 src/regal/RegalLoaderDispatch.cpp
  123. +139 −0 src/regal/RegalLog.cpp
  124. +148 −0 src/regal/RegalLog.h
  125. +185 −20 src/regal/RegalLookup.cpp
  126. +52 −39 src/regal/RegalLookup.h
  127. +116 −0 src/regal/RegalMarker.h
  128. +21 −7 src/regal/RegalObj.h
Sorry, we could not display the entire diff because it was too big.
View
54 Makefile
@@ -49,17 +49,23 @@ LIB.LIBS := $(GL_LDFLAGS)
LIB.SRCS :=
LIB.SRCS += src/regal/RegalIff.cpp
LIB.SRCS += src/regal/Regal.cpp
+LIB.SRCS += src/regal/RegalToken.cpp
+LIB.SRCS += src/regal/RegalLog.cpp
LIB.SRCS += src/regal/RegalLookup.cpp
+LIB.SRCS += src/regal/RegalContext.cpp
+LIB.SRCS += src/regal/RegalContextInfo.cpp
LIB.SRCS += src/regal/RegalEmuDispatch.cpp
LIB.SRCS += src/regal/RegalErrorDispatch.cpp
LIB.SRCS += src/regal/RegalLoaderDispatch.cpp
LIB.SRCS.NAMES := $(notdir $(LIB.SRCS))
+LIB.INCLUDE := -Isrc/boost
+
LIB.DEPS :=
LIB.DEPS += include/GL/Regal.h
LIB.DEPS += src/regal/RegalPrivate.h
-
+
LIB.OBJS := $(addprefix tmp/$(SYSTEM)/regal/static/,$(LIB.SRCS.NAMES))
LIB.OBJS := $(LIB.OBJS:.cpp=.o)
LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/regal/shared/,$(LIB.SRCS.NAMES))
@@ -91,11 +97,11 @@ endif
tmp/$(SYSTEM)/regal/static/%.o: src/regal/%.cpp $(LIB.DEPS)
@mkdir -p $(dir $@)
- $(CC) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
+ $(CC) $(CFLAGS) $(CFLAGS.SO) $(LIB.INCLUDE) -o $@ -c $<
tmp/$(SYSTEM)/regal/shared/%.o: src/regal/%.cpp $(LIB.DEPS)
@mkdir -p $(dir $@)
- $(CC) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) -o $@ -c $<
+ $(CC) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(LIB.INCLUDE) -o $@ -c $<
#
# RegalGLEW
@@ -207,7 +213,7 @@ endif
# Examples
-regal.bin: bin bin/dreamtorus bin/tiger bin/byte_code_shaders
+regal.bin: bin bin/dreamtorus bin/tiger
bin:
mkdir bin
@@ -259,46 +265,6 @@ ifneq ($(STRIP),)
$(STRIP) -x $@
endif
-#
-# byte_code_shaders
-#
-
-BYTE_CODE_SHADERS.SRCS += examples/byte_code_shaders/main.cpp
-BYTE_CODE_SHADERS.SRCS += examples/byte_code_shaders/xform.cpp
-
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_assembler.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_common.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_compiler.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_effects.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_lexer.c
-#BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_opengl.c
-BYTE_CODE_SHADERS.SRCS += src/mojoshader/mojoshader_preprocessor.c
-
-BYTE_CODE_SHADERS.SRCS.NAMES := $(notdir $(BYTE_CODE_SHADERS.SRCS))
-BYTE_CODE_SHADERS.OBJS := $(addprefix tmp/$(SYSTEM)/byte_code_shaders/static/,$(BYTE_CODE_SHADERS.SRCS.NAMES))
-BYTE_CODE_SHADERS.OBJS := $(BYTE_CODE_SHADERS.OBJS:.c=.o)
-BYTE_CODE_SHADERS.OBJS := $(BYTE_CODE_SHADERS.OBJS:.cpp=.o)
-BYTE_CODE_SHADERS.CFLAGS := -Iinclude
-BYTE_CODE_SHADERS.CFLAGS += -Isrc/mojoshader/
-BYTE_CODE_SHADERS.CFLAGS += -DMOJOSHADER_NO_VERSION_INCLUDE
-#BYTE_CODE_SHADERS.CFLAGS += -DREGAL_NO_TYPEDEF_GL_VERSION_1_0
-#BYTE_CODE_SHADERS.CFLAGS += -DREGAL_NO_DECLARATION_GL_VERSION_1_0
-
-tmp/$(SYSTEM)/byte_code_shaders/static/%.o: examples/byte_code_shaders/%.cpp
- @mkdir -p $(dir $@)
- $(CC) $(CFLAGS) $(BYTE_CODE_SHADERS.CFLAGS) $(CFLAGS.SO) -o $@ -c $<
-
-tmp/$(SYSTEM)/byte_code_shaders/static/%.o: src/mojoshader/%.c
- @mkdir -p $(dir $@)
- $(CC) $(CFLAGS) $(BYTE_CODE_SHADERS.CFLAGS) $(CFLAGS.SO) -o $@ -c $<
-
-bin/byte_code_shaders: $(BYTE_CODE_SHADERS.OBJS)
- $(LD) -o $@ $^ -Llib -l$(NAME) -lRegalGLEW $(LDFLAGS.GLUT) -lstdc++ -lm -lpthread
-ifneq ($(STRIP),)
- $(STRIP) -x $@
-endif
-
clean:
$(RM) -r tmp/
$(RM) -r lib/
View
67 README.rst
@@ -1,43 +1,64 @@
Regal
=====
-Regal for OpenGL
-
https://github.com/p3/regal
-From an application developer's perspective, Regal just looks like an OpenGL implementation.
-You link with it instead of your platform's OpenGL library or framework, and that's really
-all you have to do to use Regal. The rest of your code can remain unchanged.
+OpenGL portability layer for OpenGL 2.x, 3.x, 4.x, Core contexts and ES 2.0
+---------------+----------------------------------------------------------------------+
-| **Warning** | Regal is pre-alpha software, it is provided here to look at |
+| **Warning** | Regal is pre-alpha software, it is available here for evaluation |
| | and to play with the examples. Don't use it in your projects yet. |
| | You have been warned. |
+---------------+----------------------------------------------------------------------+
-Why use Regal? (Once it's ready, I mean.)
+Goals
+-----
+
+Regal is a portable OpenGL layer on top of existing OpenGL implementations.
+Compile and link an app against Regal and deploy on various OpenGL implementations
+including compatibility, core and ES 2.0 OpenGL contexts.
+
+* Portability
+ Consistent API that runs on all major platforms: Windows, Linux, Mac, iOS, and Android
- * It is portable.
- A single, consistent API that runs on all major platforms: Windows, Linux, Mac, iOS, and Android
+* Compatible
+ Immediate mode, fixed function, GL_QUADS work everywhere, emulated as necessary.
- * It is compatible.
- Feel free to use immediate mode, fixed function, GL_QUADS. Old code still works even on ES and core profiles.
+* Modern OpenGL API
+ Direct State Access (DSA) and Vertex Array Object (VAO), emulated as necessary.
- * It is open source.
- There is nothing behind the curtain. You can see what Regal is doing and change it if you need to.
+* Open Source
+ There is nothing behind the curtain.
+ You can see what Regal is doing and change it if you need to.
- * It is modern.
- You can use Direct State Access and Vertex Array Object unconditionally with Regal because it is supported on all platforms.
- Other similar extensions like debug label and debug output are planned.
+* Ease of Use
+ Set breakpoints on OpenGL functions. Step into the code. Inspect state.
+
+* Efficiency
+ If it cannot be implemented efficiently in Regal, it is not universally supported.
+ For example, tessellation support requires tessellation hardware.
+
+Deployment
+----------
+
+* Most code remains unchanged.
+* Optionally **#include <GL/Regal.h>**
+* Link with **regal32.dll**, **libRegal.so** or **libRegal.dylib**
+
+From an application developer's perspective, Regal just looks like an OpenGL implementation.
+You link with it instead of your platform's OpenGL library or framework, and that's really
+all you have to do to use Regal. The rest of your code can remain unchanged.
- * It is efficient.
- If it cannot be implemented efficiently in Regal, it is not supported universally. No tessellation
- support without tessellation hardware, for example.
+Planned Features
+----------------
- * It makes development easier.
- Set a breakpoint on a GL entry point. Step into the code. Look at state. Register an error callback.
- Regal makes all this possible today. In addition to debug label and debug output support going in soon,
- there will be support for trace dumps and state dumps to quickly see what your app is doing.
+* Debug label.
+* Debug output.
+Limitations
+-----------
+* Incomplete implementation, so far.
+* Limited GLSL language support.
+* GL_QUADS only works in immediate mode or with DrawArrays for ES and core profiles.
View
60 config/Makefile.darwin
@@ -1,30 +1,30 @@
-NAME = $(REGAL_NAME)
-CC = cc
-LD = cc
-EXT.DYNAMIC = dylib
-CFLAGS.EXTRA = -no-cpp-precomp -dynamic -fno-common
-PICFLAG = -fPIC
-LDFLAGS.EXTRA =
-ifneq (undefined, $(origin REGAL_APPLE_GLX))
-CFLAGS.EXTRA += -I/usr/X11R6/include -D'REGAL_APPLE_GLX'
-LDFLAGS.GL = -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
-else
-LDFLAGS.GL = -framework AGL -framework OpenGL
-LDFLAGS.GLUT = -framework GLUT
-endif
-LDFLAGS.STATIC =
-LDFLAGS.DYNAMIC = -dynamiclib
-WARN = -Wall -W -Wno-unused-parameter
-POPT = -O2
-BIN.SUFFIX =
-LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib
-LIB.DEVLNK = lib$(NAME).dylib
-LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib
-LIB.STATIC = lib$(NAME).a
-LIB.FRAMEWORK = $(NAME)
-LDFLAGS.SO = $(LDFLAGS.DYNAMIC) -install_name $(REGAL_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
-LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib
-LIB.DEVLNK.MX = lib$(NAME)mx.dylib
-LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib
-LIB.STATIC.MX = lib$(NAME)mx.a
-LDFLAGS.SO.MX = -dynamiclib -install_name $(REGAL_DEST)/lib/$(LIB.SHARED.MX) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
+NAME = $(REGAL_NAME)
+CC = cc
+LD = cc
+EXT.DYNAMIC = dylib
+CFLAGS.EXTRA = -dynamic -fno-common
+PICFLAG = -fPIC
+LDFLAGS.EXTRA =
+ifneq (undefined, $(origin REGAL_APPLE_GLX))
+CFLAGS.EXTRA += -I/usr/X11R6/include -D'REGAL_APPLE_GLX'
+LDFLAGS.GL = -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
+else
+LDFLAGS.GL = -framework AGL -framework OpenGL
+LDFLAGS.GLUT = -framework GLUT
+endif
+LDFLAGS.STATIC =
+LDFLAGS.DYNAMIC = -dynamiclib
+WARN = -Wall -W -Wno-unused-parameter
+POPT = -O2
+BIN.SUFFIX =
+LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib
+LIB.DEVLNK = lib$(NAME).dylib
+LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib
+LIB.STATIC = lib$(NAME).a
+LIB.FRAMEWORK = $(NAME)
+LDFLAGS.SO = $(LDFLAGS.DYNAMIC) -install_name $(REGAL_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
+LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib
+LIB.DEVLNK.MX = lib$(NAME)mx.dylib
+LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib
+LIB.STATIC.MX = lib$(NAME)mx.a
+LDFLAGS.SO.MX = -dynamiclib -install_name $(REGAL_DEST)/lib/$(LIB.SHARED.MX) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
View
60 config/Makefile.darwin-x86_64
@@ -1,30 +1,30 @@
-NAME = $(REGAL_NAME)
-CC = cc
-LD = cc
-EXT.DYNAMIC = dylib
-CFLAGS.EXTRA = -arch x86_64 -no-cpp-precomp -dynamic -fno-common
-PICFLAG = -fPIC
-LDFLAGS.EXTRA = -arch x86_64
-ifneq (undefined, $(origin REGAL_APPLE_GLX))
-CFLAGS.EXTRA += -I/usr/X11R6/include -D'REGAL_APPLE_GLX'
-LDFLAGS.GL = -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
-else
-LDFLAGS.GL = -framework AGL -framework OpenGL
-LDFLAGS.GLUT = -framework GLUT
-endif
-LDFLAGS.STATIC =
-LDFLAGS.DYNAMIC = -dynamiclib
-WARN = -Wall -W -Wno-unused-parameter
-POPT = -O2
-BIN.SUFFIX =
-LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib
-LIB.DEVLNK = lib$(NAME).dylib
-LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib
-LIB.STATIC = lib$(NAME).a
-LIB.FRAMEWORK = $(NAME)
-LDFLAGS.SO = $(LDFLAGS.DYNAMIC) -install_name $(REGAL_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
-LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib
-LIB.DEVLNK.MX = lib$(NAME)mx.dylib
-LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib
-LIB.STATIC.MX = lib$(NAME)mx.a
-LDFLAGS.SO.MX = -dynamiclib -install_name $(REGAL_DEST)/lib/$(LIB.SHARED.MX) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
+NAME = $(REGAL_NAME)
+CC = cc
+LD = cc
+EXT.DYNAMIC = dylib
+CFLAGS.EXTRA = -arch x86_64 -dynamic -fno-common
+PICFLAG = -fPIC
+LDFLAGS.EXTRA = -arch x86_64
+ifneq (undefined, $(origin REGAL_APPLE_GLX))
+CFLAGS.EXTRA += -I/usr/X11R6/include -D'REGAL_APPLE_GLX'
+LDFLAGS.GL = -L/usr/X11R6/lib -lXmu -lXi -lGLU -lGL -lXext -lX11
+else
+LDFLAGS.GL = -framework AGL -framework OpenGL
+LDFLAGS.GLUT = -framework GLUT
+endif
+LDFLAGS.STATIC =
+LDFLAGS.DYNAMIC = -dynamiclib
+WARN = -Wall -W -Wno-unused-parameter
+POPT = -O2
+BIN.SUFFIX =
+LIB.SONAME = lib$(NAME).$(SO_MAJOR).dylib
+LIB.DEVLNK = lib$(NAME).dylib
+LIB.SHARED = lib$(NAME).$(SO_VERSION).dylib
+LIB.STATIC = lib$(NAME).a
+LIB.FRAMEWORK = $(NAME)
+LDFLAGS.SO = $(LDFLAGS.DYNAMIC) -install_name $(REGAL_DEST)/lib/$(LIB.SHARED) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
+LIB.SONAME.MX = lib$(NAME)mx.$(SO_MAJOR).dylib
+LIB.DEVLNK.MX = lib$(NAME)mx.dylib
+LIB.SHARED.MX = lib$(NAME)mx.$(SO_VERSION).dylib
+LIB.STATIC.MX = lib$(NAME)mx.a
+LDFLAGS.SO.MX = -dynamiclib -install_name $(REGAL_DEST)/lib/$(LIB.SHARED.MX) -current_version $(SO_VERSION) -compatibility_version $(SO_MAJOR)
View
16 examples/dreamtorus/glut/code/main.cpp
@@ -16,6 +16,7 @@
#include "render.h"
+#include <cstdio>
#include <cstdlib>
static void myDisplay()
@@ -26,8 +27,8 @@ static void myDisplay()
static void myTick(int dummy)
{
- glutPostRedisplay();
- glutTimerFunc( 16, myTick, 0 );
+ glutPostRedisplay();
+ glutTimerFunc( 16, myTick, 0 );
}
static void myKeyboard(unsigned char c, int x, int y)
@@ -54,6 +55,17 @@ int main(int argc, const char *argv[])
RegalMakeCurrent(CGLGetCurrentContext());
#endif
+ // Exercise REGAL_extension_query extension, just 'coz
+
+ if (!glIsSupportedREGAL("GL_EXT_framebuffer_object"))
+ printf("GL_EXT_framebuffer_object is not supported.\n");
+
+ if (!glIsSupportedREGAL("GL_EXT_direct_state_access"))
+ printf("GL_EXT_direct_state_access is not supported.\n");
+
+ if (!glIsSupportedREGAL("GL_NV_path_rendering"))
+ printf("GL_NV_path_rendering is not supported.\n");
+
glutTimerFunc(16, myTick, 0);
glutDisplayFunc(myDisplay);
glutReshapeFunc(reshape);
View
8 examples/dreamtorus/ios/minimal_ios/EAGLView.mm
@@ -33,7 +33,7 @@ + (Class)layerClass
- (id)initWithCoder:(NSCoder*)coder
{
self = [super initWithCoder:coder];
- if (self) {
+ if (self) {
CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
eaglLayer.opaque = TRUE;
@@ -83,10 +83,10 @@ - (void)createFramebuffer
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &framebufferHeight);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer);
- glGenRenderbuffersOES(1, &depthRenderbuffer);
- glBindRenderbufferOES(GL_RENDERBUFFER, depthRenderbuffer);
+ glGenRenderbuffersOES(1, &depthRenderbuffer);
+ glBindRenderbufferOES(GL_RENDERBUFFER, depthRenderbuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, framebufferWidth, framebufferHeight);
- glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer);
+ glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer);
if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
View
20 examples/dreamtorus/ios/minimal_ios/minimal_iosViewController.mm
@@ -55,9 +55,9 @@ - (void)awakeFromNib
else if (![EAGLContext setCurrentContext:aContext])
NSLog(@"Failed to set ES context current");
- self.context = aContext;
- [aContext release];
-
+ self.context = aContext;
+ [aContext release];
+
[(EAGLView *)self.view setContext:context];
[(EAGLView *)self.view setFramebuffer];
@@ -109,8 +109,8 @@ - (void)viewWillDisappear:(BOOL)animated
- (void)viewDidUnload
{
- [super viewDidUnload];
-
+ [super viewDidUnload];
+
if (program) {
glDeleteProgram(program);
program = 0;
@@ -119,7 +119,7 @@ - (void)viewDidUnload
// Tear down context.
if ([EAGLContext currentContext] == context)
[EAGLContext setCurrentContext:nil];
- self.context = nil;
+ self.context = nil;
}
- (NSInteger)animationFrameInterval
@@ -130,9 +130,9 @@ - (NSInteger)animationFrameInterval
- (void)setAnimationFrameInterval:(NSInteger)frameInterval
{
/*
- Frame interval defines how many display frames must pass between each time the display link fires.
- The display link will only fire 30 times a second when the frame internal is two on a display that refreshes 60 times a second. The default frame interval setting of one will fire 60 times a second when the display refreshes at 60 times a second. A frame interval setting of less than one results in undefined behavior.
- */
+ Frame interval defines how many display frames must pass between each time the display link fires.
+ The display link will only fire 30 times a second when the frame internal is two on a display that refreshes 60 times a second. The default frame interval setting of one will fire 60 times a second when the display refreshes at 60 times a second. A frame interval setting of less than one results in undefined behavior.
+ */
if (frameInterval >= 1) {
animationFrameInterval = frameInterval;
@@ -196,7 +196,7 @@ - (void)drawFrame
// Update uniform value.
glUniform1f(uniforms[UNIFORM_TRANSLATE], (GLfloat)transY);
- transY += 0.075f;
+ transY += 0.075f;
// Update attribute values.
glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, squareVertices);
View
42 examples/dreamtorus/osx/RegalView.mm
@@ -22,38 +22,42 @@ @implementation GlesView
- (id)initWithCoder:(NSCoder *)aDecoder {
[super initWithCoder: aDecoder];
- NSOpenGLPixelFormatAttribute attr[] = {
- NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersionLegacy, // pick this
- //NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core, // or this
- NSOpenGLPFADoubleBuffer,
- NSOpenGLPFAAccelerated,
- NSOpenGLPFAAlphaSize, 8,
- NSOpenGLPFAColorSize, 32,
- NSOpenGLPFADepthSize, 24,
- NSOpenGLPFAStencilSize, 0,
- 0
- };
- NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr];
+ NSOpenGLPixelFormatAttribute attr[] = {
+#if 0
+ NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersionLegacy,
+#else
+ NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core,
+#endif
+ NSOpenGLPFADoubleBuffer,
+ NSOpenGLPFAAccelerated,
+ NSOpenGLPFAAlphaSize, 8,
+ NSOpenGLPFAColorSize, 32,
+ NSOpenGLPFADepthSize, 24,
+ NSOpenGLPFAStencilSize, 0,
+ 0
+ };
+ NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr];
[self setPixelFormat: fmt];
RGLOpenGLContext *rglCtx = [[RGLOpenGLContext alloc] initWithFormat:fmt shareContext:nil];
[self setOpenGLContext: rglCtx];
[rglCtx setView:self];
- timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector (render) userInfo:nil repeats:YES];
+ timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector (render) userInfo:nil repeats:YES];
resized = false;
return self;
}
- (void)drawRect:(NSRect)dirtyRect {
- if( resized == false ) {
- return;
- }
- display( true );
- [[self openGLContext] flushBuffer];
+ if( resized == false ) {
+ [self windowResized:NULL];
+ resized = true;
+ }
+ display( true );
+ [[self openGLContext] flushBuffer];
}
- (void) render {
- [self setNeedsDisplay:YES];
+ [self setNeedsDisplay:YES];
}
- (void)viewDidMoveToWindow
View
57 examples/dreamtorus/osx/minimal_osx.xcodeproj/project.pbxproj
@@ -18,10 +18,18 @@
4326D4D5153486A0009EF3ED /* RegalLookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4326D4CB153486A0009EF3ED /* RegalLookup.cpp */; };
4344FC911332A8BA006F07E8 /* nv.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4344FC901332A8BA006F07E8 /* nv.icns */; };
43787F5014E8512400636639 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43787F4E14E8512400636639 /* render.cpp */; };
+ 43929A56156ECD410036D1D9 /* RegalContextInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43929A50156ECD410036D1D9 /* RegalContextInfo.cpp */; };
+ 43929A57156ECD410036D1D9 /* RegalLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43929A52156ECD410036D1D9 /* RegalLog.cpp */; };
+ 43A9D2C415653BB800D8E95E /* RegalContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A9D2BB15653BB800D8E95E /* RegalContext.cpp */; };
+ 43A9D2C515653BB800D8E95E /* RegalDllMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A9D2BE15653BB800D8E95E /* RegalDllMain.cpp */; };
+ 43A9D2C615653BB800D8E95E /* RegalToken.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A9D2C015653BB800D8E95E /* RegalToken.cpp */; };
+ 43A9D2C715653BB800D8E95E /* RegalUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43A9D2C215653BB800D8E95E /* RegalUtil.cpp */; };
43E244C6133066AF0040E20D /* RegalView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43E244C5133066AF0040E20D /* RegalView.mm */; };
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; settings = {ATTRIBUTES = (); }; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
+ BCE3A410156E9E0E00CFA9A9 /* RegalContextInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE3A40E156E9E0E00CFA9A9 /* RegalContextInfo.cpp */; };
+ BCE3A414156E9EE500CFA9A9 /* RegalLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE3A412156E9EE500CFA9A9 /* RegalLog.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -55,10 +63,30 @@
4344FC901332A8BA006F07E8 /* nv.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = nv.icns; sourceTree = "<group>"; };
43787F4E14E8512400636639 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = ../src/render.cpp; sourceTree = "<group>"; };
43787F4F14E8512400636639 /* render.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = render.h; path = ../src/render.h; sourceTree = "<group>"; };
+ 43929A4F156ECD410036D1D9 /* pch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pch.h; path = ../../../src/regal/pch.h; sourceTree = "<group>"; };
+ 43929A50156ECD410036D1D9 /* RegalContextInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalContextInfo.cpp; path = ../../../src/regal/RegalContextInfo.cpp; sourceTree = "<group>"; };
+ 43929A51156ECD410036D1D9 /* RegalContextInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalContextInfo.h; path = ../../../src/regal/RegalContextInfo.h; sourceTree = "<group>"; };
+ 43929A52156ECD410036D1D9 /* RegalLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalLog.cpp; path = ../../../src/regal/RegalLog.cpp; sourceTree = "<group>"; };
+ 43929A53156ECD410036D1D9 /* RegalLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalLog.h; path = ../../../src/regal/RegalLog.h; sourceTree = "<group>"; };
+ 43929A54156ECD410036D1D9 /* RegalMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalMarker.h; path = ../../../src/regal/RegalMarker.h; sourceTree = "<group>"; };
+ 43929A55156ECD410036D1D9 /* RegalPrecompile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalPrecompile.h; path = ../../../src/regal/RegalPrecompile.h; sourceTree = "<group>"; };
+ 43A9D2BB15653BB800D8E95E /* RegalContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalContext.cpp; path = ../../../src/regal/RegalContext.cpp; sourceTree = "<group>"; };
+ 43A9D2BC15653BB800D8E95E /* RegalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalContext.h; path = ../../../src/regal/RegalContext.h; sourceTree = "<group>"; };
+ 43A9D2BD15653BB800D8E95E /* RegalDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatch.h; path = ../../../src/regal/RegalDispatch.h; sourceTree = "<group>"; };
+ 43A9D2BE15653BB800D8E95E /* RegalDllMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDllMain.cpp; path = ../../../src/regal/RegalDllMain.cpp; sourceTree = "<group>"; };
+ 43A9D2BF15653BB800D8E95E /* RegalPpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalPpc.h; path = ../../../src/regal/RegalPpc.h; sourceTree = "<group>"; };
+ 43A9D2C015653BB800D8E95E /* RegalToken.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalToken.cpp; path = ../../../src/regal/RegalToken.cpp; sourceTree = "<group>"; };
+ 43A9D2C115653BB800D8E95E /* RegalToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalToken.h; path = ../../../src/regal/RegalToken.h; sourceTree = "<group>"; };
+ 43A9D2C215653BB800D8E95E /* RegalUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalUtil.cpp; path = ../../../src/regal/RegalUtil.cpp; sourceTree = "<group>"; };
+ 43A9D2C315653BB800D8E95E /* RegalUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalUtil.h; path = ../../../src/regal/RegalUtil.h; sourceTree = "<group>"; };
43E244C4133066AF0040E20D /* RegalView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegalView.h; sourceTree = "<group>"; };
43E244C5133066AF0040E20D /* RegalView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RegalView.mm; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* minimal_osx-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minimal_osx-Info.plist"; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* minimal_osx.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = minimal_osx.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ BCE3A40E156E9E0E00CFA9A9 /* RegalContextInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalContextInfo.cpp; path = ../../../src/regal/RegalContextInfo.cpp; sourceTree = "<group>"; };
+ BCE3A40F156E9E0E00CFA9A9 /* RegalContextInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalContextInfo.h; path = ../../../src/regal/RegalContextInfo.h; sourceTree = "<group>"; };
+ BCE3A412156E9EE500CFA9A9 /* RegalLog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalLog.cpp; path = ../../../src/regal/RegalLog.cpp; sourceTree = "<group>"; };
+ BCE3A413156E9EE500CFA9A9 /* RegalLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalLog.h; path = ../../../src/regal/RegalLog.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -151,6 +179,19 @@
43FFED88149524D7004FAD3A /* Regal */ = {
isa = PBXGroup;
children = (
+ BCE3A412156E9EE500CFA9A9 /* RegalLog.cpp */,
+ BCE3A413156E9EE500CFA9A9 /* RegalLog.h */,
+ BCE3A40E156E9E0E00CFA9A9 /* RegalContextInfo.cpp */,
+ BCE3A40F156E9E0E00CFA9A9 /* RegalContextInfo.h */,
+ 43A9D2BB15653BB800D8E95E /* RegalContext.cpp */,
+ 43A9D2BC15653BB800D8E95E /* RegalContext.h */,
+ 43A9D2BD15653BB800D8E95E /* RegalDispatch.h */,
+ 43A9D2BE15653BB800D8E95E /* RegalDllMain.cpp */,
+ 43A9D2BF15653BB800D8E95E /* RegalPpc.h */,
+ 43A9D2C015653BB800D8E95E /* RegalToken.cpp */,
+ 43A9D2C115653BB800D8E95E /* RegalToken.h */,
+ 43A9D2C215653BB800D8E95E /* RegalUtil.cpp */,
+ 43A9D2C315653BB800D8E95E /* RegalUtil.h */,
4326D4C0153486A0009EF3ED /* linear.h */,
4326D4C1153486A0009EF3ED /* Regal.cpp */,
4326D4C3153486A0009EF3ED /* RegalBin.h */,
@@ -247,6 +288,12 @@
4326D4D3153486A0009EF3ED /* RegalIff.cpp in Sources */,
4326D4D4153486A0009EF3ED /* RegalLoaderDispatch.cpp in Sources */,
4326D4D5153486A0009EF3ED /* RegalLookup.cpp in Sources */,
+ 43A9D2C415653BB800D8E95E /* RegalContext.cpp in Sources */,
+ 43A9D2C515653BB800D8E95E /* RegalDllMain.cpp in Sources */,
+ 43A9D2C615653BB800D8E95E /* RegalToken.cpp in Sources */,
+ 43A9D2C715653BB800D8E95E /* RegalUtil.cpp in Sources */,
+ BCE3A410156E9E0E00CFA9A9 /* RegalContextInfo.cpp in Sources */,
+ BCE3A414156E9EE500CFA9A9 /* RegalLog.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -314,7 +361,10 @@
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = "../../../include/**";
+ HEADER_SEARCH_PATHS = (
+ ../../../src/boost,
+ ../../../include,
+ );
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
@@ -327,7 +377,10 @@
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = "../../../include/**";
+ HEADER_SEARCH_PATHS = (
+ ../../../src/boost,
+ ../../../include,
+ );
SDKROOT = macosx;
};
name = Release;
View
7 examples/dreamtorus/osx/minimal_osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:minimal_osx.xcodeproj">
+ </FileRef>
+</Workspace>
View
2 examples/dreamtorus/osx/minimal_osxAppDelegate.mm
@@ -13,7 +13,7 @@ @implementation glesAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
- // Insert code here to initialize your application
+ // Insert code here to initialize your application
}
@end
View
97 examples/dreamtorus/src/render.cpp
@@ -33,16 +33,20 @@ struct Torus {
float z = sin( rho ) * tubeRadius;
float nx = cos( rho ) * cos(theta);
float ny = cos( rho ) * sin(theta);
- float nz = sin( rho );
-
+ float nz = sin( rho );
+
glNormal3f( nx, ny, nz );
glMultiTexCoord2f( texunit, u, v );
- glVertex3f( x, y, z );
+ glVertex3f( x, y, z );
}
-
+
};
-static void drawAnObject() {
+static void drawAnObject()
+{
+
+ glPushGroupMarkerEXT(0, "drawAnObject");
+
Torus t( 0.7f, 0.2f );
int I = 30;
int J = 30;
@@ -51,25 +55,29 @@ static void drawAnObject() {
float v0 = (j+0)/(J-1.0f);
float v1 = (j+1)/(J-1.0f);
glBegin( GL_TRIANGLE_STRIP );
- for(int i = 0; i < I; i++) {
- float u = i/(I-1.0);
- t.Vertex( u, v1 );
+ for(int i = 0; i < I; i++) {
+ float u = i/(I-1.0);
+ t.Vertex( u, v1 );
t.Vertex( u, v0 );
- }
+ }
glEnd();
}
+
+ glPopGroupMarkerEXT();
}
-int width;
+int width;
int height;
void reshape( int w, int h ) {
width = w;
height = h;
-
+
float a = float(w)/float(h);
-
+
+ glPushGroupMarkerEXT(0, "reshape");
+
glViewport(0, 0, width, height);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
@@ -81,6 +89,8 @@ void reshape( int w, int h ) {
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glTranslatef( 0, 0, -2 );
+
+ glPopGroupMarkerEXT();
}
@@ -103,7 +113,10 @@ static void regalerr( GLenum err ) {
GLuint tex;
void init();
-void init() {
+void init()
+{
+ glPushGroupMarkerEXT(0, "init");
+
glGenTextures( 1, &tex );
GLubyte pix[] = {
0x60, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
@@ -115,7 +128,7 @@ void init() {
glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glBindMultiTextureEXT( texunit, GL_TEXTURE_2D, tex );
-
+
GLfloat mat_specular[] = { 0.0, 0.0, 1.0, 1.0 };
GLfloat mat_shininess[] = { 50.0 };
GLfloat light_position[] = { 1.0, 1.0, 0.2, 1.0 };
@@ -127,10 +140,10 @@ void init() {
GLfloat light_spotexp[] = { 3 };
glClearColor (0.0, 0.0, 0.0, 0.0);
//glShadeModel (GL_SMOOTH);
-
+
glMatrixPushEXT( GL_MODELVIEW );
glMatrixLoadIdentityEXT( GL_MODELVIEW );
-
+
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
//glMaterialfv(GL_BACK, GL_SHININESS, mat_shininess);
@@ -144,41 +157,45 @@ void init() {
glLightfv( GL_LIGHT0, GL_SPOT_EXPONENT, light_spotexp );
//GLfloat light_ambient[] = { 0.0, -1.0, 0.0, 0.0 };
//glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
-
+
glMatrixPopEXT( GL_MODELVIEW );
-
+
glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE );
glLightModelf( GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR );
-
+
glEnable( GL_COLOR_MATERIAL ) ;
glColorMaterial( GL_BACK, GL_SPECULAR );
-
+
glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE );
-
+
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
-
+
glFogi( GL_FOG_MODE, GL_LINEAR );
glFogf( GL_FOG_START, 2.0f );
glFogf( GL_FOG_END, 4.0f );
GLfloat fog_color[] = { 1.0, 1.0, 0.0, 0.0 };
glFogfv( GL_FOG_COLOR, fog_color );
-
+
glEnable( GL_CLIP_PLANE3 );
GLdouble clip[] = { 1, 1, -1, 0 };
glClipPlane( GL_CLIP_PLANE3, clip );
-
+
+ glPopGroupMarkerEXT();
}
-void display( bool clear ) {
- static float r = 0.0f;
+void display( bool clear )
+{
+ static float r = 0.0f;
static int count = 0;
if( count == 0 ) {
init();
}
+ glPushGroupMarkerEXT(0, "display");
+
#if 1
if( count == 0 ) {
RegalSetErrorCallback( regalerr );
@@ -187,7 +204,7 @@ void display( bool clear ) {
}
count++;
#endif
-
+
glUseProgram( 0 );
if( clear ) {
glClearDepth( 1.0 );
@@ -205,17 +222,17 @@ void display( bool clear ) {
glActiveTexture( texunit );
glEnable( GL_TEXTURE_2D );
-
+
float sc = 2.0f * fabs( ( count % 800 ) / 400.0f - 1.0f ) + 1.0f;
-
+
glMatrixLoadIdentityEXT( texunit );
glMatrixScalefEXT( texunit, sc, 1, 1 );
float osc = sc * 0.5f;
-
-
+
+
glEnable( GL_FOG );
-
+
if( ( count % 7 ) == 0 || ( count % 17 ) == 0 ) {
glDisable( GL_NORMALIZE );
glEnable( GL_RESCALE_NORMAL );
@@ -236,11 +253,13 @@ void display( bool clear ) {
drawAnObject();
glMatrixPopEXT( GL_MODELVIEW );
}
-
- r += 1.0f;
- if( r > 399 ) {
- r = 0.0f;
- }
- //printf( "Draw with r=%f\n", r );
-}
+ r += 1.0f;
+ if( r > 399 ) {
+ r = 0.0f;
+ }
+
+ glPopGroupMarkerEXT();
+
+ //printf( "Draw with r=%f\n", r );
+}
View
122 examples/dreamtorus/win32/minimal.cpp
@@ -4,7 +4,7 @@
palette). */
-#include <windows.h> /* must include this before GL/gl.h */
+#include <windows.h> /* must include this before GL/gl.h */
#include <stdio.h>
void makeCurrent( HDC hdc, HGLRC hglrc );
@@ -13,40 +13,40 @@ void display();
LONG WINAPI
WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
+{
static PAINTSTRUCT ps;
switch(uMsg) {
case WM_PAINT:
- display();
- BeginPaint(hWnd, &ps);
- EndPaint(hWnd, &ps);
- return 0;
+ display();
+ BeginPaint(hWnd, &ps);
+ EndPaint(hWnd, &ps);
+ return 0;
case WM_SIZE:
- reshape(LOWORD(lParam), HIWORD(lParam));
- PostMessage(hWnd, WM_PAINT, 0, 0);
- return 0;
+ reshape(LOWORD(lParam), HIWORD(lParam));
+ PostMessage(hWnd, WM_PAINT, 0, 0);
+ return 0;
case WM_CHAR:
- switch (wParam) {
- case 27: /* ESC key */
- PostQuitMessage(0);
- break;
- }
- return 0;
+ switch (wParam) {
+ case 27: /* ESC key */
+ PostQuitMessage(0);
+ break;
+ }
+ return 0;
case WM_CLOSE:
- PostQuitMessage(0);
- return 0;
+ PostQuitMessage(0);
+ return 0;
}
- return DefWindowProc(hWnd, uMsg, wParam, lParam);
-}
+ return DefWindowProc(hWnd, uMsg, wParam, lParam);
+}
HWND
-CreateOpenGLWindow(char* title, int x, int y, int width, int height,
- BYTE type, DWORD flags)
+CreateOpenGLWindow(char* title, int x, int y, int width, int height,
+ BYTE type, DWORD flags)
{
int pf;
HDC hDC;
@@ -57,33 +57,33 @@ CreateOpenGLWindow(char* title, int x, int y, int width, int height,
/* only register the window class once - use hInstance as a flag. */
if (!hInstance) {
- hInstance = GetModuleHandle(NULL);
- wc.style = CS_OWNDC;
- wc.lpfnWndProc = (WNDPROC)WindowProc;
- wc.cbClsExtra = 0;
- wc.cbWndExtra = 0;
- wc.hInstance = hInstance;
- wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- wc.hbrBackground = NULL;
- wc.lpszMenuName = NULL;
- wc.lpszClassName = "OpenGL";
-
- if (!RegisterClass(&wc)) {
- MessageBox(NULL, "RegisterClass() failed: "
- "Cannot register window class.", "Error", MB_OK);
- return NULL;
- }
+ hInstance = GetModuleHandle(NULL);
+ wc.style = CS_OWNDC;
+ wc.lpfnWndProc = (WNDPROC)WindowProc;
+ wc.cbClsExtra = 0;
+ wc.cbWndExtra = 0;
+ wc.hInstance = hInstance;
+ wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
+ wc.hCursor = LoadCursor(NULL, IDC_ARROW);
+ wc.hbrBackground = NULL;
+ wc.lpszMenuName = NULL;
+ wc.lpszClassName = "OpenGL";
+
+ if (!RegisterClass(&wc)) {
+ MessageBox(NULL, "RegisterClass() failed: "
+ "Cannot register window class.", "Error", MB_OK);
+ return NULL;
+ }
}
hWnd = CreateWindow("OpenGL", title, WS_OVERLAPPEDWINDOW |
- WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- x, y, width, height, NULL, NULL, hInstance, NULL);
+ WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
+ x, y, width, height, NULL, NULL, hInstance, NULL);
if (hWnd == NULL) {
- MessageBox(NULL, "CreateWindow() failed: Cannot create a window.",
- "Error", MB_OK);
- return NULL;
+ MessageBox(NULL, "CreateWindow() failed: Cannot create a window.",
+ "Error", MB_OK);
+ return NULL;
}
hDC = GetDC(hWnd);
@@ -99,40 +99,40 @@ CreateOpenGLWindow(char* title, int x, int y, int width, int height,
pf = ChoosePixelFormat(hDC, &pfd);
if (pf == 0) {
- MessageBox(NULL, "ChoosePixelFormat() failed: "
- "Cannot find a suitable pixel format.", "Error", MB_OK);
- return 0;
- }
-
+ MessageBox(NULL, "ChoosePixelFormat() failed: "
+ "Cannot find a suitable pixel format.", "Error", MB_OK);
+ return 0;
+ }
+
if (SetPixelFormat(hDC, pf, &pfd) == FALSE) {
- MessageBox(NULL, "SetPixelFormat() failed: "
- "Cannot set format specified.", "Error", MB_OK);
- return 0;
- }
+ MessageBox(NULL, "SetPixelFormat() failed: "
+ "Cannot set format specified.", "Error", MB_OK);
+ return 0;
+ }
DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
ReleaseDC(hWnd, hDC);
return hWnd;
-}
+}
int APIENTRY
WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
- LPSTR lpszCmdLine, int nCmdShow)
+ LPSTR lpszCmdLine, int nCmdShow)
{
- HDC hDC; /* device context */
- HGLRC hRC; /* opengl context */
- HWND hWnd; /* window */
- MSG msg; /* message */
+ HDC hDC; /* device context */
+ HGLRC hRC; /* opengl context */
+ HWND hWnd; /* window */
+ MSG msg; /* message */
HMODULE h = LoadLibrary( "opengl32.dll" );
typedef HGLRC (WINAPI *CreateCtx)(HDC);
CreateCtx cctx = (CreateCtx)GetProcAddress( h, "wglCreateContext" );
hWnd = CreateOpenGLWindow("minimal", 0, 0, 256, 256, PFD_TYPE_RGBA, 0);
if (hWnd == NULL)
- exit(1);
+ exit(1);
hDC = GetDC(hWnd);
hRC = cctx(hDC);
@@ -141,8 +141,8 @@ WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
ShowWindow(hWnd, nCmdShow);
while(GetMessage(&msg, hWnd, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
}
makeCurrent(NULL, NULL);
View
13,201 include/GL/Regal.h
10,880 additions, 2,321 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
View
137 include/GL/RegalGLEW.h
@@ -2070,7 +2070,6 @@ typedef void (GLAPIENTRY * PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei
#define GL_TEXTURE_LUMINANCE_TYPE 0x8C14
#define GL_TEXTURE_INTENSITY_TYPE 0x8C15
#define GL_TEXTURE_DEPTH_TYPE 0x8C16
-#define GL_UNSIGNED_NORMALIZED 0x8C17
#define GL_TEXTURE_1D_ARRAY 0x8C18
#define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
#define GL_TEXTURE_2D_ARRAY 0x8C1A
@@ -2358,7 +2357,6 @@ typedef void (GLAPIENTRY * PFNGLGETINTEGER64I_VPROC) (GLenum, GLuint, GLint64 *)
#define GL_VERSION_3_3 1
#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
-#define GL_ANY_SAMPLES_PASSED 0x8C2F
#define GL_TEXTURE_SWIZZLE_R 0x8E42
#define GL_TEXTURE_SWIZZLE_G 0x8E43
#define GL_TEXTURE_SWIZZLE_B 0x8E44
@@ -2520,8 +2518,8 @@ typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum sever
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void* userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
-typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const char* buf);
-typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, char* message);
+typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar* buf);
+typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum* categories, GLuint* severities, GLuint* ids, GLsizei* lengths, GLchar* message);
#define glDebugMessageCallbackAMD GLEW_GET_FUN(__glewDebugMessageCallbackAMD)
#define glDebugMessageEnableAMD GLEW_GET_FUN(__glewDebugMessageEnableAMD)
@@ -2606,8 +2604,6 @@ typedef GLboolean (GLAPIENTRY * PFNGLISNAMEAMDPROC) (GLenum identifier, GLuint n
#ifndef GL_AMD_performance_monitor
#define GL_AMD_performance_monitor 1
-#define GL_UNSIGNED_INT 0x1405
-#define GL_FLOAT 0x1406
#define GL_COUNTER_TYPE_AMD 0x8BC0
#define GL_COUNTER_RANGE_AMD 0x8BC1
#define GL_UNSIGNED_INT64_AMD 0x8BC2
@@ -2622,9 +2618,9 @@ typedef void (GLAPIENTRY * PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
typedef void (GLAPIENTRY * PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint* monitors);
typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint* data, GLint *bytesWritten);
typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void* data);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, char *counterString);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar *counterString);
typedef void (GLAPIENTRY * PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint* numCounters, GLint *maxActiveCounters, GLsizei countersSize, GLuint *counters);
-typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, char *groupString);
+typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei* length, GLchar *groupString);
typedef void (GLAPIENTRY * PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint* numGroups, GLsizei groupsSize, GLuint *groups);
typedef void (GLAPIENTRY * PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList);
@@ -2695,12 +2691,6 @@ typedef void (GLAPIENTRY * PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint i
#ifndef GL_AMD_stencil_operation_extended
#define GL_AMD_stencil_operation_extended 1
-#define GL_AND 0x1501
-#define GL_XOR 0x1506
-#define GL_OR 0x1507
-#define GL_NOR 0x1508
-#define GL_EQUIV 0x1509
-#define GL_NAND 0x150E
#define GL_SET_AMD 0x874A
#define GL_REPLACE_VALUE_AMD 0x874B
#define GL_STENCIL_OP_VALUE_AMD 0x874C
@@ -3085,8 +3075,6 @@ typedef void (GLAPIENTRY * PFNGLMAPVERTEXATTRIB2FAPPLEPROC) (GLuint index, GLuin
#define GL_APPLE_ycbcr_422 1
#define GL_YCBCR_422_APPLE 0x85B9
-#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
#define GLEW_APPLE_ycbcr_422 GLEW_GET_VAR(__GLEW_APPLE_ycbcr_422)
@@ -3157,8 +3145,8 @@ typedef void (GLAPIENTRY * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC)
#define GL_ONE_MINUS_SRC1_ALPHA 0x88FB
#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS 0x88FC
-typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const char * name);
-typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const char * name);
+typedef void (GLAPIENTRY * PFNGLBINDFRAGDATALOCATIONINDEXEDPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
+typedef GLint (GLAPIENTRY * PFNGLGETFRAGDATAINDEXPROC) (GLuint program, const GLchar * name);
#define glBindFragDataLocationIndexed GLEW_GET_FUN(__glewBindFragDataLocationIndexed)
#define glGetFragDataIndex GLEW_GET_FUN(__glewGetFragDataIndex)
@@ -3289,8 +3277,8 @@ typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, G
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, void* userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
-typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* buf);
-typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, char* messageLog);
+typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEINSERTARBPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf);
+typedef GLuint (GLAPIENTRY * PFNGLGETDEBUGMESSAGELOGARBPROC) (GLuint count, GLsizei bufsize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog);
#define glDebugMessageCallbackARB GLEW_GET_FUN(__glewDebugMessageCallbackARB)
#define glDebugMessageControlARB GLEW_GET_FUN(__glewDebugMessageControlARB)
@@ -4439,10 +4427,10 @@ typedef void (GLAPIENTRY * PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum
typedef void (GLAPIENTRY * PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program);
typedef void (GLAPIENTRY * PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline);
-typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const char ** strings);
+typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar ** strings);
typedef void (GLAPIENTRY * PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint* pipelines);
typedef void (GLAPIENTRY * PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint* pipelines);
-typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, char *infoLog);
+typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog);
typedef void (GLAPIENTRY * PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint* params);
typedef GLboolean (GLAPIENTRY * PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline);
typedef void (GLAPIENTRY * PFNGLPROGRAMUNIFORM1DPROC) (GLuint program, GLint location, GLdouble x);
@@ -4855,12 +4843,12 @@ typedef void (GLAPIENTRY * PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj)
#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
-typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
-typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, char *name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name);
+typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name);
typedef void (GLAPIENTRY * PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values);
typedef void (GLAPIENTRY * PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint* values);
-typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const char* name);
-typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const char* name);
+typedef GLuint (GLAPIENTRY * PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar* name);
+typedef GLint (GLAPIENTRY * PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar* name);
typedef void (GLAPIENTRY * PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint* params);
typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint* indices);
@@ -4915,12 +4903,12 @@ typedef void (GLAPIENTRY * PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, G
#define GL_NAMED_STRING_LENGTH_ARB 0x8DE9
#define GL_NAMED_STRING_TYPE_ARB 0x8DEA
-typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const char ** path, const GLint *length);
-typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const char* name);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const char* name, GLsizei bufSize, GLint *stringlen, char *string);
-typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const char* name, GLenum pname, GLint *params);
-typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const char* name);
-typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const char* name, GLint stringlen, const char *string);
+typedef void (GLAPIENTRY * PFNGLCOMPILESHADERINCLUDEARBPROC) (GLuint shader, GLsizei count, const GLchar ** path, const GLint *length);
+typedef void (GLAPIENTRY * PFNGLDELETENAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name, GLsizei bufSize, GLint *stringlen, GLchar *string);
+typedef void (GLAPIENTRY * PFNGLGETNAMEDSTRINGIVARBPROC) (GLint namelen, const GLchar* name, GLenum pname, GLint *params);
+typedef GLboolean (GLAPIENTRY * PFNGLISNAMEDSTRINGARBPROC) (GLint namelen, const GLchar* name);
+typedef void (GLAPIENTRY * PFNGLNAMEDSTRINGARBPROC) (GLenum type, GLint namelen, const GLchar* name, GLint stringlen, const GLchar *string);
#define glCompileShaderIncludeARB GLEW_GET_FUN(__glewCompileShaderIncludeARB)
#define glDeleteNamedStringARB GLEW_GET_FUN(__glewDeleteNamedStringARB)
@@ -5394,7 +5382,6 @@ typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsiz
#ifndef GL_ARB_texture_rg
#define GL_ARB_texture_rg 1
-#define GL_RED 0x1903
#define GL_COMPRESSED_RED 0x8225
#define GL_COMPRESSED_RG 0x8226
#define GL_RG 0x8227
@@ -5440,9 +5427,6 @@ typedef void (GLAPIENTRY * PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsiz
#ifndef GL_ARB_texture_storage
#define GL_ARB_texture_storage 1
-#define GL_ALPHA8_EXT 0x803C
-#define GL_LUMINANCE8_EXT 0x8040
-#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
typedef void (GLAPIENTRY * PFNGLTEXSTORAGE1DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
@@ -5630,13 +5614,13 @@ typedef void (GLAPIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (GLfloat m[16]);
typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer);
typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, char* uniformBlockName);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName);
typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params);
-typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, char* uniformName);
+typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMNAMEPROC) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName);
typedef void (GLAPIENTRY * PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params);
typedef void (GLAPIENTRY * PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint* data);
-typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const char* uniformBlockName);
-typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const char** uniformNames, GLuint* uniformIndices);
+typedef GLuint (GLAPIENTRY * PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar* uniformBlockName);
+typedef void (GLAPIENTRY * PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar** uniformNames, GLuint* uniformIndices);
typedef void (GLAPIENTRY * PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
#define glBindBufferBase GLEW_GET_FUN(__glewBindBufferBase)
@@ -6516,7 +6500,7 @@ typedef void (GLAPIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, c
#ifndef GL_ATI_map_object_buffer
#define GL_ATI_map_object_buffer 1
-typedef void* (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
+typedef GLvoid * (GLAPIENTRY * PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
typedef void (GLAPIENTRY * PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
#define glMapObjectBufferATI GLEW_GET_FUN(__glewMapObjectBufferATI)
@@ -6741,41 +6725,49 @@ typedef void (GLAPIENTRY * PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, G
typedef void (GLAPIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
typedef void (GLAPIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *v);
+typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
#define glClientActiveVertexStreamATI GLEW_GET_FUN(__glewClientActiveVertexStreamATI)
#define glNormalStream3bATI GLEW_GET_FUN(__glewNormalStream3bATI)
@@ -6790,6 +6782,14 @@ typedef void (GLAPIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GL
#define glNormalStream3svATI GLEW_GET_FUN(__glewNormalStream3svATI)
#define glVertexBlendEnvfATI GLEW_GET_FUN(__glewVertexBlendEnvfATI)
#define glVertexBlendEnviATI GLEW_GET_FUN(__glewVertexBlendEnviATI)
+#define glVertexStream1dATI GLEW_GET_FUN(__glewVertexStream1dATI)
+#define glVertexStream1dvATI GLEW_GET_FUN(__glewVertexStream1dvATI)
+#define glVertexStream1fATI GLEW_GET_FUN(__glewVertexStream1fATI)
+#define glVertexStream1fvATI GLEW_GET_FUN(__glewVertexStream1fvATI)
+#define glVertexStream1iATI GLEW_GET_FUN(__glewVertexStream1iATI)
+#define glVertexStream1ivATI GLEW_GET_FUN(__glewVertexStream1ivATI)
+#define glVertexStream1sATI GLEW_GET_FUN(__glewVertexStream1sATI)
+#define glVertexStream1svATI GLEW_GET_FUN(__glewVertexStream1svATI)
#define glVertexStream2dATI GLEW_GET_FUN(__glewVertexStream2dATI)
#define glVertexStream2dvATI GLEW_GET_FUN(__glewVertexStream2dvATI)
#define glVertexStream2fATI GLEW_GET_FUN(__glewVertexStream2fATI)
@@ -8225,7 +8225,6 @@ typedef void (GLAPIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode)
#define GL_TEXTURE_LIGHT_EXT 0x8350
#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
-#define GL_FRAGMENT_DEPTH_EXT 0x8452
typedef void (GLAPIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
typedef void (GLAPIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
@@ -8347,8 +8346,6 @@ typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
#define GL_TEXTURE_2D 0x0DE1
#define GL_PROXY_TEXTURE_1D 0x8063
#define GL_PROXY_TEXTURE_2D 0x8064
-#define GL_TEXTURE_3D_EXT 0x806F
-#define GL_PROXY_TEXTURE_3D_EXT 0x8070
#define GL_COLOR_TABLE_FORMAT_EXT 0x80D8
#define GL_COLOR_TABLE_WIDTH_EXT 0x80D9
#define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA
@@ -8579,7 +8576,7 @@ typedef void (GLAPIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenu
#define GL_ACTIVE_PROGRAM_EXT 0x8B8D
typedef void (GLAPIENTRY * PFNGLACTIVEPROGRAMEXTPROC) (GLuint program);
-typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const char* string);
+typedef GLuint (GLAPIENTRY * PFNGLCREATESHADERPROGRAMEXTPROC) (GLenum type, const GLchar* string);
typedef void (GLAPIENTRY * PFNGLUSESHADERPROGRAMEXTPROC) (GLenum type, GLuint program);
#define glActiveProgramEXT GLEW_GET_FUN(__glewActiveProgramEXT)
@@ -8872,9 +8869,6 @@ typedef void (GLAPIENTRY * PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum interna
#ifndef GL_EXT_texture_compression_dxt1
#define GL_EXT_texture_compression_dxt1 1
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
-
#define GLEW_EXT_texture_compression_dxt1 GLEW_GET_VAR(__GLEW_EXT_texture_compression_dxt1)
#endif /* GL_EXT_texture_compression_dxt1 */
@@ -9340,8 +9334,8 @@ typedef void (GLAPIENTRY * PFNGLBINDBUFFERBASEEXTPROC) (GLenum target, GLuint in
typedef void (GLAPIENTRY * PFNGLBINDBUFFEROFFSETEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLBINDBUFFERRANGEEXTPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
typedef void (GLAPIENTRY * PFNGLENDTRANSFORMFEEDBACKEXTPROC) (void);
-typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, char *name);
-typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode);
+typedef void (GLAPIENTRY * PFNGLGETTRANSFORMFEEDBACKVARYINGEXTPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei *size, GLenum *type, GLchar *name);
+typedef void (GLAPIENTRY * PFNGLTRANSFORMFEEDBACKVARYINGSEXTPROC) (GLuint program, GLsizei count, const GLchar ** varyings, GLenum bufferMode);
#define glBeginTransformFeedbackEXT GLEW_GET_FUN(__glewBeginTransformFeedbackEXT)
#define glBindBufferBaseEXT GLEW_GET_FUN(__glewBindBufferBaseEXT)
@@ -12569,7 +12563,6 @@ typedef void (GLAPIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat* points);
#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
#define GL_SAMPLE_PATTERN_SGIS 0x80AC
-#define GL_MULTISAMPLE_BIT_EXT 0x20000000
typedef void (GLAPIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
typedef void (GLAPIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
@@ -14544,6 +14537,14 @@ GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SATIPROC __glewNormalStream3sATI;
GLEW_FUN_EXPORT PFNGLNORMALSTREAM3SVATIPROC __glewNormalStream3svATI;
GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVFATIPROC __glewVertexBlendEnvfATI;
GLEW_FUN_EXPORT PFNGLVERTEXBLENDENVIATIPROC __glewVertexBlendEnviATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DATIPROC __glewVertexStream1dATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1DVATIPROC __glewVertexStream1dvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FATIPROC __glewVertexStream1fATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1FVATIPROC __glewVertexStream1fvATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IATIPROC __glewVertexStream1iATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1IVATIPROC __glewVertexStream1ivATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SATIPROC __glewVertexStream1sATI;
+GLEW_FUN_EXPORT PFNGLVERTEXSTREAM1SVATIPROC __glewVertexStream1svATI;
GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DATIPROC __glewVertexStream2dATI;
GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2DVATIPROC __glewVertexStream2dvATI;
GLEW_FUN_EXPORT PFNGLVERTEXSTREAM2FATIPROC __glewVertexStream2fATI;
View
70 src/boost/boost/config.hpp
@@ -0,0 +1,70 @@
+// Boost config.hpp configuration header file ------------------------------//
+
+// (C) Copyright John Maddock 2002.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org/libs/config for most recent version.
+
+// Boost config.hpp policy and rationale documentation has been moved to
+// http://www.boost.org/libs/config
+//
+// CAUTION: This file is intended to be completely stable -
+// DO NOT MODIFY THIS FILE!
+//
+
+#ifndef BOOST_CONFIG_HPP
+#define BOOST_CONFIG_HPP
+
+// if we don't have a user config, then use the default location:
+#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
+# define BOOST_USER_CONFIG <boost/config/user.hpp>
+#endif
+// include it first:
+#ifdef BOOST_USER_CONFIG
+# include BOOST_USER_CONFIG
+#endif
+
+// if we don't have a compiler config set, try and find one:
+#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
+# include <boost/config/select_compiler_config.hpp>
+#endif
+// if we have a compiler config, include it now:
+#ifdef BOOST_COMPILER_CONFIG
+# include BOOST_COMPILER_CONFIG
+#endif
+
+// if we don't have a std library config set, try and find one:
+#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
+# include <boost/config/select_stdlib_config.hpp>
+#endif
+// if we have a std library config, include it now:
+#ifdef BOOST_STDLIB_CONFIG
+# include BOOST_STDLIB_CONFIG
+#endif
+
+// if we don't have a platform config set, try and find one:
+#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
+# include <boost/config/select_platform_config.hpp>
+#endif
+// if we have a platform config, include it now:
+#ifdef BOOST_PLATFORM_CONFIG
+# include BOOST_PLATFORM_CONFIG
+#endif
+
+// get config suffix code:
+#include <boost/config/suffix.hpp>
+
+#endif // BOOST_CONFIG_HPP
+
+
+
+
+
+
+
+
+
+
+
View
27 src/boost/boost/config/abi/borland_prefix.hpp
@@ -0,0 +1,27 @@
+// (C) Copyright John Maddock 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// for C++ Builder the following options effect the ABI:
+//
+// -b (on or off - effect emum sizes)
+// -Vx (on or off - empty members)
+// -Ve (on or off - empty base classes)
+// -aX (alignment - 5 options).
+// -pX (Calling convention - 4 options)
+// -VmX (member pointer size and layout - 5 options)
+// -VC (on or off, changes name mangling)
+// -Vl (on or off, changes struct layout).
+
+// In addition the following warnings are sufficiently annoying (and
+// unfixable) to have them turned off by default:
+//
+// 8027 - functions containing [for|while] loops are not expanded inline
+// 8026 - functions taking class by value arguments are not expanded inline
+
+#pragma nopushoptwarn
+# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
+
+
+
View
12 src/boost/boost/config/abi/borland_suffix.hpp
@@ -0,0 +1,12 @@
+// (C) Copyright John Maddock 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+# pragma option pop
+#pragma nopushoptwarn
+
+
+
+
+
View
22 src/boost/boost/config/abi/msvc_prefix.hpp
@@ -0,0 +1,22 @@
+// (C) Copyright John Maddock 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//
+// Boost binaries are built with the compiler's default ABI settings,
+// if the user changes their default alignment in the VS IDE then their
+// code will no longer be binary compatible with the bjam built binaries
+// unless this header is included to force Boost code into a consistent ABI.
+//
+// Note that inclusion of this header is only necessary for libraries with
+// separate source, header only libraries DO NOT need this as long as all
+// translation units are built with the same options.
+//
+#if defined(_M_X64)
+# pragma pack(push,16)
+#else
+# pragma pack(push,8)
+#endif
+
+
View
8 src/boost/boost/config/abi/msvc_suffix.hpp
@@ -0,0 +1,8 @@
+// (C) Copyright John Maddock 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#pragma pack(pop)
+
+
View
25 src/boost/boost/config/abi_prefix.hpp
@@ -0,0 +1,25 @@
+// abi_prefix header -------------------------------------------------------//
+
+// (c) Copyright John Maddock 2003
+
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+
+#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
+# define BOOST_CONFIG_ABI_PREFIX_HPP
+#else
+# error double inclusion of header boost/config/abi_prefix.hpp is an error
+#endif
+
+#include <boost/config.hpp>
+
+// this must occur after all other includes and before any code appears:
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_PREFIX
+#endif
+
+#if defined( __BORLANDC__ )
+#pragma nopushoptwarn
+#endif
+
View
27 src/boost/boost/config/abi_suffix.hpp
@@ -0,0 +1,27 @@
+// abi_sufffix header -------------------------------------------------------//
+
+// (c) Copyright John Maddock 2003
+
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+
+// This header should be #included AFTER code that was preceded by a #include
+// <boost/config/abi_prefix.hpp>.
+
+#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
+# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
+#else
+# undef BOOST_CONFIG_ABI_PREFIX_HPP
+#endif
+
+// the suffix header occurs after all of our code:
+#ifdef BOOST_HAS_ABI_HEADERS
+# include BOOST_ABI_SUFFIX
+#endif
+
+#if defined( __BORLANDC__ )
+#pragma nopushoptwarn
+#endif
+
+
View
422 src/boost/boost/config/auto_link.hpp
@@ -0,0 +1,422 @@
+// (C) Copyright John Maddock 2003.
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+ /*
+ * LOCATION: see http://www.boost.org for most recent version.
+ * FILE auto_link.hpp
+ * VERSION see <boost/version.hpp>
+ * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
+ */
+
+/*************************************************************************
+
+USAGE:
+~~~~~~
+
+Before including this header you must define one or more of define the following macros:
+
+BOOST_LIB_NAME: Required: A string containing the basename of the library,
+ for example boost_regex.
+BOOST_LIB_TOOLSET: Optional: the base name of the toolset.
+BOOST_DYN_LINK: Optional: when set link to dll rather than static library.
+BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
+ of the library selected (useful for debugging).
+BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
+ rather than a mangled-name version.
+BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
+ This is essentially the same as the default name-mangled version, but without
+ the compiler name and version, or the Boost version. Just the build options.
+
+These macros will be undef'ed at the end of the header, further this header
+has no include guards - so be sure to include it only once from your library!
+
+Algorithm:
+~~~~~~~~~~
+
+Libraries for Borland and Microsoft compilers are automatically
+selected here, the name of the lib is selected according to the following
+formula:
+
+BOOST_LIB_PREFIX
+ + BOOST_LIB_NAME
+ + "_"
+ + BOOST_LIB_TOOLSET
+ + BOOST_LIB_THREAD_OPT
+ + BOOST_LIB_RT_OPT
+ "-"
+ + BOOST_LIB_VERSION
+
+These are defined as:
+
+BOOST_LIB_PREFIX: "lib" for static libraries otherwise "".
+
+BOOST_LIB_NAME: The base name of the lib ( for example boost_regex).
+
+BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
+
+BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
+
+BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
+ contains one or more of the following letters after
+ a hiphen:
+
+ s static runtime (dynamic if not present).
+ g debug/diagnostic runtime (release if not present).
+ y Python debug/diagnostic runtime (release if not present).
+ d debug build (release if not present).
+ g debug/diagnostic runtime (release if not present).
+ p STLPort Build.
+
+BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
+
+
+***************************************************************************/
+
+#ifdef __cplusplus
+# ifndef BOOST_CONFIG_HPP
+# include <boost/config.hpp>
+# endif
+#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
+//
+// C language compatability (no, honestly)
+//
+# define BOOST_MSVC _MSC_VER
+# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
+# define BOOST_DO_STRINGIZE(X) #X
+#endif
+//
+// Only include what follows for known and supported compilers:
+//
+#if defined(BOOST_MSVC) \
+ || defined(__BORLANDC__) \
+ || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
+ || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200))
+
+#ifndef BOOST_VERSION_HPP
+# include <boost/version.hpp>
+#endif
+
+#ifndef BOOST_LIB_NAME
+# error "Macro BOOST_LIB_NAME not set (internal error)"
+#endif
+
+//
+// error check:
+//
+#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
+# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
+# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
+# error "Incompatible build options"
+#endif
+//
+// select toolset if not defined already:
+//
+#ifndef BOOST_LIB_TOOLSET
+// Note: no compilers before 1200 are supported
+#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
+
+# ifdef UNDER_CE
+ // vc6:
+# define BOOST_LIB_TOOLSET "evc4"
+# else
+ // vc6:
+# define BOOST_LIB_TOOLSET "vc6"
+# endif
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300)
+
+ // vc7:
+# define BOOST_LIB_TOOLSET "vc7"
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
+
+ // vc71:
+# define BOOST_LIB_TOOLSET "vc71"
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1400)
+
+ // vc80:
+# define BOOST_LIB_TOOLSET "vc80"
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500)
+
+ // vc90:
+# define BOOST_LIB_TOOLSET "vc90"
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1600)
+
+ // vc10:
+# define BOOST_LIB_TOOLSET "vc100"
+
+#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1700)
+
+ // vc11:
+# define BOOST_LIB_TOOLSET "vc110"
+
+#elif defined(__BORLANDC__)
+
+ // CBuilder 6:
+# define BOOST_LIB_TOOLSET "bcb"
+
+#elif defined(__ICL)
+
+ // Intel C++, no version number:
+# define BOOST_LIB_TOOLSET "iw"
+
+#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
+
+ // Metrowerks CodeWarrior 8.x
+# define BOOST_LIB_TOOLSET "cw8"
+
+#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
+
+ // Metrowerks CodeWarrior 9.x
+# define BOOST_LIB_TOOLSET "cw9"
+
+#endif
+#endif // BOOST_LIB_TOOLSET
+
+//
+// select thread opt:
+//
+#if defined(_MT) || defined(__MT__)
+# define BOOST_LIB_THREAD_OPT "-mt"
+#else
+# define BOOST_LIB_THREAD_OPT
+#endif
+
+#if defined(_MSC_VER) || defined(__MWERKS__)
+
+# ifdef _DLL
+
+# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
+
+# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-gydp"
+# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
+# define BOOST_LIB_RT_OPT "-gdp"
+# elif defined(_DEBUG)\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-gydp"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-gdp"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# else
+# define BOOST_LIB_RT_OPT "-p"
+# endif
+
+# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
+
+# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-gydpn"
+# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
+# define BOOST_LIB_RT_OPT "-gdpn"
+# elif defined(_DEBUG)\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-gydpn"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-gdpn"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# else
+# define BOOST_LIB_RT_OPT "-pn"
+# endif
+
+# else
+
+# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-gyd"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-gd"
+# else
+# define BOOST_LIB_RT_OPT
+# endif
+
+# endif
+
+# else
+
+# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
+
+# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-sgydp"
+# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
+# define BOOST_LIB_RT_OPT "-sgdp"
+# elif defined(_DEBUG)\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-sgydp"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-sgdp"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# else
+# define BOOST_LIB_RT_OPT "-sp"
+# endif
+
+# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
+
+# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-sgydpn"
+# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
+# define BOOST_LIB_RT_OPT "-sgdpn"
+# elif defined(_DEBUG)\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-sgydpn"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-sgdpn"
+# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1")
+# error "Build options aren't compatible with pre-built libraries"
+# else
+# define BOOST_LIB_RT_OPT "-spn"
+# endif
+
+# else
+
+# if defined(_DEBUG)\
+ && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
+# define BOOST_LIB_RT_OPT "-sgyd"
+# elif defined(_DEBUG)
+# define BOOST_LIB_RT_OPT "-sgd"
+# else
+# define BOOST_LIB_RT_OPT "-s"
+# endif
+
+# endif
+
+# endif
+
+#elif defined(__BORLANDC__)
+
+//
+// figure out whether we want the debug builds or not:
+//
+#if __BORLANDC__ > 0x561
+#pragma defineonoption BOOST_BORLAND_DEBUG -v