diff --git a/ios/hellogl/Info.plist.xml b/ios/hellogl/Info.plist.xml deleted file mode 100644 index 015530f2..00000000 --- a/ios/hellogl/Info.plist.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${app.name} - CFBundleExecutable - ${app.executable} - CFBundleIdentifier - ${app.id} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${app.name} - CFBundlePackageType - APPL - CFBundleShortVersionString - ${app.version} - CFBundleSignature - ???? - CFBundleVersion - ${app.build} - LSRequiresIPhoneOS - - UIDeviceFamily - - 1 - 2 - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/ios/hellogl/pom.xml b/ios/hellogl/pom.xml deleted file mode 100644 index 8e46f51e..00000000 --- a/ios/hellogl/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - 4.0.0 - - - org.robovm - robovm-samples-ios-parent - 1.0 - - - robovm-samples-hellogl - Demonstrates a basic OpenGL view - - jar - - - src/main/java - - - - - org.robovm - robovm-rt - - - org.robovm - robovm-cocoatouch - - - diff --git a/ios/hellogl/resources/Background.png b/ios/hellogl/resources/Background.png deleted file mode 100644 index ea929d88..00000000 Binary files a/ios/hellogl/resources/Background.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a6c24a5d..00000000 --- a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "images" : [ - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-Small@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-Small@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-Small-40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-Small-40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-60@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-Small.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-Small@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-Small-40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-Small-40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-76@2x.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png deleted file mode 100644 index e099f2d2..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png deleted file mode 100644 index 306fdd06..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76.png deleted file mode 100644 index 0fe7a1c4..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png deleted file mode 100644 index b229dee6..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png deleted file mode 100644 index 57af3e9d..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png deleted file mode 100644 index 5bdbf0c6..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png deleted file mode 100644 index 332046e2..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small.png deleted file mode 100644 index bbef6eba..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png deleted file mode 100644 index 3c3cacf1..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@2x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png deleted file mode 100644 index 39b21d37..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/AppIcon.appiconset/Icon-Small@3x.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Contents.json b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index e50683a7..00000000 --- a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "images" : [ - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "736h", - "filename" : "Default-736h@3x~iphone.png", - "minimum-system-version" : "8.0", - "orientation" : "portrait", - "scale" : "3x" - }, - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "736h", - "filename" : "Default-Landscape-736h@3x~iphone.png", - "minimum-system-version" : "8.0", - "orientation" : "landscape", - "scale" : "3x" - }, - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "667h", - "filename" : "Default-667h@2x~iphone.png", - "minimum-system-version" : "8.0", - "orientation" : "portrait", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "filename" : "Default@2x~iphone.png", - "scale" : "2x" - }, - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "retina4", - "filename" : "Default-568h@2x~iphone.png", - "minimum-system-version" : "7.0", - "orientation" : "portrait", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "filename" : "Default-Portrait~ipad.png", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "filename" : "Default-Landscape~ipad.png", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "filename" : "Default-Portrait@2x~ipad.png", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "filename" : "Default-Landscape@2x~ipad.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-568h@2x~iphone.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-568h@2x~iphone.png deleted file mode 100644 index b0a062b8..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-568h@2x~iphone.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-667h@2x~iphone.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-667h@2x~iphone.png deleted file mode 100644 index 1d0d406b..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-667h@2x~iphone.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-736h@3x~iphone.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-736h@3x~iphone.png deleted file mode 100644 index 455e66cb..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-736h@3x~iphone.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h@3x~iphone.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h@3x~iphone.png deleted file mode 100644 index 2ceb1f15..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape-736h@3x~iphone.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x~ipad.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x~ipad.png deleted file mode 100644 index 24136673..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape@2x~ipad.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape~ipad.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape~ipad.png deleted file mode 100644 index cc7c0569..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Landscape~ipad.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x~ipad.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x~ipad.png deleted file mode 100644 index fee9c731..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait@2x~ipad.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait~ipad.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait~ipad.png deleted file mode 100644 index e6362009..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default-Portrait~ipad.png and /dev/null differ diff --git a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default@2x~iphone.png b/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default@2x~iphone.png deleted file mode 100644 index 96a5031c..00000000 Binary files a/ios/hellogl/resources/Images.xcassets/LaunchImage.launchimage/Default@2x~iphone.png and /dev/null differ diff --git a/ios/hellogl/robovm.properties b/ios/hellogl/robovm.properties deleted file mode 100644 index 777f1dcf..00000000 --- a/ios/hellogl/robovm.properties +++ /dev/null @@ -1,6 +0,0 @@ -app.version=1.0 -app.id=org.robovm.samples.hellogl -app.mainclass=org.robovm.samples.hellogl.HelloGL -app.executable=HelloGL -app.build=1 -app.name=HelloGL diff --git a/ios/hellogl/robovm.xml b/ios/hellogl/robovm.xml deleted file mode 100644 index 73876651..00000000 --- a/ios/hellogl/robovm.xml +++ /dev/null @@ -1,13 +0,0 @@ - - ${app.executable} - ${app.mainclass} - ios - thumbv7 - - - resources - - - ios - Info.plist.xml - \ No newline at end of file diff --git a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLES2.java b/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLES2.java deleted file mode 100644 index 3c882422..00000000 --- a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLES2.java +++ /dev/null @@ -1,683 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import java.nio.Buffer; -import java.nio.ByteBuffer; -import java.nio.IntBuffer; - -import org.robovm.rt.bro.Bro; -import org.robovm.rt.bro.Struct; -import org.robovm.rt.bro.annotation.Bridge; -import org.robovm.rt.bro.annotation.Library; -import org.robovm.rt.bro.ptr.BytePtr; -import org.robovm.rt.bro.ptr.IntPtr; - -@Library("OpenGLES") -public class GLES2 { - static { - Bro.bind(GLES2.class); - } - - public static final int GL_ES_VERSION_2_0 = 1; - public static final int GL_DEPTH_BUFFER_BIT = 0x00000100; - public static final int GL_STENCIL_BUFFER_BIT = 0x00000400; - public static final int GL_COLOR_BUFFER_BIT = 0x00004000; - public static final int GL_FALSE = 0; - public static final int GL_TRUE = 1; - public static final int GL_POINTS = 0x0000; - public static final int GL_LINES = 0x0001; - public static final int GL_LINE_LOOP = 0x0002; - public static final int GL_LINE_STRIP = 0x0003; - public static final int GL_TRIANGLES = 0x0004; - public static final int GL_TRIANGLE_STRIP = 0x0005; - public static final int GL_TRIANGLE_FAN = 0x0006; - public static final int GL_ZERO = 0; - public static final int GL_ONE = 1; - public static final int GL_SRC_COLOR = 0x0300; - public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301; - public static final int GL_SRC_ALPHA = 0x0302; - public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303; - public static final int GL_DST_ALPHA = 0x0304; - public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305; - public static final int GL_DST_COLOR = 0x0306; - public static final int GL_ONE_MINUS_DST_COLOR = 0x0307; - public static final int GL_SRC_ALPHA_SATURATE = 0x0308; - public static final int GL_FUNC_ADD = 0x8006; - public static final int GL_BLEND_EQUATION = 0x8009; - public static final int GL_BLEND_EQUATION_RGB = 0x8009; - public static final int GL_BLEND_EQUATION_ALPHA = 0x883D; - public static final int GL_FUNC_SUBTRACT = 0x800A; - public static final int GL_FUNC_REVERSE_SUBTRACT = 0x800B; - public static final int GL_BLEND_DST_RGB = 0x80C8; - public static final int GL_BLEND_SRC_RGB = 0x80C9; - public static final int GL_BLEND_DST_ALPHA = 0x80CA; - public static final int GL_BLEND_SRC_ALPHA = 0x80CB; - public static final int GL_CONSTANT_COLOR = 0x8001; - public static final int GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; - public static final int GL_CONSTANT_ALPHA = 0x8003; - public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; - public static final int GL_BLEND_COLOR = 0x8005; - public static final int GL_ARRAY_BUFFER = 0x8892; - public static final int GL_ELEMENT_ARRAY_BUFFER = 0x8893; - public static final int GL_ARRAY_BUFFER_BINDING = 0x8894; - public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; - public static final int GL_STREAM_DRAW = 0x88E0; - public static final int GL_STATIC_DRAW = 0x88E4; - public static final int GL_DYNAMIC_DRAW = 0x88E8; - public static final int GL_BUFFER_SIZE = 0x8764; - public static final int GL_BUFFER_USAGE = 0x8765; - public static final int GL_CURRENT_VERTEX_ATTRIB = 0x8626; - public static final int GL_FRONT = 0x0404; - public static final int GL_BACK = 0x0405; - public static final int GL_FRONT_AND_BACK = 0x0408; - public static final int GL_TEXTURE_2D = 0x0DE1; - public static final int GL_CULL_FACE = 0x0B44; - public static final int GL_BLEND = 0x0BE2; - public static final int GL_DITHER = 0x0BD0; - public static final int GL_STENCIL_TEST = 0x0B90; - public static final int GL_DEPTH_TEST = 0x0B71; - public static final int GL_SCISSOR_TEST = 0x0C11; - public static final int GL_POLYGON_OFFSET_FILL = 0x8037; - public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; - public static final int GL_SAMPLE_COVERAGE = 0x80A0; - public static final int GL_NO_ERROR = 0; - public static final int GL_INVALID_ENUM = 0x0500; - public static final int GL_INVALID_VALUE = 0x0501; - public static final int GL_INVALID_OPERATION = 0x0502; - public static final int GL_OUT_OF_MEMORY = 0x0505; - public static final int GL_CW = 0x0900; - public static final int GL_CCW = 0x0901; - public static final int GL_LINE_WIDTH = 0x0B21; - public static final int GL_ALIASED_POINT_SIZE_RANGE = 0x846D; - public static final int GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; - public static final int GL_CULL_FACE_MODE = 0x0B45; - public static final int GL_FRONT_FACE = 0x0B46; - public static final int GL_DEPTH_RANGE = 0x0B70; - public static final int GL_DEPTH_WRITEMASK = 0x0B72; - public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73; - public static final int GL_DEPTH_FUNC = 0x0B74; - public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91; - public static final int GL_STENCIL_FUNC = 0x0B92; - public static final int GL_STENCIL_FAIL = 0x0B94; - public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; - public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; - public static final int GL_STENCIL_REF = 0x0B97; - public static final int GL_STENCIL_VALUE_MASK = 0x0B93; - public static final int GL_STENCIL_WRITEMASK = 0x0B98; - public static final int GL_STENCIL_BACK_FUNC = 0x8800; - public static final int GL_STENCIL_BACK_FAIL = 0x8801; - public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; - public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; - public static final int GL_STENCIL_BACK_REF = 0x8CA3; - public static final int GL_STENCIL_BACK_VALUE_MASK = 0x8CA4; - public static final int GL_STENCIL_BACK_WRITEMASK = 0x8CA5; - public static final int GL_VIEWPORT = 0x0BA2; - public static final int GL_SCISSOR_BOX = 0x0C10; - public static final int GL_COLOR_CLEAR_VALUE = 0x0C22; - public static final int GL_COLOR_WRITEMASK = 0x0C23; - public static final int GL_UNPACK_ALIGNMENT = 0x0CF5; - public static final int GL_PACK_ALIGNMENT = 0x0D05; - public static final int GL_MAX_TEXTURE_SIZE = 0x0D33; - public static final int GL_MAX_TEXTURE_UNITS = 0x84E2; - public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A; - public static final int GL_SUBPIXEL_BITS = 0x0D50; - public static final int GL_RED_BITS = 0x0D52; - public static final int GL_GREEN_BITS = 0x0D53; - public static final int GL_BLUE_BITS = 0x0D54; - public static final int GL_ALPHA_BITS = 0x0D55; - public static final int GL_DEPTH_BITS = 0x0D56; - public static final int GL_STENCIL_BITS = 0x0D57; - public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00; - public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038; - public static final int GL_TEXTURE_BINDING_2D = 0x8069; - public static final int GL_SAMPLE_BUFFERS = 0x80A8; - public static final int GL_SAMPLES = 0x80A9; - public static final int GL_SAMPLE_COVERAGE_VALUE = 0x80AA; - public static final int GL_SAMPLE_COVERAGE_INVERT = 0x80AB; - public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; - public static final int GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; - public static final int GL_DONT_CARE = 0x1100; - public static final int GL_FASTEST = 0x1101; - public static final int GL_NICEST = 0x1102; - public static final int GL_GENERATE_MIPMAP = 0x8191; - public static final int GL_GENERATE_MIPMAP_HINT = 0x8192; - public static final int GL_BYTE = 0x1400; - public static final int GL_UNSIGNED_BYTE = 0x1401; - public static final int GL_SHORT = 0x1402; - public static final int GL_UNSIGNED_SHORT = 0x1403; - public static final int GL_INT = 0x1404; - public static final int GL_UNSIGNED_INT = 0x1405; - public static final int GL_FLOAT = 0x1406; - public static final int GL_FIXED = 0x140C; - public static final int GL_DEPTH_COMPONENT = 0x1902; - public static final int GL_ALPHA = 0x1906; - public static final int GL_RGB = 0x1907; - public static final int GL_RGBA = 0x1908; - public static final int GL_LUMINANCE = 0x1909; - public static final int GL_LUMINANCE_ALPHA = 0x190A; - public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; - public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; - public static final int GL_UNSIGNED_SHORT_5_6_5 = 0x8363; - public static final int GL_FRAGMENT_SHADER = 0x8B30; - public static final int GL_VERTEX_SHADER = 0x8B31; - public static final int GL_MAX_VERTEX_ATTRIBS = 0x8869; - public static final int GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; - public static final int GL_MAX_VARYING_VECTORS = 0x8DFC; - public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; - public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872; - public static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; - public static final int GL_SHADER_TYPE = 0x8B4F; - public static final int GL_DELETE_STATUS = 0x8B80; - public static final int GL_LINK_STATUS = 0x8B82; - public static final int GL_VALIDATE_STATUS = 0x8B83; - public static final int GL_ATTACHED_SHADERS = 0x8B85; - public static final int GL_ACTIVE_UNIFORMS = 0x8B86; - public static final int GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; - public static final int GL_ACTIVE_ATTRIBUTES = 0x8B89; - public static final int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; - public static final int GL_SHADING_LANGUAGE_VERSION = 0x8B8C; - public static final int GL_CURRENT_PROGRAM = 0x8B8D; - public static final int GL_NEVER = 0x0200; - public static final int GL_LESS = 0x0201; - public static final int GL_EQUAL = 0x0202; - public static final int GL_LEQUAL = 0x0203; - public static final int GL_GREATER = 0x0204; - public static final int GL_NOTEQUAL = 0x0205; - public static final int GL_GEQUAL = 0x0206; - public static final int GL_ALWAYS = 0x0207; - public static final int GL_KEEP = 0x1E00; - public static final int GL_REPLACE = 0x1E01; - public static final int GL_INCR = 0x1E02; - public static final int GL_DECR = 0x1E03; - public static final int GL_INVERT = 0x150A; - public static final int GL_INCR_WRAP = 0x8507; - public static final int GL_DECR_WRAP = 0x8508; - public static final int GL_VENDOR = 0x1F00; - public static final int GL_RENDERER = 0x1F01; - public static final int GL_VERSION = 0x1F02; - public static final int GL_EXTENSIONS = 0x1F03; - public static final int GL_NEAREST = 0x2600; - public static final int GL_LINEAR = 0x2601; - public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700; - public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701; - public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702; - public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703; - public static final int GL_TEXTURE_MAG_FILTER = 0x2800; - public static final int GL_TEXTURE_MIN_FILTER = 0x2801; - public static final int GL_TEXTURE_WRAP_S = 0x2802; - public static final int GL_TEXTURE_WRAP_T = 0x2803; - public static final int GL_TEXTURE = 0x1702; - public static final int GL_TEXTURE_CUBE_MAP = 0x8513; - public static final int GL_TEXTURE_BINDING_CUBE_MAP = 0x8514; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; - public static final int GL_TEXTURE0 = 0x84C0; - public static final int GL_TEXTURE1 = 0x84C1; - public static final int GL_TEXTURE2 = 0x84C2; - public static final int GL_TEXTURE3 = 0x84C3; - public static final int GL_TEXTURE4 = 0x84C4; - public static final int GL_TEXTURE5 = 0x84C5; - public static final int GL_TEXTURE6 = 0x84C6; - public static final int GL_TEXTURE7 = 0x84C7; - public static final int GL_TEXTURE8 = 0x84C8; - public static final int GL_TEXTURE9 = 0x84C9; - public static final int GL_TEXTURE10 = 0x84CA; - public static final int GL_TEXTURE11 = 0x84CB; - public static final int GL_TEXTURE12 = 0x84CC; - public static final int GL_TEXTURE13 = 0x84CD; - public static final int GL_TEXTURE14 = 0x84CE; - public static final int GL_TEXTURE15 = 0x84CF; - public static final int GL_TEXTURE16 = 0x84D0; - public static final int GL_TEXTURE17 = 0x84D1; - public static final int GL_TEXTURE18 = 0x84D2; - public static final int GL_TEXTURE19 = 0x84D3; - public static final int GL_TEXTURE20 = 0x84D4; - public static final int GL_TEXTURE21 = 0x84D5; - public static final int GL_TEXTURE22 = 0x84D6; - public static final int GL_TEXTURE23 = 0x84D7; - public static final int GL_TEXTURE24 = 0x84D8; - public static final int GL_TEXTURE25 = 0x84D9; - public static final int GL_TEXTURE26 = 0x84DA; - public static final int GL_TEXTURE27 = 0x84DB; - public static final int GL_TEXTURE28 = 0x84DC; - public static final int GL_TEXTURE29 = 0x84DD; - public static final int GL_TEXTURE30 = 0x84DE; - public static final int GL_TEXTURE31 = 0x84DF; - public static final int GL_ACTIVE_TEXTURE = 0x84E0; - public static final int GL_REPEAT = 0x2901; - public static final int GL_CLAMP_TO_EDGE = 0x812F; - public static final int GL_MIRRORED_REPEAT = 0x8370; - public static final int GL_FLOAT_VEC2 = 0x8B50; - public static final int GL_FLOAT_VEC3 = 0x8B51; - public static final int GL_FLOAT_VEC4 = 0x8B52; - public static final int GL_INT_VEC2 = 0x8B53; - public static final int GL_INT_VEC3 = 0x8B54; - public static final int GL_INT_VEC4 = 0x8B55; - public static final int GL_BOOL = 0x8B56; - public static final int GL_BOOL_VEC2 = 0x8B57; - public static final int GL_BOOL_VEC3 = 0x8B58; - public static final int GL_BOOL_VEC4 = 0x8B59; - public static final int GL_FLOAT_MAT2 = 0x8B5A; - public static final int GL_FLOAT_MAT3 = 0x8B5B; - public static final int GL_FLOAT_MAT4 = 0x8B5C; - public static final int GL_SAMPLER_2D = 0x8B5E; - public static final int GL_SAMPLER_CUBE = 0x8B60; - public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; - public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; - public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; - public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; - public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; - public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; - public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; - public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; - public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; - public static final int GL_COMPILE_STATUS = 0x8B81; - public static final int GL_INFO_LOG_LENGTH = 0x8B84; - public static final int GL_SHADER_SOURCE_LENGTH = 0x8B88; - public static final int GL_SHADER_COMPILER = 0x8DFA; - public static final int GL_SHADER_BINARY_FORMATS = 0x8DF8; - public static final int GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9; - public static final int GL_LOW_FLOAT = 0x8DF0; - public static final int GL_MEDIUM_FLOAT = 0x8DF1; - public static final int GL_HIGH_FLOAT = 0x8DF2; - public static final int GL_LOW_INT = 0x8DF3; - public static final int GL_MEDIUM_INT = 0x8DF4; - public static final int GL_HIGH_INT = 0x8DF5; - public static final int GL_FRAMEBUFFER = 0x8D40; - public static final int GL_RENDERBUFFER = 0x8D41; - public static final int GL_RGBA4 = 0x8056; - public static final int GL_RGB5_A1 = 0x8057; - public static final int GL_RGB565 = 0x8D62; - public static final int GL_DEPTH_COMPONENT16 = 0x81A5; - public static final int GL_STENCIL_INDEX = 0x1901; - public static final int GL_STENCIL_INDEX8 = 0x8D48; - public static final int GL_RENDERBUFFER_WIDTH = 0x8D42; - public static final int GL_RENDERBUFFER_HEIGHT = 0x8D43; - public static final int GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; - public static final int GL_RENDERBUFFER_RED_SIZE = 0x8D50; - public static final int GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; - public static final int GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; - public static final int GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; - public static final int GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; - public static final int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; - public static final int GL_COLOR_ATTACHMENT0 = 0x8CE0; - public static final int GL_DEPTH_ATTACHMENT = 0x8D00; - public static final int GL_STENCIL_ATTACHMENT = 0x8D20; - public static final int GL_NONE = 0; - public static final int GL_FRAMEBUFFER_COMPLETE = 0x8CD5; - public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9; - public static final int GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; - public static final int GL_FRAMEBUFFER_BINDING = 0x8CA6; - public static final int GL_RENDERBUFFER_BINDING = 0x8CA7; - public static final int GL_MAX_RENDERBUFFER_SIZE = 0x84E8; - public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642; - public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; - - // more ergonomic versions of certain methods - public static int glGenBuffer() { - glGenBuffers(1, intBuf1); - return intBuf1.get(0); - } - - public static int glGetProgrami(int program, int pname) { - glGetProgramiv(program, pname, intBuf1); - return intBuf1.get(0); - } - - public static int glGetShaderi(int shader, int pname) { - glGetShaderiv(shader, pname, intBuf1); - return intBuf1.get(0); - } - - public static void glShaderSource(int shader, String source) { - BytePtr.BytePtrPtr sources = Struct.allocate(BytePtr.BytePtrPtr.class, 1); - sources.next(0).set(BytePtr.toBytePtrAsciiZ(source)); - glShaderSource(shader, 1, sources, null); - } - - public static String glGetProgramInfoLog(int program) { - ByteBuffer bbuf = GLUtil.newBuffer(MAX_LOG_SIZE); - glGetProgramInfoLog(program, MAX_LOG_SIZE, intBuf1, bbuf); - return toString(bbuf, intBuf1.get(0)); - } - - public static String glGetShaderInfoLog(int shader) { - ByteBuffer bbuf = GLUtil.newBuffer(MAX_LOG_SIZE); - glGetShaderInfoLog(shader, MAX_LOG_SIZE, intBuf1, bbuf); - return toString(bbuf, intBuf1.get(0)); - } - - private static String toString(ByteBuffer bbuf, int length) { - byte[] data = new byte[length]; - bbuf.get(data, 0, length); - return new String(data); - } - - private static final int MAX_LOG_SIZE = 8192; - private static IntBuffer intBuf1 = GLUtil.newIntBuffer(1); - - // NOTE: most of the commented out methods below will work as is, but any - // methods that use - // pointers probably need to be bridged (see the examples above for how that - // works) - - // @Bridge public static native void glActiveTexture (int texture); - @Bridge - public static native void glAttachShader(int program, int shader); - - // @Bridge public static native void glBindAttribLocation (int program, int - // index, String name); - @Bridge - public static native void glBindBuffer(int target, int buffer); - - // @Bridge public static native void glBindFramebuffer (int target, int - // framebuffer); - // @Bridge public static native void glBindRenderbuffer (int target, int - // renderbuffer); - // @Bridge public static native void glBindTexture (int target, int - // texture); - // @Bridge public static native void glBlendColor (float red, float green, - // float blue, float alpha); - // @Bridge public static native void glBlendEquation ( int mode ); - // @Bridge public static native void glBlendEquationSeparate (int modeRGB, - // int modeAlpha); - // @Bridge public static native void glBlendFunc (int sfactor, int dfactor); - // @Bridge public static native void glBlendFuncSeparate (int srcRGB, int - // dstRGB, int srcAlpha, int dstAlpha); - @Bridge - public static native void glBufferData(int target, int size, Buffer data, int usage); - - // @Bridge public static native void glBufferSubData (int target, int - // offset, int size, Buffer data); - // @Bridge public static native int glCheckFramebufferStatus (int target); - @Bridge - public static native void glClear(int mask); - - @Bridge - public static native void glClearColor(float red, float green, float blue, float alpha); - - // @Bridge public static native void glClearDepthf (float depth); - // @Bridge public static native void glClearStencil (int s); - // @Bridge public static native void glColorMask (boolean red, boolean - // green, boolean blue, boolean alpha); - @Bridge - public static native void glCompileShader(int shader); - - // @Bridge public static native void glCompressedTexImage2D (int target, int - // level, int internalformat, int width, int height, int border, int - // imageSize, Buffer data); - // @Bridge public static native void glCompressedTexSubImage2D (int target, - // int level, int xoffset, int yoffset, int width, int height, int format, - // int imageSize, Buffer data); - // @Bridge public static native void glCopyTexImage2D (int target, int - // level, int internalformat, int x, int y, int width, int height, int - // border); - // @Bridge public static native void glCopyTexSubImage2D (int target, int - // level, int xoffset, int yoffset, int x, int y, int width, int height); - @Bridge - public static native int glCreateProgram(); - - @Bridge - public static native int glCreateShader(int type); - - // @Bridge public static native void glCullFace (int mode); - // @Bridge public static native void glDeleteBuffers (int n, IntBuffer - // buffers); - // @Bridge public static native void glDeleteFramebuffers (int n, IntBuffer - // framebuffers); - // @Bridge public static native void glDeleteProgram (int program); - // @Bridge public static native void glDeleteRenderbuffers (int n, IntBuffer - // renderbuffers); - // @Bridge public static native void glDeleteShader (int shader); - // @Bridge public static native void glDeleteTextures (int n, IntBuffer - // textures); - // @Bridge public static native void glDepthFunc (int func); - // @Bridge public static native void glDepthMask (boolean flag); - // @Bridge public static native void glDepthRangef (float zNear, float - // zFar); - // @Bridge public static native void glDetachShader (int program, int - // shader); - // @Bridge public static native void glDisable (int cap); - // @Bridge public static native void glDisableVertexAttribArray (int index); - @Bridge - public static native void glDrawArrays(int mode, int first, int count); - - // @Bridge public static native void glDrawElements (int mode, int count, - // int type, Buffer indices); - // @Bridge public static native void glDrawElements (int mode, int count, - // int type, int indices); - @Bridge - public static native void glEnable(int cap); - - @Bridge - public static native void glEnableVertexAttribArray(int index); - - // @Bridge public static native void glFinish (); - // @Bridge public static native void glFlush (); - // @Bridge public static native void glFramebufferRenderbuffer (int target, - // int attachment, int renderbuffertarget, int renderbuffer); - // @Bridge public static native void glFramebufferTexture2D (int target, int - // attachment, int textarget, int texture, int level); - // @Bridge public static native void glFrontFace (int mode); - @Bridge - public static native void glGenBuffers(int n, IntBuffer buffers); - - // @Bridge public static native void glGenerateMipmap (int target); - // @Bridge public static native void glGenFramebuffers (int n, IntBuffer - // framebuffers); - // @Bridge public static native void glGenRenderbuffers (int n, IntBuffer - // renderbuffers); - // @Bridge public static native void glGenTextures (int n, IntBuffer - // textures); - // @Bridge public static native String glGetActiveAttrib (int program, int - // index, IntBuffer size, Buffer type); - // @Bridge public static native String glGetActiveUniform (int program, int - // index, IntBuffer size, Buffer type); - // @Bridge public static native void glGetAttachedShaders (int program, int - // maxcount, Buffer count, IntBuffer shaders); - @Bridge - public static native int glGetAttribLocation(int program, String name); - - // @Bridge public static native void glGetBooleanv (int pname, Buffer - // params); - // @Bridge public static native void glGetBufferParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native int glGetError (); - // @Bridge public static native void glGetFloatv (int pname, FloatBuffer - // params); - // @Bridge public static native void glGetFramebufferAttachmentParameteriv - // (int target, int attachment, int pname, IntBuffer params); - // @Bridge public static native void glGetIntegerv (int pname, IntBuffer - // params); - @Bridge - public static native void glGetProgramiv(int program, int pname, IntBuffer params); - - @Bridge - public static native void glGetProgramInfoLog(int program, int maxLogLen, IntBuffer length, ByteBuffer logData); - - // @Bridge public static native void glGetRenderbufferParameteriv (int - // target, int pname, IntBuffer params); - @Bridge - public static native void glGetShaderiv(int shader, int pname, IntBuffer params); - - @Bridge - public static native void glGetShaderInfoLog(int shader, int maxLogLen, IntBuffer length, ByteBuffer logData); - - // @Bridge public static native void glGetShaderPrecisionFormat (int - // shadertype, int precisiontype, IntBuffer range, IntBuffer precision); - // @Bridge public static native void glGetShaderSource (int shader, int - // bufsize, Buffer length, String source); - // @Bridge public static native String glGetString (int name); - // @Bridge public static native void glGetTexParameterfv (int target, int - // pname, FloatBuffer params); - // @Bridge public static native void glGetTexParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native void glGetUniformfv (int program, int - // location, FloatBuffer params); - // @Bridge public static native void glGetUniformiv (int program, int - // location, IntBuffer params); - @Bridge - public static native int glGetUniformLocation(int program, String name); - - // @Bridge public static native void glGetVertexAttribfv (int index, int - // pname, FloatBuffer params); - // @Bridge public static native void glGetVertexAttribiv (int index, int - // pname, IntBuffer params); - // @Bridge public static native void glGetVertexAttribPointerv (int index, - // int pname, Buffer pointer); - // @Bridge public static native void glHint (int target, int mode); - // @Bridge public static native boolean glIsBuffer (int buffer); - // @Bridge public static native boolean glIsEnabled (int cap); - // @Bridge public static native boolean glIsFramebuffer (int framebuffer); - // @Bridge public static native boolean glIsProgram (int program); - // @Bridge public static native boolean glIsRenderbuffer (int renderbuffer); - // @Bridge public static native boolean glIsShader (int shader); - // @Bridge public static native boolean glIsTexture (int texture); - // @Bridge public static native void glLineWidth (float width); - @Bridge - public static native void glLinkProgram(int program); - - // @Bridge public static native void glPixelStorei (int pname, int param); - // @Bridge public static native void glPolygonOffset (float factor, float - // units); - // @Bridge public static native void glReadPixels (int x, int y, int width, - // int height, int format, int type, Buffer pixels); - // @Bridge public static native void glReleaseShaderCompiler (); - // @Bridge public static native void glRenderbufferStorage (int target, int - // internalformat, int width, int height); - // @Bridge public static native void glSampleCoverage (float value, boolean - // invert); - // @Bridge public static native void glScissor (int x, int y, int width, int - // height); - // @Bridge public static native void glShaderBinary (int n, IntBuffer - // shaders, int binaryformat, Buffer binary, int length); - @Bridge - public static native void glShaderSource(int shader, int count, BytePtr.BytePtrPtr sources, IntPtr lengths); - - // @Bridge public static native void glStencilFunc (int func, int ref, int - // mask); - // @Bridge public static native void glStencilFuncSeparate (int face, int - // func, int ref, int mask); - // @Bridge public static native void glStencilMask (int mask); - // @Bridge public static native void glStencilMaskSeparate (int face, int - // mask); - // @Bridge public static native void glStencilOp (int fail, int zfail, int - // zpass); - // @Bridge public static native void glStencilOpSeparate (int face, int - // fail, int zfail, int zpass); - // @Bridge public static native void glTexImage2D (int target, int level, - // int internalformat, int width, int height, int border, int format, int - // type, Buffer pixels); - // @Bridge public static native void glTexParameterf (int target, int pname, - // float param); - // @Bridge public static native void glTexParameterfv (int target, int - // pname, FloatBuffer params); - // @Bridge public static native void glTexParameteri (int target, int pname, - // int param); - // @Bridge public static native void glTexParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native void glTexSubImage2D (int target, int level, - // int xoffset, int yoffset, int width, int height, int format, int type, - // Buffer pixels); - @Bridge - public static native void glUniform1f(int location, float x); - - // @Bridge public static native void glUniform1fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform1i(int location, int x); - - // @Bridge public static native void glUniform1iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform2f(int location, float x, float y); - - // @Bridge public static native void glUniform2fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform2i(int location, int x, int y); - - // @Bridge public static native void glUniform2iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform3f(int location, float x, float y, float z); - - // @Bridge public static native void glUniform3fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform3i(int location, int x, int y, int z); - - // @Bridge public static native void glUniform3iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform4f(int location, float x, float y, float z, float w); - - // @Bridge public static native void glUniform4fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform4i(int location, int x, int y, int z, int w); - - // @Bridge public static native void glUniform4iv (int location, int count, - // IntBuffer v); - // @Bridge public static native void glUniformMatrix2fv (int location, int - // count, boolean transpose, FloatBuffer value); - // @Bridge public static native void glUniformMatrix3fv (int location, int - // count, boolean transpose, FloatBuffer value); - // @Bridge public static native void glUniformMatrix4fv (int location, int - // count, boolean transpose, FloatBuffer value); - @Bridge - public static native void glUseProgram(int program); - - // @Bridge public static native void glValidateProgram (int program); - // @Bridge public static native void glVertexAttrib1f (int indx, float x); - // @Bridge public static native void glVertexAttrib1fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib2f (int indx, float x, - // float y); - // @Bridge public static native void glVertexAttrib2fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib3f (int indx, float x, - // float y, float z); - // @Bridge public static native void glVertexAttrib3fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib4f (int indx, float x, - // float y, float z, float w); - // @Bridge public static native void glVertexAttrib4fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttribPointer (int indx, int - // size, int type, boolean normalized, int stride, Buffer ptr); - @Bridge - public static native void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, - int ptr); - // @Bridge public static native void glViewport (int x, int y, int width, - // int height); -} diff --git a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLUtil.java b/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLUtil.java deleted file mode 100644 index 3268c63e..00000000 --- a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/GLUtil.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.IntBuffer; -import java.nio.FloatBuffer; -import static org.robovm.samples.hellogl.GLES2.*; - -public class GLUtil { - - public static int createShaderProgram (String vertSource, String fragSource) { - // NOTE: the error handling here is crap; a real program would keep track of all the GL - // resources it created and free them as appropriate; don't copy and paste this code - int vertShader = createShader(GL_VERTEX_SHADER, vertSource); - int fragShader = createShader(GL_FRAGMENT_SHADER, fragSource); - - int program = glCreateProgram(); - if (program == 0) throw new RuntimeException("glCreateProgram failed"); - - glAttachShader(program, vertShader); - glAttachShader(program, fragShader); - glLinkProgram(program); - - int linked = glGetProgrami(program, GL_LINK_STATUS); - if (linked == 0) throw new RuntimeException( - "glLinkProgram failed: " + glGetProgramInfoLog(program)); - return program; - } - - public static ByteBuffer newBuffer (int size) { - ByteBuffer buffer = ByteBuffer.allocateDirect(size); - buffer.order(ByteOrder.nativeOrder()); - return buffer; - } - public static IntBuffer newIntBuffer (int numInts) { - return newBuffer(numInts * 4).asIntBuffer(); - } - public static FloatBuffer newFloatBuffer (int numFloats) { - return newBuffer(numFloats * 4).asFloatBuffer(); - } - - private static int createShader (int type, String source) { - int shader = glCreateShader(type); - if (shader == 0) throw new RuntimeException("glCreateShader failed"); - glShaderSource(shader, source); - glCompileShader(shader); - int compiled = glGetShaderi(shader, GL_COMPILE_STATUS); - if (compiled == 0) throw new RuntimeException( - "glCompileShader failed: " + glGetShaderInfoLog(shader)); - return shader; - } -} diff --git a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloGL.java b/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloGL.java deleted file mode 100644 index effc87e8..00000000 --- a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloGL.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import org.robovm.apple.foundation.NSAutoreleasePool; -import org.robovm.apple.opengles.EAGLContext; -import org.robovm.apple.opengles.EAGLRenderingAPI; -import org.robovm.apple.uikit.UIApplication; -import org.robovm.apple.uikit.UIApplicationDelegateAdapter; -import org.robovm.apple.uikit.UIApplicationLaunchOptions; -import org.robovm.apple.uikit.UIScreen; -import org.robovm.apple.uikit.UIWindow; - -public class HelloGL extends UIApplicationDelegateAdapter { - private UIWindow window; - - @Override - public boolean didFinishLaunching(UIApplication application, - UIApplicationLaunchOptions launchOptions) { - // create our EAGLContext - EAGLContext ctx = new EAGLContext(EAGLRenderingAPI.OpenGLES2); - - // Create a new window at screen size. - window = new UIWindow(UIScreen.getMainScreen().getBounds()); - // Set our view controller as the root controller for the window. - window.setRootViewController(new HelloViewController(ctx, window.getBounds())); - // Make the window visible. - window.makeKeyAndVisible(); - - // Retains the window object until the application is deallocated. - // Prevents Java GC from - // collecting the window object too early. - addStrongRef(window); - - return true; - } - - public static void main(String[] args) { - NSAutoreleasePool pool = new NSAutoreleasePool(); - UIApplication.main(args, null, HelloGL.class); - pool.close(); - } -} diff --git a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloViewController.java b/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloViewController.java deleted file mode 100644 index c33f41c1..00000000 --- a/ios/hellogl/src/main/java/org/robovm/samples/hellogl/HelloViewController.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import static org.robovm.samples.hellogl.GLES2.GL_ARRAY_BUFFER; -import static org.robovm.samples.hellogl.GLES2.GL_COLOR_BUFFER_BIT; -import static org.robovm.samples.hellogl.GLES2.GL_FLOAT; -import static org.robovm.samples.hellogl.GLES2.GL_STATIC_DRAW; -import static org.robovm.samples.hellogl.GLES2.GL_TRIANGLES; -import static org.robovm.samples.hellogl.GLES2.glBindBuffer; -import static org.robovm.samples.hellogl.GLES2.glBufferData; -import static org.robovm.samples.hellogl.GLES2.glClear; -import static org.robovm.samples.hellogl.GLES2.glClearColor; -import static org.robovm.samples.hellogl.GLES2.glDrawArrays; -import static org.robovm.samples.hellogl.GLES2.glEnableVertexAttribArray; -import static org.robovm.samples.hellogl.GLES2.glGenBuffer; -import static org.robovm.samples.hellogl.GLES2.glGetAttribLocation; -import static org.robovm.samples.hellogl.GLES2.glGetUniformLocation; -import static org.robovm.samples.hellogl.GLES2.glUniform2f; -import static org.robovm.samples.hellogl.GLES2.glUniform4f; -import static org.robovm.samples.hellogl.GLES2.glUseProgram; -import static org.robovm.samples.hellogl.GLES2.glVertexAttribPointer; - -import java.nio.FloatBuffer; - -import org.robovm.apple.coregraphics.CGRect; -import org.robovm.apple.glkit.GLKView; -import org.robovm.apple.glkit.GLKViewController; -import org.robovm.apple.glkit.GLKViewControllerDelegate; -import org.robovm.apple.opengles.EAGLContext; -import org.robovm.apple.uikit.UIColor; -import org.robovm.apple.uikit.UIInterfaceOrientation; -import org.robovm.apple.uikit.UIInterfaceOrientationMask; -import org.robovm.objc.Selector; -import org.robovm.objc.annotation.BindSelector; -import org.robovm.rt.bro.annotation.Callback; - -public class HelloViewController extends GLKViewController implements GLKViewControllerDelegate { - private final EAGLContext ctx; - private final int glProgram; - private final int resLoc, colorLoc; - private float hue = 0; - - public HelloViewController(EAGLContext ctx, CGRect bounds) { - this.ctx = ctx; - - GLKView view = new GLKView(bounds, ctx) { - @Override - public void draw(CGRect rect) { - // fill in a white background - glClearColor(1, 1, 1, 1); - glClear(GL_COLOR_BUFFER_BIT); - - // draw our triangles on top of that - glUseProgram(glProgram); - int rgb = HSBtoRGB(hue, 0.75f, 0.75f); - glUniform4f(colorLoc, - ((rgb & 0xFF0000) >> 16) / 255f, - ((rgb & 0x00FF00) >> 8) / 255f, - ((rgb & 0x0000FF) >> 0) / 255f, - 1); - glDrawArrays(GL_TRIANGLES, 0, 6); - } - }; - view.setMultipleTouchEnabled(true); - view.setBackgroundColor(UIColor.yellow()); - setView(view); - - setDelegate(this); - setPreferredFramesPerSecond(60); // TODO - - // compile our shaders, set up our vertex buffer - makeCurrent(); - String vertShader = - "attribute vec2 a_position;\n" + - "uniform vec2 u_resolution;\n" + - "uniform vec4 u_color;\n" + - "varying lowp vec4 v_color;\n" + - "void main() {\n" + - " // convert the rectangle from pixels to 0.0 to 1.0\n" + - " vec2 zeroToOne = a_position / u_resolution;\n" + - " // convert from 0->1 to 0->2\n" + - " vec2 zeroToTwo = zeroToOne * 2.0;\n" + - " // convert from 0->2 to -1->+1 (clipspace)\n" + - " vec2 clipSpace = zeroToTwo - 1.0;\n" + - " gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n" + - " // just copy the color uniform into a varying\n" + - " v_color = u_color;\n" + - "}"; - String fragShader = - "varying lowp vec4 v_color;\n" + - "void main() {\n" + - " gl_FragColor = v_color;\n" + - "}"; - glProgram = GLUtil.createShaderProgram(vertShader, fragShader); - glUseProgram(glProgram); - - // bind the current screen size to an attribute so that our shader - // operates on pixels - // rather than in clip space - resLoc = glGetUniformLocation(glProgram, "u_resolution"); - glUniform2f(resLoc, (float) bounds.getWidth(), (float) bounds.getHeight()); - - // note our color uniform, which we'll set in draw() - colorLoc = glGetUniformLocation(glProgram, "u_color"); - - // create a buffer with two triangles arranged to make a rectangle - int buffer = glGenBuffer(); - glBindBuffer(GL_ARRAY_BUFFER, buffer); - FloatBuffer data = GLUtil.newFloatBuffer(12); - float t = 100, l = 50, b = 200, r = 200; - data.put(new float[] { - l, t, - r, t, - l, b, - l, b, - r, t, - r, b }); - glBufferData(GL_ARRAY_BUFFER, 12 * 4, data, GL_STATIC_DRAW); - - // configre a_position as our vertex array - int posLoc = glGetAttribLocation(glProgram, "a_position"); - glEnableVertexAttribArray(posLoc); - glVertexAttribPointer(posLoc, 2, GL_FLOAT, false, 0, 0); - } - - @Override - // from GLKViewControllerDelegate - public void update(GLKViewController self) { - hue += 0.01f; - if (hue > 1) - hue -= 1; - } - - @Override - // from GLKViewControllerDelegate - public void willPause(GLKViewController self, boolean paused) { - System.out.println("willPause(" + paused + ")"); - } - - @Override - // from ViewController - public void viewWillAppear(boolean animated) { - super.viewWillAppear(animated); - System.out.println("viewWillAppear(" + animated + ")"); - } - - @Override - // from ViewController - public void viewDidAppear(boolean animated) { - super.viewDidAppear(animated); - System.out.println("viewDidAppear(" + animated + ")"); - } - - @Override - // from ViewController - public void didRotate(UIInterfaceOrientation orientation) { - super.didRotate(orientation); - CGRect bounds = getView().getBounds(); - System.out.println("didRotate(" + orientation + "): " + bounds); - glUniform2f(resLoc, (float) bounds.getWidth(), (float) bounds.getHeight()); - } - - @Override - // from ViewController - public UIInterfaceOrientationMask getSupportedInterfaceOrientations() { - return UIInterfaceOrientationMask.All; - } - - @Override - // from ViewController - public boolean shouldAutorotate() { - return true; - } - - public boolean shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation orientation) { - return true; - } - - void makeCurrent() { - System.out.println("makeCurrent"); - EAGLContext.setCurrentContext(ctx); - } - - @Callback - @BindSelector("shouldAutorotateToInterfaceOrientation:") - private static boolean shouldAutorotateToInterfaceOrientation( - HelloViewController self, Selector sel, UIInterfaceOrientation orientation) { - return self.shouldAutorotateToInterfaceOrientation(orientation); - } - - private static int HSBtoRGB(float hue, float saturation, float brightness) { - int r = 0, g = 0, b = 0; - if (saturation == 0) { - r = g = b = (int) (brightness * 255.0f + 0.5f); - } else { - float h = (hue - (float) Math.floor(hue)) * 6.0f; - float f = h - (float) java.lang.Math.floor(h); - float p = brightness * (1.0f - saturation); - float q = brightness * (1.0f - saturation * f); - float t = brightness * (1.0f - (saturation * (1.0f - f))); - switch ((int) h) { - case 0: - r = (int) (brightness * 255.0f + 0.5f); - g = (int) (t * 255.0f + 0.5f); - b = (int) (p * 255.0f + 0.5f); - break; - case 1: - r = (int) (q * 255.0f + 0.5f); - g = (int) (brightness * 255.0f + 0.5f); - b = (int) (p * 255.0f + 0.5f); - break; - case 2: - r = (int) (p * 255.0f + 0.5f); - g = (int) (brightness * 255.0f + 0.5f); - b = (int) (t * 255.0f + 0.5f); - break; - case 3: - r = (int) (p * 255.0f + 0.5f); - g = (int) (q * 255.0f + 0.5f); - b = (int) (brightness * 255.0f + 0.5f); - break; - case 4: - r = (int) (t * 255.0f + 0.5f); - g = (int) (p * 255.0f + 0.5f); - b = (int) (brightness * 255.0f + 0.5f); - break; - case 5: - r = (int) (brightness * 255.0f + 0.5f); - g = (int) (p * 255.0f + 0.5f); - b = (int) (q * 255.0f + 0.5f); - break; - } - } - return 0xff000000 | (r << 16) | (g << 8) | (b << 0); - } -} diff --git a/ios/pom.xml b/ios/pom.xml index ae24dfd3..9b0f89da 100644 --- a/ios/pom.xml +++ b/ios/pom.xml @@ -46,8 +46,7 @@ customanimatableproperty datecell docinteraction - footprint - hellogl + footprint helloworld iapstoreproductviewcontroller inapppurchases diff --git a/settings.gradle b/settings.gradle index 108af246..7f013f5f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,7 +12,6 @@ include 'ios:customanimatableproperty' include 'ios:datecell' include 'ios:docinteraction' include 'ios:footprint' -include 'ios:hellogl' include 'ios:helloworld' include 'ios:iapstoreproductviewcontroller' include 'ios:inapppurchases' @@ -60,7 +59,6 @@ include 'robopods:plugins:robo.billing' include 'robopods:plugins:robo.dialog' include 'robopods:plugins:robo.settings' -include 'tvos:hellogl-tvos' include 'tvos:tvmlaudiovideo' include 'CustomFrameworks' diff --git a/tvos/hellogl-tvos/Info.plist.xml b/tvos/hellogl-tvos/Info.plist.xml deleted file mode 100644 index 3aa0e66b..00000000 --- a/tvos/hellogl-tvos/Info.plist.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${app.name} - CFBundleExecutable - ${app.executable} - CFBundleIdentifier - ${app.id} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${app.name} - CFBundlePackageType - APPL - CFBundleShortVersionString - ${app.version} - CFBundleSignature - ???? - CFBundleVersion - ${app.build} - LSRequiresIPhoneOS - - UIDeviceFamily - - 3 - - UIRequiredDeviceCapabilities - - arm64 - - - diff --git a/tvos/hellogl-tvos/pom.xml b/tvos/hellogl-tvos/pom.xml deleted file mode 100644 index 86d6b8fa..00000000 --- a/tvos/hellogl-tvos/pom.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - 4.0.0 - - - org.robovm - robovm-samples-tvos-parent - 1.0 - - - robovm-samples-hellogl-tvos - Demonstrates a basic OpenGL view on tvOS devices - - jar - - - src/main/java - - - - - org.robovm - robovm-rt - - - org.robovm - robovm-cocoatouch - - - diff --git a/tvos/hellogl-tvos/resources/Background.png b/tvos/hellogl-tvos/resources/Background.png deleted file mode 100644 index ea929d88..00000000 Binary files a/tvos/hellogl-tvos/resources/Background.png and /dev/null differ diff --git a/tvos/hellogl-tvos/resources/Images.xcassets/AppIcon.appiconset/Contents.json b/tvos/hellogl-tvos/resources/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 3b506440..00000000 --- a/tvos/hellogl-tvos/resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "images" : [], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/tvos/hellogl-tvos/resources/Images.xcassets/LaunchImage.launchimage/Contents.json b/tvos/hellogl-tvos/resources/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index 3b506440..00000000 --- a/tvos/hellogl-tvos/resources/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "images" : [], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/tvos/hellogl-tvos/robovm.properties b/tvos/hellogl-tvos/robovm.properties deleted file mode 100644 index 777f1dcf..00000000 --- a/tvos/hellogl-tvos/robovm.properties +++ /dev/null @@ -1,6 +0,0 @@ -app.version=1.0 -app.id=org.robovm.samples.hellogl -app.mainclass=org.robovm.samples.hellogl.HelloGL -app.executable=HelloGL -app.build=1 -app.name=HelloGL diff --git a/tvos/hellogl-tvos/robovm.xml b/tvos/hellogl-tvos/robovm.xml deleted file mode 100644 index 5f6e19f4..00000000 --- a/tvos/hellogl-tvos/robovm.xml +++ /dev/null @@ -1,13 +0,0 @@ - - ${app.executable} - ${app.mainclass} - tvos - - - resources - - - tvos - Info.plist.xml - aggressive - diff --git a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLES2.java b/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLES2.java deleted file mode 100644 index 3c882422..00000000 --- a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLES2.java +++ /dev/null @@ -1,683 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import java.nio.Buffer; -import java.nio.ByteBuffer; -import java.nio.IntBuffer; - -import org.robovm.rt.bro.Bro; -import org.robovm.rt.bro.Struct; -import org.robovm.rt.bro.annotation.Bridge; -import org.robovm.rt.bro.annotation.Library; -import org.robovm.rt.bro.ptr.BytePtr; -import org.robovm.rt.bro.ptr.IntPtr; - -@Library("OpenGLES") -public class GLES2 { - static { - Bro.bind(GLES2.class); - } - - public static final int GL_ES_VERSION_2_0 = 1; - public static final int GL_DEPTH_BUFFER_BIT = 0x00000100; - public static final int GL_STENCIL_BUFFER_BIT = 0x00000400; - public static final int GL_COLOR_BUFFER_BIT = 0x00004000; - public static final int GL_FALSE = 0; - public static final int GL_TRUE = 1; - public static final int GL_POINTS = 0x0000; - public static final int GL_LINES = 0x0001; - public static final int GL_LINE_LOOP = 0x0002; - public static final int GL_LINE_STRIP = 0x0003; - public static final int GL_TRIANGLES = 0x0004; - public static final int GL_TRIANGLE_STRIP = 0x0005; - public static final int GL_TRIANGLE_FAN = 0x0006; - public static final int GL_ZERO = 0; - public static final int GL_ONE = 1; - public static final int GL_SRC_COLOR = 0x0300; - public static final int GL_ONE_MINUS_SRC_COLOR = 0x0301; - public static final int GL_SRC_ALPHA = 0x0302; - public static final int GL_ONE_MINUS_SRC_ALPHA = 0x0303; - public static final int GL_DST_ALPHA = 0x0304; - public static final int GL_ONE_MINUS_DST_ALPHA = 0x0305; - public static final int GL_DST_COLOR = 0x0306; - public static final int GL_ONE_MINUS_DST_COLOR = 0x0307; - public static final int GL_SRC_ALPHA_SATURATE = 0x0308; - public static final int GL_FUNC_ADD = 0x8006; - public static final int GL_BLEND_EQUATION = 0x8009; - public static final int GL_BLEND_EQUATION_RGB = 0x8009; - public static final int GL_BLEND_EQUATION_ALPHA = 0x883D; - public static final int GL_FUNC_SUBTRACT = 0x800A; - public static final int GL_FUNC_REVERSE_SUBTRACT = 0x800B; - public static final int GL_BLEND_DST_RGB = 0x80C8; - public static final int GL_BLEND_SRC_RGB = 0x80C9; - public static final int GL_BLEND_DST_ALPHA = 0x80CA; - public static final int GL_BLEND_SRC_ALPHA = 0x80CB; - public static final int GL_CONSTANT_COLOR = 0x8001; - public static final int GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; - public static final int GL_CONSTANT_ALPHA = 0x8003; - public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; - public static final int GL_BLEND_COLOR = 0x8005; - public static final int GL_ARRAY_BUFFER = 0x8892; - public static final int GL_ELEMENT_ARRAY_BUFFER = 0x8893; - public static final int GL_ARRAY_BUFFER_BINDING = 0x8894; - public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895; - public static final int GL_STREAM_DRAW = 0x88E0; - public static final int GL_STATIC_DRAW = 0x88E4; - public static final int GL_DYNAMIC_DRAW = 0x88E8; - public static final int GL_BUFFER_SIZE = 0x8764; - public static final int GL_BUFFER_USAGE = 0x8765; - public static final int GL_CURRENT_VERTEX_ATTRIB = 0x8626; - public static final int GL_FRONT = 0x0404; - public static final int GL_BACK = 0x0405; - public static final int GL_FRONT_AND_BACK = 0x0408; - public static final int GL_TEXTURE_2D = 0x0DE1; - public static final int GL_CULL_FACE = 0x0B44; - public static final int GL_BLEND = 0x0BE2; - public static final int GL_DITHER = 0x0BD0; - public static final int GL_STENCIL_TEST = 0x0B90; - public static final int GL_DEPTH_TEST = 0x0B71; - public static final int GL_SCISSOR_TEST = 0x0C11; - public static final int GL_POLYGON_OFFSET_FILL = 0x8037; - public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E; - public static final int GL_SAMPLE_COVERAGE = 0x80A0; - public static final int GL_NO_ERROR = 0; - public static final int GL_INVALID_ENUM = 0x0500; - public static final int GL_INVALID_VALUE = 0x0501; - public static final int GL_INVALID_OPERATION = 0x0502; - public static final int GL_OUT_OF_MEMORY = 0x0505; - public static final int GL_CW = 0x0900; - public static final int GL_CCW = 0x0901; - public static final int GL_LINE_WIDTH = 0x0B21; - public static final int GL_ALIASED_POINT_SIZE_RANGE = 0x846D; - public static final int GL_ALIASED_LINE_WIDTH_RANGE = 0x846E; - public static final int GL_CULL_FACE_MODE = 0x0B45; - public static final int GL_FRONT_FACE = 0x0B46; - public static final int GL_DEPTH_RANGE = 0x0B70; - public static final int GL_DEPTH_WRITEMASK = 0x0B72; - public static final int GL_DEPTH_CLEAR_VALUE = 0x0B73; - public static final int GL_DEPTH_FUNC = 0x0B74; - public static final int GL_STENCIL_CLEAR_VALUE = 0x0B91; - public static final int GL_STENCIL_FUNC = 0x0B92; - public static final int GL_STENCIL_FAIL = 0x0B94; - public static final int GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95; - public static final int GL_STENCIL_PASS_DEPTH_PASS = 0x0B96; - public static final int GL_STENCIL_REF = 0x0B97; - public static final int GL_STENCIL_VALUE_MASK = 0x0B93; - public static final int GL_STENCIL_WRITEMASK = 0x0B98; - public static final int GL_STENCIL_BACK_FUNC = 0x8800; - public static final int GL_STENCIL_BACK_FAIL = 0x8801; - public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802; - public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803; - public static final int GL_STENCIL_BACK_REF = 0x8CA3; - public static final int GL_STENCIL_BACK_VALUE_MASK = 0x8CA4; - public static final int GL_STENCIL_BACK_WRITEMASK = 0x8CA5; - public static final int GL_VIEWPORT = 0x0BA2; - public static final int GL_SCISSOR_BOX = 0x0C10; - public static final int GL_COLOR_CLEAR_VALUE = 0x0C22; - public static final int GL_COLOR_WRITEMASK = 0x0C23; - public static final int GL_UNPACK_ALIGNMENT = 0x0CF5; - public static final int GL_PACK_ALIGNMENT = 0x0D05; - public static final int GL_MAX_TEXTURE_SIZE = 0x0D33; - public static final int GL_MAX_TEXTURE_UNITS = 0x84E2; - public static final int GL_MAX_VIEWPORT_DIMS = 0x0D3A; - public static final int GL_SUBPIXEL_BITS = 0x0D50; - public static final int GL_RED_BITS = 0x0D52; - public static final int GL_GREEN_BITS = 0x0D53; - public static final int GL_BLUE_BITS = 0x0D54; - public static final int GL_ALPHA_BITS = 0x0D55; - public static final int GL_DEPTH_BITS = 0x0D56; - public static final int GL_STENCIL_BITS = 0x0D57; - public static final int GL_POLYGON_OFFSET_UNITS = 0x2A00; - public static final int GL_POLYGON_OFFSET_FACTOR = 0x8038; - public static final int GL_TEXTURE_BINDING_2D = 0x8069; - public static final int GL_SAMPLE_BUFFERS = 0x80A8; - public static final int GL_SAMPLES = 0x80A9; - public static final int GL_SAMPLE_COVERAGE_VALUE = 0x80AA; - public static final int GL_SAMPLE_COVERAGE_INVERT = 0x80AB; - public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2; - public static final int GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3; - public static final int GL_DONT_CARE = 0x1100; - public static final int GL_FASTEST = 0x1101; - public static final int GL_NICEST = 0x1102; - public static final int GL_GENERATE_MIPMAP = 0x8191; - public static final int GL_GENERATE_MIPMAP_HINT = 0x8192; - public static final int GL_BYTE = 0x1400; - public static final int GL_UNSIGNED_BYTE = 0x1401; - public static final int GL_SHORT = 0x1402; - public static final int GL_UNSIGNED_SHORT = 0x1403; - public static final int GL_INT = 0x1404; - public static final int GL_UNSIGNED_INT = 0x1405; - public static final int GL_FLOAT = 0x1406; - public static final int GL_FIXED = 0x140C; - public static final int GL_DEPTH_COMPONENT = 0x1902; - public static final int GL_ALPHA = 0x1906; - public static final int GL_RGB = 0x1907; - public static final int GL_RGBA = 0x1908; - public static final int GL_LUMINANCE = 0x1909; - public static final int GL_LUMINANCE_ALPHA = 0x190A; - public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033; - public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034; - public static final int GL_UNSIGNED_SHORT_5_6_5 = 0x8363; - public static final int GL_FRAGMENT_SHADER = 0x8B30; - public static final int GL_VERTEX_SHADER = 0x8B31; - public static final int GL_MAX_VERTEX_ATTRIBS = 0x8869; - public static final int GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB; - public static final int GL_MAX_VARYING_VECTORS = 0x8DFC; - public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D; - public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C; - public static final int GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872; - public static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD; - public static final int GL_SHADER_TYPE = 0x8B4F; - public static final int GL_DELETE_STATUS = 0x8B80; - public static final int GL_LINK_STATUS = 0x8B82; - public static final int GL_VALIDATE_STATUS = 0x8B83; - public static final int GL_ATTACHED_SHADERS = 0x8B85; - public static final int GL_ACTIVE_UNIFORMS = 0x8B86; - public static final int GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87; - public static final int GL_ACTIVE_ATTRIBUTES = 0x8B89; - public static final int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A; - public static final int GL_SHADING_LANGUAGE_VERSION = 0x8B8C; - public static final int GL_CURRENT_PROGRAM = 0x8B8D; - public static final int GL_NEVER = 0x0200; - public static final int GL_LESS = 0x0201; - public static final int GL_EQUAL = 0x0202; - public static final int GL_LEQUAL = 0x0203; - public static final int GL_GREATER = 0x0204; - public static final int GL_NOTEQUAL = 0x0205; - public static final int GL_GEQUAL = 0x0206; - public static final int GL_ALWAYS = 0x0207; - public static final int GL_KEEP = 0x1E00; - public static final int GL_REPLACE = 0x1E01; - public static final int GL_INCR = 0x1E02; - public static final int GL_DECR = 0x1E03; - public static final int GL_INVERT = 0x150A; - public static final int GL_INCR_WRAP = 0x8507; - public static final int GL_DECR_WRAP = 0x8508; - public static final int GL_VENDOR = 0x1F00; - public static final int GL_RENDERER = 0x1F01; - public static final int GL_VERSION = 0x1F02; - public static final int GL_EXTENSIONS = 0x1F03; - public static final int GL_NEAREST = 0x2600; - public static final int GL_LINEAR = 0x2601; - public static final int GL_NEAREST_MIPMAP_NEAREST = 0x2700; - public static final int GL_LINEAR_MIPMAP_NEAREST = 0x2701; - public static final int GL_NEAREST_MIPMAP_LINEAR = 0x2702; - public static final int GL_LINEAR_MIPMAP_LINEAR = 0x2703; - public static final int GL_TEXTURE_MAG_FILTER = 0x2800; - public static final int GL_TEXTURE_MIN_FILTER = 0x2801; - public static final int GL_TEXTURE_WRAP_S = 0x2802; - public static final int GL_TEXTURE_WRAP_T = 0x2803; - public static final int GL_TEXTURE = 0x1702; - public static final int GL_TEXTURE_CUBE_MAP = 0x8513; - public static final int GL_TEXTURE_BINDING_CUBE_MAP = 0x8514; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518; - public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519; - public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A; - public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C; - public static final int GL_TEXTURE0 = 0x84C0; - public static final int GL_TEXTURE1 = 0x84C1; - public static final int GL_TEXTURE2 = 0x84C2; - public static final int GL_TEXTURE3 = 0x84C3; - public static final int GL_TEXTURE4 = 0x84C4; - public static final int GL_TEXTURE5 = 0x84C5; - public static final int GL_TEXTURE6 = 0x84C6; - public static final int GL_TEXTURE7 = 0x84C7; - public static final int GL_TEXTURE8 = 0x84C8; - public static final int GL_TEXTURE9 = 0x84C9; - public static final int GL_TEXTURE10 = 0x84CA; - public static final int GL_TEXTURE11 = 0x84CB; - public static final int GL_TEXTURE12 = 0x84CC; - public static final int GL_TEXTURE13 = 0x84CD; - public static final int GL_TEXTURE14 = 0x84CE; - public static final int GL_TEXTURE15 = 0x84CF; - public static final int GL_TEXTURE16 = 0x84D0; - public static final int GL_TEXTURE17 = 0x84D1; - public static final int GL_TEXTURE18 = 0x84D2; - public static final int GL_TEXTURE19 = 0x84D3; - public static final int GL_TEXTURE20 = 0x84D4; - public static final int GL_TEXTURE21 = 0x84D5; - public static final int GL_TEXTURE22 = 0x84D6; - public static final int GL_TEXTURE23 = 0x84D7; - public static final int GL_TEXTURE24 = 0x84D8; - public static final int GL_TEXTURE25 = 0x84D9; - public static final int GL_TEXTURE26 = 0x84DA; - public static final int GL_TEXTURE27 = 0x84DB; - public static final int GL_TEXTURE28 = 0x84DC; - public static final int GL_TEXTURE29 = 0x84DD; - public static final int GL_TEXTURE30 = 0x84DE; - public static final int GL_TEXTURE31 = 0x84DF; - public static final int GL_ACTIVE_TEXTURE = 0x84E0; - public static final int GL_REPEAT = 0x2901; - public static final int GL_CLAMP_TO_EDGE = 0x812F; - public static final int GL_MIRRORED_REPEAT = 0x8370; - public static final int GL_FLOAT_VEC2 = 0x8B50; - public static final int GL_FLOAT_VEC3 = 0x8B51; - public static final int GL_FLOAT_VEC4 = 0x8B52; - public static final int GL_INT_VEC2 = 0x8B53; - public static final int GL_INT_VEC3 = 0x8B54; - public static final int GL_INT_VEC4 = 0x8B55; - public static final int GL_BOOL = 0x8B56; - public static final int GL_BOOL_VEC2 = 0x8B57; - public static final int GL_BOOL_VEC3 = 0x8B58; - public static final int GL_BOOL_VEC4 = 0x8B59; - public static final int GL_FLOAT_MAT2 = 0x8B5A; - public static final int GL_FLOAT_MAT3 = 0x8B5B; - public static final int GL_FLOAT_MAT4 = 0x8B5C; - public static final int GL_SAMPLER_2D = 0x8B5E; - public static final int GL_SAMPLER_CUBE = 0x8B60; - public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622; - public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623; - public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624; - public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625; - public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A; - public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645; - public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F; - public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A; - public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B; - public static final int GL_COMPILE_STATUS = 0x8B81; - public static final int GL_INFO_LOG_LENGTH = 0x8B84; - public static final int GL_SHADER_SOURCE_LENGTH = 0x8B88; - public static final int GL_SHADER_COMPILER = 0x8DFA; - public static final int GL_SHADER_BINARY_FORMATS = 0x8DF8; - public static final int GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9; - public static final int GL_LOW_FLOAT = 0x8DF0; - public static final int GL_MEDIUM_FLOAT = 0x8DF1; - public static final int GL_HIGH_FLOAT = 0x8DF2; - public static final int GL_LOW_INT = 0x8DF3; - public static final int GL_MEDIUM_INT = 0x8DF4; - public static final int GL_HIGH_INT = 0x8DF5; - public static final int GL_FRAMEBUFFER = 0x8D40; - public static final int GL_RENDERBUFFER = 0x8D41; - public static final int GL_RGBA4 = 0x8056; - public static final int GL_RGB5_A1 = 0x8057; - public static final int GL_RGB565 = 0x8D62; - public static final int GL_DEPTH_COMPONENT16 = 0x81A5; - public static final int GL_STENCIL_INDEX = 0x1901; - public static final int GL_STENCIL_INDEX8 = 0x8D48; - public static final int GL_RENDERBUFFER_WIDTH = 0x8D42; - public static final int GL_RENDERBUFFER_HEIGHT = 0x8D43; - public static final int GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44; - public static final int GL_RENDERBUFFER_RED_SIZE = 0x8D50; - public static final int GL_RENDERBUFFER_GREEN_SIZE = 0x8D51; - public static final int GL_RENDERBUFFER_BLUE_SIZE = 0x8D52; - public static final int GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53; - public static final int GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54; - public static final int GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0; - public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2; - public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3; - public static final int GL_COLOR_ATTACHMENT0 = 0x8CE0; - public static final int GL_DEPTH_ATTACHMENT = 0x8D00; - public static final int GL_STENCIL_ATTACHMENT = 0x8D20; - public static final int GL_NONE = 0; - public static final int GL_FRAMEBUFFER_COMPLETE = 0x8CD5; - public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6; - public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7; - public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9; - public static final int GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD; - public static final int GL_FRAMEBUFFER_BINDING = 0x8CA6; - public static final int GL_RENDERBUFFER_BINDING = 0x8CA7; - public static final int GL_MAX_RENDERBUFFER_SIZE = 0x84E8; - public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506; - public static final int GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642; - public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; - public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; - - // more ergonomic versions of certain methods - public static int glGenBuffer() { - glGenBuffers(1, intBuf1); - return intBuf1.get(0); - } - - public static int glGetProgrami(int program, int pname) { - glGetProgramiv(program, pname, intBuf1); - return intBuf1.get(0); - } - - public static int glGetShaderi(int shader, int pname) { - glGetShaderiv(shader, pname, intBuf1); - return intBuf1.get(0); - } - - public static void glShaderSource(int shader, String source) { - BytePtr.BytePtrPtr sources = Struct.allocate(BytePtr.BytePtrPtr.class, 1); - sources.next(0).set(BytePtr.toBytePtrAsciiZ(source)); - glShaderSource(shader, 1, sources, null); - } - - public static String glGetProgramInfoLog(int program) { - ByteBuffer bbuf = GLUtil.newBuffer(MAX_LOG_SIZE); - glGetProgramInfoLog(program, MAX_LOG_SIZE, intBuf1, bbuf); - return toString(bbuf, intBuf1.get(0)); - } - - public static String glGetShaderInfoLog(int shader) { - ByteBuffer bbuf = GLUtil.newBuffer(MAX_LOG_SIZE); - glGetShaderInfoLog(shader, MAX_LOG_SIZE, intBuf1, bbuf); - return toString(bbuf, intBuf1.get(0)); - } - - private static String toString(ByteBuffer bbuf, int length) { - byte[] data = new byte[length]; - bbuf.get(data, 0, length); - return new String(data); - } - - private static final int MAX_LOG_SIZE = 8192; - private static IntBuffer intBuf1 = GLUtil.newIntBuffer(1); - - // NOTE: most of the commented out methods below will work as is, but any - // methods that use - // pointers probably need to be bridged (see the examples above for how that - // works) - - // @Bridge public static native void glActiveTexture (int texture); - @Bridge - public static native void glAttachShader(int program, int shader); - - // @Bridge public static native void glBindAttribLocation (int program, int - // index, String name); - @Bridge - public static native void glBindBuffer(int target, int buffer); - - // @Bridge public static native void glBindFramebuffer (int target, int - // framebuffer); - // @Bridge public static native void glBindRenderbuffer (int target, int - // renderbuffer); - // @Bridge public static native void glBindTexture (int target, int - // texture); - // @Bridge public static native void glBlendColor (float red, float green, - // float blue, float alpha); - // @Bridge public static native void glBlendEquation ( int mode ); - // @Bridge public static native void glBlendEquationSeparate (int modeRGB, - // int modeAlpha); - // @Bridge public static native void glBlendFunc (int sfactor, int dfactor); - // @Bridge public static native void glBlendFuncSeparate (int srcRGB, int - // dstRGB, int srcAlpha, int dstAlpha); - @Bridge - public static native void glBufferData(int target, int size, Buffer data, int usage); - - // @Bridge public static native void glBufferSubData (int target, int - // offset, int size, Buffer data); - // @Bridge public static native int glCheckFramebufferStatus (int target); - @Bridge - public static native void glClear(int mask); - - @Bridge - public static native void glClearColor(float red, float green, float blue, float alpha); - - // @Bridge public static native void glClearDepthf (float depth); - // @Bridge public static native void glClearStencil (int s); - // @Bridge public static native void glColorMask (boolean red, boolean - // green, boolean blue, boolean alpha); - @Bridge - public static native void glCompileShader(int shader); - - // @Bridge public static native void glCompressedTexImage2D (int target, int - // level, int internalformat, int width, int height, int border, int - // imageSize, Buffer data); - // @Bridge public static native void glCompressedTexSubImage2D (int target, - // int level, int xoffset, int yoffset, int width, int height, int format, - // int imageSize, Buffer data); - // @Bridge public static native void glCopyTexImage2D (int target, int - // level, int internalformat, int x, int y, int width, int height, int - // border); - // @Bridge public static native void glCopyTexSubImage2D (int target, int - // level, int xoffset, int yoffset, int x, int y, int width, int height); - @Bridge - public static native int glCreateProgram(); - - @Bridge - public static native int glCreateShader(int type); - - // @Bridge public static native void glCullFace (int mode); - // @Bridge public static native void glDeleteBuffers (int n, IntBuffer - // buffers); - // @Bridge public static native void glDeleteFramebuffers (int n, IntBuffer - // framebuffers); - // @Bridge public static native void glDeleteProgram (int program); - // @Bridge public static native void glDeleteRenderbuffers (int n, IntBuffer - // renderbuffers); - // @Bridge public static native void glDeleteShader (int shader); - // @Bridge public static native void glDeleteTextures (int n, IntBuffer - // textures); - // @Bridge public static native void glDepthFunc (int func); - // @Bridge public static native void glDepthMask (boolean flag); - // @Bridge public static native void glDepthRangef (float zNear, float - // zFar); - // @Bridge public static native void glDetachShader (int program, int - // shader); - // @Bridge public static native void glDisable (int cap); - // @Bridge public static native void glDisableVertexAttribArray (int index); - @Bridge - public static native void glDrawArrays(int mode, int first, int count); - - // @Bridge public static native void glDrawElements (int mode, int count, - // int type, Buffer indices); - // @Bridge public static native void glDrawElements (int mode, int count, - // int type, int indices); - @Bridge - public static native void glEnable(int cap); - - @Bridge - public static native void glEnableVertexAttribArray(int index); - - // @Bridge public static native void glFinish (); - // @Bridge public static native void glFlush (); - // @Bridge public static native void glFramebufferRenderbuffer (int target, - // int attachment, int renderbuffertarget, int renderbuffer); - // @Bridge public static native void glFramebufferTexture2D (int target, int - // attachment, int textarget, int texture, int level); - // @Bridge public static native void glFrontFace (int mode); - @Bridge - public static native void glGenBuffers(int n, IntBuffer buffers); - - // @Bridge public static native void glGenerateMipmap (int target); - // @Bridge public static native void glGenFramebuffers (int n, IntBuffer - // framebuffers); - // @Bridge public static native void glGenRenderbuffers (int n, IntBuffer - // renderbuffers); - // @Bridge public static native void glGenTextures (int n, IntBuffer - // textures); - // @Bridge public static native String glGetActiveAttrib (int program, int - // index, IntBuffer size, Buffer type); - // @Bridge public static native String glGetActiveUniform (int program, int - // index, IntBuffer size, Buffer type); - // @Bridge public static native void glGetAttachedShaders (int program, int - // maxcount, Buffer count, IntBuffer shaders); - @Bridge - public static native int glGetAttribLocation(int program, String name); - - // @Bridge public static native void glGetBooleanv (int pname, Buffer - // params); - // @Bridge public static native void glGetBufferParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native int glGetError (); - // @Bridge public static native void glGetFloatv (int pname, FloatBuffer - // params); - // @Bridge public static native void glGetFramebufferAttachmentParameteriv - // (int target, int attachment, int pname, IntBuffer params); - // @Bridge public static native void glGetIntegerv (int pname, IntBuffer - // params); - @Bridge - public static native void glGetProgramiv(int program, int pname, IntBuffer params); - - @Bridge - public static native void glGetProgramInfoLog(int program, int maxLogLen, IntBuffer length, ByteBuffer logData); - - // @Bridge public static native void glGetRenderbufferParameteriv (int - // target, int pname, IntBuffer params); - @Bridge - public static native void glGetShaderiv(int shader, int pname, IntBuffer params); - - @Bridge - public static native void glGetShaderInfoLog(int shader, int maxLogLen, IntBuffer length, ByteBuffer logData); - - // @Bridge public static native void glGetShaderPrecisionFormat (int - // shadertype, int precisiontype, IntBuffer range, IntBuffer precision); - // @Bridge public static native void glGetShaderSource (int shader, int - // bufsize, Buffer length, String source); - // @Bridge public static native String glGetString (int name); - // @Bridge public static native void glGetTexParameterfv (int target, int - // pname, FloatBuffer params); - // @Bridge public static native void glGetTexParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native void glGetUniformfv (int program, int - // location, FloatBuffer params); - // @Bridge public static native void glGetUniformiv (int program, int - // location, IntBuffer params); - @Bridge - public static native int glGetUniformLocation(int program, String name); - - // @Bridge public static native void glGetVertexAttribfv (int index, int - // pname, FloatBuffer params); - // @Bridge public static native void glGetVertexAttribiv (int index, int - // pname, IntBuffer params); - // @Bridge public static native void glGetVertexAttribPointerv (int index, - // int pname, Buffer pointer); - // @Bridge public static native void glHint (int target, int mode); - // @Bridge public static native boolean glIsBuffer (int buffer); - // @Bridge public static native boolean glIsEnabled (int cap); - // @Bridge public static native boolean glIsFramebuffer (int framebuffer); - // @Bridge public static native boolean glIsProgram (int program); - // @Bridge public static native boolean glIsRenderbuffer (int renderbuffer); - // @Bridge public static native boolean glIsShader (int shader); - // @Bridge public static native boolean glIsTexture (int texture); - // @Bridge public static native void glLineWidth (float width); - @Bridge - public static native void glLinkProgram(int program); - - // @Bridge public static native void glPixelStorei (int pname, int param); - // @Bridge public static native void glPolygonOffset (float factor, float - // units); - // @Bridge public static native void glReadPixels (int x, int y, int width, - // int height, int format, int type, Buffer pixels); - // @Bridge public static native void glReleaseShaderCompiler (); - // @Bridge public static native void glRenderbufferStorage (int target, int - // internalformat, int width, int height); - // @Bridge public static native void glSampleCoverage (float value, boolean - // invert); - // @Bridge public static native void glScissor (int x, int y, int width, int - // height); - // @Bridge public static native void glShaderBinary (int n, IntBuffer - // shaders, int binaryformat, Buffer binary, int length); - @Bridge - public static native void glShaderSource(int shader, int count, BytePtr.BytePtrPtr sources, IntPtr lengths); - - // @Bridge public static native void glStencilFunc (int func, int ref, int - // mask); - // @Bridge public static native void glStencilFuncSeparate (int face, int - // func, int ref, int mask); - // @Bridge public static native void glStencilMask (int mask); - // @Bridge public static native void glStencilMaskSeparate (int face, int - // mask); - // @Bridge public static native void glStencilOp (int fail, int zfail, int - // zpass); - // @Bridge public static native void glStencilOpSeparate (int face, int - // fail, int zfail, int zpass); - // @Bridge public static native void glTexImage2D (int target, int level, - // int internalformat, int width, int height, int border, int format, int - // type, Buffer pixels); - // @Bridge public static native void glTexParameterf (int target, int pname, - // float param); - // @Bridge public static native void glTexParameterfv (int target, int - // pname, FloatBuffer params); - // @Bridge public static native void glTexParameteri (int target, int pname, - // int param); - // @Bridge public static native void glTexParameteriv (int target, int - // pname, IntBuffer params); - // @Bridge public static native void glTexSubImage2D (int target, int level, - // int xoffset, int yoffset, int width, int height, int format, int type, - // Buffer pixels); - @Bridge - public static native void glUniform1f(int location, float x); - - // @Bridge public static native void glUniform1fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform1i(int location, int x); - - // @Bridge public static native void glUniform1iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform2f(int location, float x, float y); - - // @Bridge public static native void glUniform2fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform2i(int location, int x, int y); - - // @Bridge public static native void glUniform2iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform3f(int location, float x, float y, float z); - - // @Bridge public static native void glUniform3fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform3i(int location, int x, int y, int z); - - // @Bridge public static native void glUniform3iv (int location, int count, - // IntBuffer v); - @Bridge - public static native void glUniform4f(int location, float x, float y, float z, float w); - - // @Bridge public static native void glUniform4fv (int location, int count, - // FloatBuffer v); - @Bridge - public static native void glUniform4i(int location, int x, int y, int z, int w); - - // @Bridge public static native void glUniform4iv (int location, int count, - // IntBuffer v); - // @Bridge public static native void glUniformMatrix2fv (int location, int - // count, boolean transpose, FloatBuffer value); - // @Bridge public static native void glUniformMatrix3fv (int location, int - // count, boolean transpose, FloatBuffer value); - // @Bridge public static native void glUniformMatrix4fv (int location, int - // count, boolean transpose, FloatBuffer value); - @Bridge - public static native void glUseProgram(int program); - - // @Bridge public static native void glValidateProgram (int program); - // @Bridge public static native void glVertexAttrib1f (int indx, float x); - // @Bridge public static native void glVertexAttrib1fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib2f (int indx, float x, - // float y); - // @Bridge public static native void glVertexAttrib2fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib3f (int indx, float x, - // float y, float z); - // @Bridge public static native void glVertexAttrib3fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttrib4f (int indx, float x, - // float y, float z, float w); - // @Bridge public static native void glVertexAttrib4fv (int indx, - // FloatBuffer values); - // @Bridge public static native void glVertexAttribPointer (int indx, int - // size, int type, boolean normalized, int stride, Buffer ptr); - @Bridge - public static native void glVertexAttribPointer(int indx, int size, int type, boolean normalized, int stride, - int ptr); - // @Bridge public static native void glViewport (int x, int y, int width, - // int height); -} diff --git a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLUtil.java b/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLUtil.java deleted file mode 100644 index 3268c63e..00000000 --- a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/GLUtil.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.IntBuffer; -import java.nio.FloatBuffer; -import static org.robovm.samples.hellogl.GLES2.*; - -public class GLUtil { - - public static int createShaderProgram (String vertSource, String fragSource) { - // NOTE: the error handling here is crap; a real program would keep track of all the GL - // resources it created and free them as appropriate; don't copy and paste this code - int vertShader = createShader(GL_VERTEX_SHADER, vertSource); - int fragShader = createShader(GL_FRAGMENT_SHADER, fragSource); - - int program = glCreateProgram(); - if (program == 0) throw new RuntimeException("glCreateProgram failed"); - - glAttachShader(program, vertShader); - glAttachShader(program, fragShader); - glLinkProgram(program); - - int linked = glGetProgrami(program, GL_LINK_STATUS); - if (linked == 0) throw new RuntimeException( - "glLinkProgram failed: " + glGetProgramInfoLog(program)); - return program; - } - - public static ByteBuffer newBuffer (int size) { - ByteBuffer buffer = ByteBuffer.allocateDirect(size); - buffer.order(ByteOrder.nativeOrder()); - return buffer; - } - public static IntBuffer newIntBuffer (int numInts) { - return newBuffer(numInts * 4).asIntBuffer(); - } - public static FloatBuffer newFloatBuffer (int numFloats) { - return newBuffer(numFloats * 4).asFloatBuffer(); - } - - private static int createShader (int type, String source) { - int shader = glCreateShader(type); - if (shader == 0) throw new RuntimeException("glCreateShader failed"); - glShaderSource(shader, source); - glCompileShader(shader); - int compiled = glGetShaderi(shader, GL_COMPILE_STATUS); - if (compiled == 0) throw new RuntimeException( - "glCompileShader failed: " + glGetShaderInfoLog(shader)); - return shader; - } -} diff --git a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloGL.java b/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloGL.java deleted file mode 100644 index effc87e8..00000000 --- a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloGL.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import org.robovm.apple.foundation.NSAutoreleasePool; -import org.robovm.apple.opengles.EAGLContext; -import org.robovm.apple.opengles.EAGLRenderingAPI; -import org.robovm.apple.uikit.UIApplication; -import org.robovm.apple.uikit.UIApplicationDelegateAdapter; -import org.robovm.apple.uikit.UIApplicationLaunchOptions; -import org.robovm.apple.uikit.UIScreen; -import org.robovm.apple.uikit.UIWindow; - -public class HelloGL extends UIApplicationDelegateAdapter { - private UIWindow window; - - @Override - public boolean didFinishLaunching(UIApplication application, - UIApplicationLaunchOptions launchOptions) { - // create our EAGLContext - EAGLContext ctx = new EAGLContext(EAGLRenderingAPI.OpenGLES2); - - // Create a new window at screen size. - window = new UIWindow(UIScreen.getMainScreen().getBounds()); - // Set our view controller as the root controller for the window. - window.setRootViewController(new HelloViewController(ctx, window.getBounds())); - // Make the window visible. - window.makeKeyAndVisible(); - - // Retains the window object until the application is deallocated. - // Prevents Java GC from - // collecting the window object too early. - addStrongRef(window); - - return true; - } - - public static void main(String[] args) { - NSAutoreleasePool pool = new NSAutoreleasePool(); - UIApplication.main(args, null, HelloGL.class); - pool.close(); - } -} diff --git a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloViewController.java b/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloViewController.java deleted file mode 100644 index c33f41c1..00000000 --- a/tvos/hellogl-tvos/src/main/java/org/robovm/samples/hellogl/HelloViewController.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Copyright (C) 2014 RoboVM AB - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.robovm.samples.hellogl; - -import static org.robovm.samples.hellogl.GLES2.GL_ARRAY_BUFFER; -import static org.robovm.samples.hellogl.GLES2.GL_COLOR_BUFFER_BIT; -import static org.robovm.samples.hellogl.GLES2.GL_FLOAT; -import static org.robovm.samples.hellogl.GLES2.GL_STATIC_DRAW; -import static org.robovm.samples.hellogl.GLES2.GL_TRIANGLES; -import static org.robovm.samples.hellogl.GLES2.glBindBuffer; -import static org.robovm.samples.hellogl.GLES2.glBufferData; -import static org.robovm.samples.hellogl.GLES2.glClear; -import static org.robovm.samples.hellogl.GLES2.glClearColor; -import static org.robovm.samples.hellogl.GLES2.glDrawArrays; -import static org.robovm.samples.hellogl.GLES2.glEnableVertexAttribArray; -import static org.robovm.samples.hellogl.GLES2.glGenBuffer; -import static org.robovm.samples.hellogl.GLES2.glGetAttribLocation; -import static org.robovm.samples.hellogl.GLES2.glGetUniformLocation; -import static org.robovm.samples.hellogl.GLES2.glUniform2f; -import static org.robovm.samples.hellogl.GLES2.glUniform4f; -import static org.robovm.samples.hellogl.GLES2.glUseProgram; -import static org.robovm.samples.hellogl.GLES2.glVertexAttribPointer; - -import java.nio.FloatBuffer; - -import org.robovm.apple.coregraphics.CGRect; -import org.robovm.apple.glkit.GLKView; -import org.robovm.apple.glkit.GLKViewController; -import org.robovm.apple.glkit.GLKViewControllerDelegate; -import org.robovm.apple.opengles.EAGLContext; -import org.robovm.apple.uikit.UIColor; -import org.robovm.apple.uikit.UIInterfaceOrientation; -import org.robovm.apple.uikit.UIInterfaceOrientationMask; -import org.robovm.objc.Selector; -import org.robovm.objc.annotation.BindSelector; -import org.robovm.rt.bro.annotation.Callback; - -public class HelloViewController extends GLKViewController implements GLKViewControllerDelegate { - private final EAGLContext ctx; - private final int glProgram; - private final int resLoc, colorLoc; - private float hue = 0; - - public HelloViewController(EAGLContext ctx, CGRect bounds) { - this.ctx = ctx; - - GLKView view = new GLKView(bounds, ctx) { - @Override - public void draw(CGRect rect) { - // fill in a white background - glClearColor(1, 1, 1, 1); - glClear(GL_COLOR_BUFFER_BIT); - - // draw our triangles on top of that - glUseProgram(glProgram); - int rgb = HSBtoRGB(hue, 0.75f, 0.75f); - glUniform4f(colorLoc, - ((rgb & 0xFF0000) >> 16) / 255f, - ((rgb & 0x00FF00) >> 8) / 255f, - ((rgb & 0x0000FF) >> 0) / 255f, - 1); - glDrawArrays(GL_TRIANGLES, 0, 6); - } - }; - view.setMultipleTouchEnabled(true); - view.setBackgroundColor(UIColor.yellow()); - setView(view); - - setDelegate(this); - setPreferredFramesPerSecond(60); // TODO - - // compile our shaders, set up our vertex buffer - makeCurrent(); - String vertShader = - "attribute vec2 a_position;\n" + - "uniform vec2 u_resolution;\n" + - "uniform vec4 u_color;\n" + - "varying lowp vec4 v_color;\n" + - "void main() {\n" + - " // convert the rectangle from pixels to 0.0 to 1.0\n" + - " vec2 zeroToOne = a_position / u_resolution;\n" + - " // convert from 0->1 to 0->2\n" + - " vec2 zeroToTwo = zeroToOne * 2.0;\n" + - " // convert from 0->2 to -1->+1 (clipspace)\n" + - " vec2 clipSpace = zeroToTwo - 1.0;\n" + - " gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);\n" + - " // just copy the color uniform into a varying\n" + - " v_color = u_color;\n" + - "}"; - String fragShader = - "varying lowp vec4 v_color;\n" + - "void main() {\n" + - " gl_FragColor = v_color;\n" + - "}"; - glProgram = GLUtil.createShaderProgram(vertShader, fragShader); - glUseProgram(glProgram); - - // bind the current screen size to an attribute so that our shader - // operates on pixels - // rather than in clip space - resLoc = glGetUniformLocation(glProgram, "u_resolution"); - glUniform2f(resLoc, (float) bounds.getWidth(), (float) bounds.getHeight()); - - // note our color uniform, which we'll set in draw() - colorLoc = glGetUniformLocation(glProgram, "u_color"); - - // create a buffer with two triangles arranged to make a rectangle - int buffer = glGenBuffer(); - glBindBuffer(GL_ARRAY_BUFFER, buffer); - FloatBuffer data = GLUtil.newFloatBuffer(12); - float t = 100, l = 50, b = 200, r = 200; - data.put(new float[] { - l, t, - r, t, - l, b, - l, b, - r, t, - r, b }); - glBufferData(GL_ARRAY_BUFFER, 12 * 4, data, GL_STATIC_DRAW); - - // configre a_position as our vertex array - int posLoc = glGetAttribLocation(glProgram, "a_position"); - glEnableVertexAttribArray(posLoc); - glVertexAttribPointer(posLoc, 2, GL_FLOAT, false, 0, 0); - } - - @Override - // from GLKViewControllerDelegate - public void update(GLKViewController self) { - hue += 0.01f; - if (hue > 1) - hue -= 1; - } - - @Override - // from GLKViewControllerDelegate - public void willPause(GLKViewController self, boolean paused) { - System.out.println("willPause(" + paused + ")"); - } - - @Override - // from ViewController - public void viewWillAppear(boolean animated) { - super.viewWillAppear(animated); - System.out.println("viewWillAppear(" + animated + ")"); - } - - @Override - // from ViewController - public void viewDidAppear(boolean animated) { - super.viewDidAppear(animated); - System.out.println("viewDidAppear(" + animated + ")"); - } - - @Override - // from ViewController - public void didRotate(UIInterfaceOrientation orientation) { - super.didRotate(orientation); - CGRect bounds = getView().getBounds(); - System.out.println("didRotate(" + orientation + "): " + bounds); - glUniform2f(resLoc, (float) bounds.getWidth(), (float) bounds.getHeight()); - } - - @Override - // from ViewController - public UIInterfaceOrientationMask getSupportedInterfaceOrientations() { - return UIInterfaceOrientationMask.All; - } - - @Override - // from ViewController - public boolean shouldAutorotate() { - return true; - } - - public boolean shouldAutorotateToInterfaceOrientation(UIInterfaceOrientation orientation) { - return true; - } - - void makeCurrent() { - System.out.println("makeCurrent"); - EAGLContext.setCurrentContext(ctx); - } - - @Callback - @BindSelector("shouldAutorotateToInterfaceOrientation:") - private static boolean shouldAutorotateToInterfaceOrientation( - HelloViewController self, Selector sel, UIInterfaceOrientation orientation) { - return self.shouldAutorotateToInterfaceOrientation(orientation); - } - - private static int HSBtoRGB(float hue, float saturation, float brightness) { - int r = 0, g = 0, b = 0; - if (saturation == 0) { - r = g = b = (int) (brightness * 255.0f + 0.5f); - } else { - float h = (hue - (float) Math.floor(hue)) * 6.0f; - float f = h - (float) java.lang.Math.floor(h); - float p = brightness * (1.0f - saturation); - float q = brightness * (1.0f - saturation * f); - float t = brightness * (1.0f - (saturation * (1.0f - f))); - switch ((int) h) { - case 0: - r = (int) (brightness * 255.0f + 0.5f); - g = (int) (t * 255.0f + 0.5f); - b = (int) (p * 255.0f + 0.5f); - break; - case 1: - r = (int) (q * 255.0f + 0.5f); - g = (int) (brightness * 255.0f + 0.5f); - b = (int) (p * 255.0f + 0.5f); - break; - case 2: - r = (int) (p * 255.0f + 0.5f); - g = (int) (brightness * 255.0f + 0.5f); - b = (int) (t * 255.0f + 0.5f); - break; - case 3: - r = (int) (p * 255.0f + 0.5f); - g = (int) (q * 255.0f + 0.5f); - b = (int) (brightness * 255.0f + 0.5f); - break; - case 4: - r = (int) (t * 255.0f + 0.5f); - g = (int) (p * 255.0f + 0.5f); - b = (int) (brightness * 255.0f + 0.5f); - break; - case 5: - r = (int) (brightness * 255.0f + 0.5f); - g = (int) (p * 255.0f + 0.5f); - b = (int) (q * 255.0f + 0.5f); - break; - } - } - return 0xff000000 | (r << 16) | (g << 8) | (b << 0); - } -} diff --git a/tvos/pom.xml b/tvos/pom.xml index f7f6b75e..db09a8d8 100644 --- a/tvos/pom.xml +++ b/tvos/pom.xml @@ -34,8 +34,7 @@ - - hellogl-tvos + tvmlaudiovideo \ No newline at end of file