diff --git a/README.md b/README.md index 24cdb12..ba4d538 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ You can also build binary in [MSYS2](https://msys2.github.io/) shell. * `opengl21` - uses OpenGL 2.1 backend (default is 3.3 on desktop) * `opengl11` - uses OpenGL 1.1 backend (pseudo OpenGL 1.1 style) * `es2` - uses OpenGL ES 2.0 backend (can be used to link against [Google's ANGLE](https://github.com/google/angle)) +* `es3` - experimental support for OpenGL ES 3.0 ### Documentation diff --git a/raylib/cgo_darwin.go b/raylib/cgo_darwin.go index 2f63991..111df77 100644 --- a/raylib/cgo_darwin.go +++ b/raylib/cgo_darwin.go @@ -26,12 +26,13 @@ package rl #cgo darwin LDFLAGS: -framework Cocoa -framework IOKit -framework CoreVideo -framework CoreFoundation #cgo darwin CFLAGS: -x objective-c -Iexternal/glfw/include -D_GLFW_COCOA -D_GLFW_USE_CHDIR -D_GLFW_USE_MENUBAR -D_GLFW_USE_RETINA -Wno-deprecated-declarations -Wno-implicit-const-int-float-conversion -DPLATFORM_DESKTOP -#cgo darwin,!es2 LDFLAGS: -framework OpenGL +#cgo darwin,!es2,!es3 LDFLAGS: -framework OpenGL -#cgo darwin,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo darwin,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo darwin,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo darwin,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo darwin,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo darwin,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo darwin,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo darwin,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo darwin,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo darwin,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo darwin,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_darwin_sdl.go b/raylib/cgo_darwin_sdl.go index 9bf05da..f059403 100644 --- a/raylib/cgo_darwin_sdl.go +++ b/raylib/cgo_darwin_sdl.go @@ -8,12 +8,13 @@ package rl #cgo darwin CFLAGS: -x objective-c -Wno-deprecated-declarations -Wno-implicit-const-int-float-conversion -DPLATFORM_DESKTOP_SDL #cgo darwin pkg-config: sdl2 -#cgo darwin,!es2 LDFLAGS: -framework OpenGL +#cgo darwin,!es2,!es3 LDFLAGS: -framework OpenGL -#cgo darwin,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo darwin,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo darwin,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo darwin,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo darwin,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo darwin,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo darwin,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo darwin,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo darwin,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo darwin,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo darwin,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_freebsd.go b/raylib/cgo_freebsd.go index 9c4d2eb..72f5b45 100644 --- a/raylib/cgo_freebsd.go +++ b/raylib/cgo_freebsd.go @@ -39,15 +39,16 @@ package rl #cgo freebsd,!wayland LDFLAGS: -lm -pthread -ldl -lrt -lX11 #cgo freebsd,wayland LDFLAGS: -lm -pthread -ldl -lrt -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon -#cgo freebsd,!es2 LDFLAGS: -lGL +#cgo freebsd,!es2,!es3 LDFLAGS: -lGL #cgo freebsd,!wayland CFLAGS: -D_GLFW_X11 #cgo freebsd,wayland CFLAGS: -D_GLFW_WAYLAND -#cgo freebsd,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo freebsd,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo freebsd,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo freebsd,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo freebsd,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo freebsd,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo freebsd,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo freebsd,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo freebsd,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo freebsd,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo freebsd,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_freebsd_sdl.go b/raylib/cgo_freebsd_sdl.go index 2451924..9f4319a 100644 --- a/raylib/cgo_freebsd_sdl.go +++ b/raylib/cgo_freebsd_sdl.go @@ -9,12 +9,13 @@ package rl #cgo freebsd pkg-config: sdl2 -#cgo freebsd,!es2 LDFLAGS: -lGL +#cgo freebsd,!es2,!es3 LDFLAGS: -lGL -#cgo freebsd,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo freebsd,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo freebsd,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo freebsd,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo freebsd,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo freebsd,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo freebsd,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo freebsd,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo freebsd,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo freebsd,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo freebsd,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_linux.go b/raylib/cgo_linux.go index 94d2058..237a77a 100644 --- a/raylib/cgo_linux.go +++ b/raylib/cgo_linux.go @@ -38,15 +38,16 @@ package rl #cgo linux,!wayland LDFLAGS: -lm -pthread -ldl -lrt -lX11 #cgo linux,wayland LDFLAGS: -lm -pthread -ldl -lrt -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon -#cgo linux,!es2 LDFLAGS: -lGL +#cgo linux,!es2,!es3 LDFLAGS: -lGL #cgo linux,!wayland CFLAGS: -D_GLFW_X11 #cgo linux,wayland CFLAGS: -D_GLFW_WAYLAND -#cgo linux,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo linux,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo linux,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo linux,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo linux,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo linux,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo linux,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo linux,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo linux,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo linux,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo linux,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_linux_sdl.go b/raylib/cgo_linux_sdl.go index a90eb5b..55dbf58 100644 --- a/raylib/cgo_linux_sdl.go +++ b/raylib/cgo_linux_sdl.go @@ -8,12 +8,13 @@ package rl #cgo linux CFLAGS: -DPLATFORM_DESKTOP_SDL -Wno-stringop-overflow #cgo linux pkg-config: sdl2 -#cgo linux,!es2 LDFLAGS: -lGL +#cgo linux,!es2,!es3 LDFLAGS: -lGL -#cgo linux,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo linux,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo linux,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo linux,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo linux,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo linux,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo linux,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo linux,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo linux,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo linux,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo linux,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_openbsd.go b/raylib/cgo_openbsd.go index 7f3655a..970d09b 100644 --- a/raylib/cgo_openbsd.go +++ b/raylib/cgo_openbsd.go @@ -39,15 +39,16 @@ package rl #cgo openbsd,!wayland LDFLAGS: -lm -pthread -lX11 #cgo openbsd,wayland LDFLAGS: -lm -pthread -lwayland-client -lwayland-cursor -lwayland-egl -lxkbcommon -#cgo openbsd,!es2 LDFLAGS: -lGL +#cgo openbsd,!es2,!es3 LDFLAGS: -lGL #cgo openbsd,!wayland CFLAGS: -D_GLFW_X11 #cgo openbsd,wayland CFLAGS: -D_GLFW_WAYLAND -#cgo openbsd,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo openbsd,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo openbsd,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo openbsd,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo openbsd,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo openbsd,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo openbsd,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo openbsd,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo openbsd,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo openbsd,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo openbsd,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_openbsd_sdl.go b/raylib/cgo_openbsd_sdl.go index 829d394..2bc9a8d 100644 --- a/raylib/cgo_openbsd_sdl.go +++ b/raylib/cgo_openbsd_sdl.go @@ -9,12 +9,13 @@ package rl #cgo openbsd pkg-config: sdl2 -#cgo openbsd,!es2 LDFLAGS: -lGL +#cgo openbsd,!es2,!es3 LDFLAGS: -lGL -#cgo openbsd,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo openbsd,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo openbsd,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo openbsd,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo openbsd,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo openbsd,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo openbsd,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo openbsd,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo openbsd,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo openbsd,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo openbsd,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_windows.go b/raylib/cgo_windows.go index 9962de2..3c71c31 100644 --- a/raylib/cgo_windows.go +++ b/raylib/cgo_windows.go @@ -26,12 +26,13 @@ package rl #cgo windows LDFLAGS: -lgdi32 -lwinmm -lole32 #cgo windows CFLAGS: -D_GLFW_WIN32 -Iexternal -Iexternal/glfw/include -Iexternal/glfw/deps/mingw -DPLATFORM_DESKTOP -Wno-stringop-overflow -#cgo windows,!es2 LDFLAGS: -lopengl32 +#cgo windows,!es2,!es3 LDFLAGS: -lopengl32 -#cgo windows,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo windows,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo windows,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo windows,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo windows,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo windows,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo windows,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo windows,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo windows,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo windows,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo windows,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C" diff --git a/raylib/cgo_windows_sdl.go b/raylib/cgo_windows_sdl.go index e2f68a4..6ee16fd 100644 --- a/raylib/cgo_windows_sdl.go +++ b/raylib/cgo_windows_sdl.go @@ -7,12 +7,13 @@ package rl #cgo windows LDFLAGS: -lgdi32 -lwinmm -lole32 -lSDL2 #cgo windows CFLAGS: -Iexternal -DPLATFORM_DESKTOP_SDL -Wno-stringop-overflow -#cgo windows,!es2 LDFLAGS: -lopengl32 +#cgo windows,!es2,!es3 LDFLAGS: -lopengl32 -#cgo windows,opengl11,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_11 -#cgo windows,opengl21,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_21 -#cgo windows,opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_43 -#cgo windows,!opengl11,!opengl21,!opengl43,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_33 -#cgo windows,es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo windows,opengl11,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_11 +#cgo windows,opengl21,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_21 +#cgo windows,opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_43 +#cgo windows,!opengl11,!opengl21,!opengl43,!es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_33 +#cgo windows,es2,!es3 CFLAGS: -DGRAPHICS_API_OPENGL_ES2 +#cgo windows,es3,!es2 CFLAGS: -DGRAPHICS_API_OPENGL_ES3 */ import "C"