/*
**
** Copyright 2009, The Android Open Source Project
**
** 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.
*/
// This source file is automatically generated
package android.opengl;
import android.graphics.Bitmap;
import android.util.Log;
/** OpenGL ES 2.0
*/
public class GLES20 {
public static final int GL_ACTIVE_TEXTURE = 0x84E0;
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; /* same as BLEND_EQUATION */
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_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_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_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;
native private static void _nativeClassInit();
// static {
// _nativeClassInit();
// }
public static final boolean DEBUG = false;
public static void classInit() {
/**
* @j2sNative
* android.opengl.GLES20.prototype.mCachedBuffer = null;
* var shaderArray = new Array();
* // In OpenGLES2.0, 0 is invalid id for shader, so we begin at index 1;
* shaderArray.push(-1);
* android.opengl.GLES20.prototype.mShaderArray = shaderArray;
* var programArray = new Array();
* // In OpenGLES2.0, 0 is invalid id for program, so we begin at index 1;
* programArray.push(-1);
* android.opengl.GLES20.prototype.mProgramArray = programArray;
* var uniformLocationArray = new Array();
* // In OpenGLES2.0, -1 is invalid id for program, so we begin at index 0;
* android.opengl.GLES20.prototype.mUniformLocationArray = uniformLocationArray;
* var textureArray = new Array();
* // In OpenGLES2.0, 0 is reserved id by system for texture, so we begin at index 1;
* textureArray.push(-1);
* android.opengl.GLES20.prototype.mTextureArray = textureArray;
* var bufferArray = new Array();
* // In OpenGLES2.0, -1 is invalid id for buffer id, so we begin at index 0;
* android.opengl.GLES20.prototype.mBufferArray = bufferArray;
* var frameBufferArray = new Array();
* // In OpenGLES2.0, -1 is invalid id for buffer id, so we begin at index 0;
* android.opengl.GLES20.prototype.mFrameBufferArray = frameBufferArray;
* var renderBufferArray = new Array();
* // In OpenGLES2.0, -1 is invalid id for buffer id, so we begin at index 0;
* android.opengl.GLES20.prototype.mRenderBufferArray = renderBufferArray;
*/{}
}
public static void classTerminate() {
// Do clean-up
/**
* @j2sNative
* android.opengl.GLES20.prototype.mCachedBuffer = null;
* android.opengl.GLES20.prototype.mShaderArray = null;
* android.opengl.GLES20.prototype.mProgramArray = null;
* android.opengl.GLES20.prototype.mUniformLocationArray = null;
* android.opengl.GLES20.prototype.mTextureArray = null;
* android.opengl.GLES20.prototype.mBufferArray = null;
* android.opengl.GLES20.prototype.mFrameBufferArray = null;
* android.opengl.GLES20.prototype.mRenderBufferArray = null;
*/{}
}
private static void checkWebGLContext() {
/**
* @j2sNative
* if (!android.opengl.GLES20.prototype.mContext) {
* throw "No WebGL context is found for GLES20!";
* }
*/{}
if (DEBUG) {
int error = GLES20.glGetError();
if (error != GLES20.GL_NO_ERROR) {
throw new RuntimeException("glError " + error);
}
}
}
// C function void glActiveTexture ( GLenum texture )
public static void glActiveTexture(
int texture
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.activeTexture(texture);
*/{}
}
// C function void glAttachShader ( GLuint program, GLuint shader )
public static void glAttachShader(
int program,
int shader
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* android.opengl.GLES20.prototype.mContext.attachShader(_program, _shader);
*/{}
}
// C function void glBindAttribLocation ( GLuint program, GLuint index, const char *name )
public static void glBindAttribLocation(
int program,
int index,
String name
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* android.opengl.GLES20.prototype.mContext.bindAttribLocation(_program, index, name);
*/{}
}
// C function void glBindBuffer ( GLenum target, GLuint buffer )
public static void glBindBuffer(
int target,
int buffer
) {
checkWebGLContext();
/**
* @j2sNative
* var _buffer = android.opengl.GLES20.prototype.mBufferArray[buffer];
* android.opengl.GLES20.prototype.mContext.bindBuffer(target, _buffer);
*/{}
}
// C function void glBindFramebuffer ( GLenum target, GLuint framebuffer )
public static void glBindFramebuffer(
int target,
int framebuffer
) {
checkWebGLContext();
/**
* @j2sNative
* var _framebuffer = android.opengl.GLES20.prototype.mFrameBufferArray[framebuffer];
* android.opengl.GLES20.prototype.mContext.bindFrameBuffer(target, _framebuffer);
*/{}
}
// C function void glBindRenderbuffer ( GLenum target, GLuint renderbuffer )
public static void glBindRenderbuffer(
int target,
int renderbuffer
) {
checkWebGLContext();
/**
* @j2sNative
* var _renderbuffer = android.opengl.GLES20.prototype.mRenderBufferArray[renderbuffer];
* android.opengl.GLES20.prototype.mContext.bindRenderBuffer(target, _renderbuffer);
*/{}
}
// C function void glBindTexture ( GLenum target, GLuint texture )
public static void glBindTexture(
int target,
int texture
) {
checkWebGLContext();
/**
* @j2sNative
* var _texture = android.opengl.GLES20.prototype.mTextureArray[texture];
* android.opengl.GLES20.prototype.mContext.bindTexture(target, _texture);
*/{}
}
// C function void glBlendColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
public static void glBlendColor(
float red,
float green,
float blue,
float alpha
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.blendColor(red, green, blue, alpha);
*/{}
}
// C function void glBlendEquation ( GLenum mode )
public static void glBlendEquation(
int mode
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.blendEquation(mode);
*/{}
}
// C function void glBlendEquationSeparate ( GLenum modeRGB, GLenum modeAlpha )
public static void glBlendEquationSeparate(
int modeRGB,
int modeAlpha
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.blendEquationSeparate(modeRGB, modeAlpha);
*/{}
}
// C function void glBlendFunc ( GLenum sfactor, GLenum dfactor )
public static void glBlendFunc(
int sfactor,
int dfactor
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.blendFunc(sfactor, dfactor);
*/{}
}
// C function void glBlendFuncSeparate ( GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha )
public static void glBlendFuncSeparate(
int srcRGB,
int dstRGB,
int srcAlpha,
int dstAlpha
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.blendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
*/{}
}
// C function void glBufferData ( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage )
public static void glBufferData(
int target,
int size,
java.nio.Buffer data,
int usage
) {
checkWebGLContext();
/**
* @j2sNative
* var arraybuffer = null;
* if (data instanceof java.nio.ByteBuffer) {
* arraybuffer = data.backingArray;
* } else {
* arraybuffer = data.byteBuffer.backingArray;
* }
* var offset = data.position() * Math.pow(2, data._elementSizeShift);
* arraybuffer = arraybuffer.buffer.slice(offset);
* android.opengl.GLES20.prototype.mContext.bufferData(target, arraybuffer, usage);
*/{}
}
// C function void glBufferSubData ( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data )
public static void glBufferSubData(
int target,
int offset,
int size,
java.nio.Buffer data
) {
checkWebGLContext();
/**
* @j2sNative
* var arraybuffer = null;
* if (data instanceof java.nio.ByteBuffer) {
* arraybuffer = data.backingArray;
* } else {
* arraybuffer = data.byteBuffer.backingArray;
* }
* var _offset = data.position() * Math.pow(2, data._elementSizeShift);
* android.opengl.GLES20.prototype.mContext.bufferSubData(target, offset, arraybuffer.buffer.slice(_offset));
*/{}
}
// C function GLenum glCheckFramebufferStatus ( GLenum target )
public static int glCheckFramebufferStatus(
int target
) {
checkWebGLContext();
int status = 0;
/**
* @j2sNative
* status = android.opengl.GLES20.prototype.mContext.checkFramebufferStatus(target);
*/{}
return status;
}
// C function void glClear ( GLbitfield mask )
public static void glClear(
int mask
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.clear(mask);
*/{}
}
// C function void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
public static void glClearColor(
float red,
float green,
float blue,
float alpha
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.clearColor(red, green, blue, alpha);
*/{}
}
// C function void glClearDepthf ( GLclampf depth )
public static void glClearDepthf(
float depth
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.clearDepth(depth);
*/{}
}
// C function void glClearStencil ( GLint s )
public static void glClearStencil(
int s
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.clearStencil(s);
*/{}
}
// C function void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha )
public static void glColorMask(
boolean red,
boolean green,
boolean blue,
boolean alpha
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.colorMask(red, green, blue, alpha);
*/{}
}
// C function void glCompileShader ( GLuint shader )
public static void glCompileShader(
int shader
) {
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* android.opengl.GLES20.prototype.mContext.compileShader(_shader);
*/{}
}
// C function void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data )
public static void glCompressedTexImage2D(
int target,
int level,
int internalformat,
int width,
int height,
int border,
int imageSize,
java.nio.Buffer data
) {
throw new RuntimeException("Compressed Texture is not supported");
}
// C function void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data )
public static void glCompressedTexSubImage2D(
int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
int imageSize,
java.nio.Buffer data
) {
throw new RuntimeException("Compressed Texture is not supported");
}
// C function void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
public static void glCopyTexImage2D(
int target,
int level,
int internalformat,
int x,
int y,
int width,
int height,
int border
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.copyTexImage2D(target, level, internalformat, x, y, width, height, border);
*/{}
}
// C function void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
public static void glCopyTexSubImage2D(
int target,
int level,
int xoffset,
int yoffset,
int x,
int y,
int width,
int height
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.copyTexSubImage2D(target, level, internalformat, x, y, width, height, border);
*/{}
}
// C function GLuint glCreateProgram ( void )
public static int glCreateProgram(
) {
checkWebGLContext();
/**
* @j2sNative
* var program = android.opengl.GLES20.prototype.mContext.createProgram();
* if (program) {
* android.opengl.GLES20.prototype.mProgramArray.push(program);
* return android.opengl.GLES20.prototype.mProgramArray.length - 1;
* }
*/{}
return 0;
}
// C function GLuint glCreateShader ( GLenum type )
public static int glCreateShader(
int type
) {
checkWebGLContext();
/**
* @j2sNative
* var shader = android.opengl.GLES20.prototype.mContext.createShader(type);
* if (shader) {
* android.opengl.GLES20.prototype.mShaderArray.push(shader);
* return android.opengl.GLES20.prototype.mShaderArray.length - 1;
* }
*/{}
return 0;
}
// C function void glCullFace ( GLenum mode )
public static void glCullFace(
int mode
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.cullFace(mode);
*/{}
}
// C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers )
public static void glDeleteBuffers(
int n,
int[] buffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var buffer = android.opengl.GLES20.prototype.mBufferArray[buffers[offset + i]];
* android.opengl.GLES20.prototype.mContext.deleteBuffer(buffer);
* }
*/{}
}
// C function void glDeleteBuffers ( GLsizei n, const GLuint *buffers )
public static native void glDeleteBuffers(
int n,
java.nio.IntBuffer buffers
);
// C function void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers )
public static void glDeleteFramebuffers(
int n,
int[] framebuffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var buffer = android.opengl.GLES20.prototype.mFrameBufferArray[framebuffers[offset + i]];
* android.opengl.GLES20.prototype.mContext.deleteFrameBuffer(buffer);
* }
*/{}
}
// C function void glDeleteFramebuffers ( GLsizei n, const GLuint *framebuffers )
public static native void glDeleteFramebuffers(
int n,
java.nio.IntBuffer framebuffers
);
// C function void glDeleteProgram ( GLuint program )
public static void glDeleteProgram(
int program
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* android.opengl.GLES20.prototype.mContext.deleteProgram(_program);
* android.opengl.GLES20.prototype.mProgramArray.splice(program, 1);
*/{}
}
// C function void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers )
public static void glDeleteRenderbuffers(
int n,
int[] renderbuffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var buffer = android.opengl.GLES20.prototype.mRenderBufferArray[renderbuffers[offset + i]];
* android.opengl.GLES20.prototype.mContext.deleteRenderBuffer(buffer);
* }
*/{}
}
// C function void glDeleteRenderbuffers ( GLsizei n, const GLuint *renderbuffers )
public static native void glDeleteRenderbuffers(
int n,
java.nio.IntBuffer renderbuffers
);
// C function void glDeleteShader ( GLuint shader )
public static void glDeleteShader(
int shader
) {
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* android.opengl.GLES20.prototype.mContext.deleteShader(_shader);
* android.opengl.GLES20.prototype.mShaderArray.splice(shader, 1);
*/{}
}
// C function void glDeleteTextures ( GLsizei n, const GLuint *textures )
public static void glDeleteTextures(
int n,
int[] textures,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var texture = android.opengl.GLES20.prototype.mTextureArray[textures[offset + i]];
* android.opengl.GLES20.prototype.mContext.deleteTexture(texture);
* }
*/{}
}
// C function void glDeleteTextures ( GLsizei n, const GLuint *textures )
public static native void glDeleteTextures(
int n,
java.nio.IntBuffer textures
);
// C function void glDepthFunc ( GLenum func )
public static void glDepthFunc(
int func
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.depthFunc(func);
*/{}
}
// C function void glDepthMask ( GLboolean flag )
public static void glDepthMask(
boolean flag
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.depthMask(flag);
*/{}
}
// C function void glDepthRangef ( GLclampf zNear, GLclampf zFar )
public static void glDepthRangef(
float zNear,
float zFar
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.depthRange(zNear, zFar);
*/{}
}
// C function void glDetachShader ( GLuint program, GLuint shader )
public static void glDetachShader(
int program,
int shader
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* android.opengl.GLES20.prototype.mContext.detachShader(_program, _shader);
*/{}
}
// C function void glDisable ( GLenum cap )
public static void glDisable(
int cap
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.disable(cap);
*/{}
}
// C function void glDisableVertexAttribArray ( GLuint index )
public static void glDisableVertexAttribArray(
int index
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.disableVertexAttribArray(index);
*/{}
}
// C function void glDrawArrays ( GLenum mode, GLint first, GLsizei count )
public static void glDrawArrays(
int mode,
int first,
int count
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.drawArrays(mode, first, count);
*/{}
}
// C function void glDrawElements ( GLenum mode, GLsizei count, GLenum type, GLint offset )
public static void glDrawElements(
int mode,
int count,
int type,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.drawElements(mode, count, type, offset);
*/{}
}
// C function void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices )
public static void glDrawElements(
int mode,
int count,
int type,
java.nio.Buffer indices
) {
checkWebGLContext();
/**
* @j2sNative
* // WebGL does not support client side arrays, we need to gen
* // a buffer object and upload the data into buffer object, then
* // bind the buffer object and call vertexAttribPointer.
* var buffer = android.opengl.GLES20.prototype.mContext.createBuffer();
* android.opengl.GLES20.prototype.mContext.bindBuffer(android.opengl.GLES20.prototype.mContext.ELEMENT_ARRAY_BUFFER, buffer);
* var arraybuffer = indices.byteBuffer.backingArray;
* var offset = indices.position() * Math.pow(2, indices._elementSizeShift);
* android.opengl.GLES20.prototype.mContext.bufferData(android.opengl.GLES20.prototype.mContext.ELEMENT_ARRAY_BUFFER, arraybuffer,
* android.opengl.GLES20.prototype.mContext.STATIC_DRAW);
* android.opengl.GLES20.prototype.mContext.drawElements(mode, count, type, offset);
*
*/{}
}
// C function void glEnable ( GLenum cap )
public static void glEnable(
int cap
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.enable(cap);
*/{}
}
// C function void glEnableVertexAttribArray ( GLuint index )
public static void glEnableVertexAttribArray(
int index
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.enableVertexAttribArray(index);
*/{}
}
// C function void glFinish ( void )
public static void glFinish(
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.finish();
*/{}
}
// C function void glFlush ( void )
public static void glFlush(
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.flush();
*/{}
}
// C function void glFramebufferRenderbuffer ( GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer )
public static void glFramebufferRenderbuffer(
int target,
int attachment,
int renderbuffertarget,
int renderbuffer
) {
checkWebGLContext();
/**
* @j2sNative
* var _renderbuffer = android.opengl.GLES20.prototype.mRenderBufferArray[renderbuffer];
* android.opengl.GLES20.prototype.mContext.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
*/{}
}
// C function void glFramebufferTexture2D ( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level )
public static void glFramebufferTexture2D(
int target,
int attachment,
int textarget,
int texture,
int level
) {
checkWebGLContext();
/**
* @j2sNative
* var _texture = android.opengl.GLES20.prototype.mTextureArray[texture];
* android.opengl.GLES20.prototype.mContext.framebufferTexture2D(target, attachment, textarget, _texture, level);
*/{}
}
// C function void glFrontFace ( GLenum mode )
public static void glFrontFace(
int mode
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.frontFace(mode);
*/{}
}
// C function void glGenBuffers ( GLsizei n, GLuint *buffers )
public static void glGenBuffers(
int n,
int[] buffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var _buffer = android.opengl.GLES20.prototype.mContext.createBuffer();
* android.opengl.GLES20.prototype.mBufferArray.push(_buffer);
* buffers[offset + i] = android.opengl.GLES20.prototype.mBufferArray.length - 1;
* }
*/{}
}
// C function void glGenBuffers ( GLsizei n, GLuint *buffers )
public static native void glGenBuffers(
int n,
java.nio.IntBuffer buffers
);
// C function void glGenerateMipmap ( GLenum target )
public static void glGenerateMipmap(
int target
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.generateMipmap(target);
*/{}
}
// C function void glGenFramebuffers ( GLsizei n, GLuint *framebuffers )
public static void glGenFramebuffers(
int n,
int[] framebuffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var _framebuffer = android.opengl.GLES20.prototype.mContext.createFrameBuffer();
* android.opengl.GLES20.prototype.mFrameBufferArray.push(_framebuffer);
* framebuffers[offset + i] = android.opengl.GLES20.prototype.mFrameBufferArray.length - 1;
* }
*/{}
}
// C function void glGenFramebuffers ( GLsizei n, GLuint *framebuffers )
public static native void glGenFramebuffers(
int n,
java.nio.IntBuffer framebuffers
);
// C function void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers )
public static void glGenRenderbuffers(
int n,
int[] renderbuffers,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var _renderbuffer = android.opengl.GLES20.prototype.mContext.createRenderBuffer();
* android.opengl.GLES20.prototype.mRenderBufferArray.push(_renderbuffer);
* renderbuffers[offset + i] = android.opengl.GLES20.prototype.mRenderBufferArray.length - 1;
* }
*/{}
}
// C function void glGenRenderbuffers ( GLsizei n, GLuint *renderbuffers )
public static native void glGenRenderbuffers(
int n,
java.nio.IntBuffer renderbuffers
);
// C function void glGenTextures ( GLsizei n, GLuint *textures )
public static void glGenTextures(
int n,
int[] textures,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* for (var i = 0; i < n; i++) {
* var texture = android.opengl.GLES20.prototype.mContext.createTexture();
* if (texture) {
* android.opengl.GLES20.prototype.mTextureArray.push(texture);
* textures[offset + i] = android.opengl.GLES20.prototype.mTextureArray.length - 1;
* } else {
* textures[offset + i] = -1;
* }
* }
*/{}
}
// C function void glGenTextures ( GLsizei n, GLuint *textures )
public static native void glGenTextures(
int n,
java.nio.IntBuffer textures
);
// C function void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name )
public static void glGetActiveAttrib(
int program,
int index,
int bufsize,
int[] length,
int lengthOffset,
int[] size,
int sizeOffset,
int[] type,
int typeOffset,
byte[] name,
int nameOffset
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var info = android.opengl.GLES20.prototype.mContext.getActiveAttrib(_program, index);
* if (info) {
* if (size) size[sizeOffset] = info.size;
* if (type) type[typeOffset] = info.type;
* if (length) length[lengthOffset] = info.name.length;
* if (name) {
* for ( var i = 0; i < info.name.length; i++) {
* name[nameOffset + i] = info.charAt(i);
* }
* }
* }
*/{}
}
// C function void glGetActiveAttrib ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name )
public static native void glGetActiveAttrib(
int program,
int index,
int bufsize,
java.nio.IntBuffer length,
java.nio.IntBuffer size,
java.nio.IntBuffer type,
byte name
);
// C function void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name )
public static void glGetActiveUniform(
int program,
int index,
int bufsize,
int[] length,
int lengthOffset,
int[] size,
int sizeOffset,
int[] type,
int typeOffset,
byte[] name,
int nameOffset
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var info = android.opengl.GLES20.prototype.mContext.getActiveUniform(_program, index);
* if (info) {
* if (size) size[sizeOffset] = info.size;
* if (type) type[typeOffset] = info.type;
* if (length) length[lengthOffset] = info.name.length;
* if (name) {
* for ( var i = 0; i < info.name.length; i++) {
* name[nameOffset + i] = info.charAt(i);
* }
* }
* }
*/{}
}
// C function void glGetActiveUniform ( GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name )
public static native void glGetActiveUniform(
int program,
int index,
int bufsize,
java.nio.IntBuffer length,
java.nio.IntBuffer size,
java.nio.IntBuffer type,
byte name
);
// C function void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders )
public static void glGetAttachedShaders(
int program,
int maxcount,
int[] count,
int countOffset,
int[] shaders,
int shadersOffset
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var _shaders = android.opengl.GLES20.prototype.mContext.getAttachedShaders(_program);
* for (var i = 0; i < _shaders.length && i < maxcount; i++) {
* shaders[shadersOffset] = android.opengl.GLES20.prototype.mShaderArray.indexOf(_shaders[i]);
* }
* count[countOffset] = i;
*/{}
}
// C function void glGetAttachedShaders ( GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders )
public static native void glGetAttachedShaders(
int program,
int maxcount,
java.nio.IntBuffer count,
java.nio.IntBuffer shaders
);
// C function int glGetAttribLocation ( GLuint program, const char *name )
public static int glGetAttribLocation(
int program,
String name
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var _location = android.opengl.GLES20.prototype.mContext.getAttribLocation(_program, name);
* return _location;
*/{}
return -1;
}
// C function void glGetBooleanv ( GLenum pname, GLboolean *params )
public static void glGetBooleanv(
int pname,
boolean[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getParameter(pname);
*/{}
}
// C function void glGetBooleanv ( GLenum pname, GLboolean *params )
public static native void glGetBooleanv(
int pname,
java.nio.IntBuffer params
);
// C function void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params )
public static void glGetBufferParameteriv(
int target,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getBufferParameter(target, pname);
*/{}
}
// C function void glGetBufferParameteriv ( GLenum target, GLenum pname, GLint *params )
public static native void glGetBufferParameteriv(
int target,
int pname,
java.nio.IntBuffer params
);
// C function GLenum glGetError ( void )
public static int glGetError(
) {
/**
* @j2sNative
* if (!android.opengl.GLES20.prototype.mContext) {
* throw "No WebGL context is found for GLES20!";
* }
* var _error = android.opengl.GLES20.prototype.mContext.getError();
* return _error;
*/{}
return 0;
}
// C function void glGetFloatv ( GLenum pname, GLfloat *params )
public static void glGetFloatv(
int pname,
float[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getParameter(pname);
*/{}
}
// C function void glGetFloatv ( GLenum pname, GLfloat *params )
public static native void glGetFloatv(
int pname,
java.nio.FloatBuffer params
);
// C function void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params )
public static void glGetFramebufferAttachmentParameteriv(
int target,
int attachment,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _param = android.opengl.GLES20.prototype.mContext.getFramebufferAttachmentParameter(target, attachment, pname);
* if (_param) {
* if (pname = android.opengl.GLES20.GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) {
* if (_param instanceof WebGLRenderbuffer) {
* var _buffer = android.opengl.GLES20.prototype.mRenderBufferArray.indexOf(_param);
* params[offset] = _buffer;
* } else if (_param instanceof WebGLTexture) {
* var _texture = android.opengl.GLES20.prototype.mTextureArray.indexOf(_param);
* params[offset] = _texture;
* } else {
* console.error("Unknow type in glGetFramebufferAttachmentParameteriv");
* }
* } else {
* params[offset] = _param;
* }
* }
*/{}
}
// C function void glGetFramebufferAttachmentParameteriv ( GLenum target, GLenum attachment, GLenum pname, GLint *params )
public static native void glGetFramebufferAttachmentParameteriv(
int target,
int attachment,
int pname,
java.nio.IntBuffer params
);
// C function void glGetIntegerv ( GLenum pname, GLint *params )
public static void glGetIntegerv(
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var result = android.opengl.GLES20.prototype.mContext.getParameter(pname);
* if (pname == android.opengl.GLES20.GL_TEXTURE_BINDING_2D || pname == android.opengl.GLES20.GL_TEXTURE_BINDING_CUBE_MAP) {
* result = android.opengl.GLES20.prototype.mTextureArray.indexOf(result);
* }
* params[offset] = result
*/{}
}
// C function void glGetIntegerv ( GLenum pname, GLint *params )
public static native void glGetIntegerv(
int pname,
java.nio.IntBuffer params
);
// C function void glGetProgramiv ( GLuint program, GLenum pname, GLint *params )
public static void glGetProgramiv(
int program,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* // WebGL does not support these enum because it will return DOMString.
* if (pname == android.opengl.GLES20.GL_INFO_LOG_LENGTH ||
* pname == android.opengl.GLES20.GL_ACTIVE_ATTRIBUTE_MAX_LENGTH ||
* pname == android.opengl.GLES20.GL_ACTIVE_UNIFORM_MAX_LENGTH) {
* return;
* }
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var result = android.opengl.GLES20.prototype.mContext.getProgramParameter(_program, pname);
* if (result) {
* if (pname == android.opengl.GLES20.GL_DELETE_STATUS ||
* pname == android.opengl.GLES20.GL_LINK_STATUS ||
* pname == android.opengl.GLES20.GL_VALIDATE_STATUS) {
* params[offset] = result ? 1 : 0;
* } else {
* params[offset] = result;
* }
* }
*/{}
}
// C function void glGetProgramiv ( GLuint program, GLenum pname, GLint *params )
public static native void glGetProgramiv(
int program,
int pname,
java.nio.IntBuffer params
);
/*
* Copyright (C) 2009 The Android Open Source Project
*
* 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.
*/
// C function void glGetProgramInfoLog( GLuint program, GLsizei maxLength, GLsizei * length,
// GLchar * infoLog);
public static String glGetProgramInfoLog(
int program
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var _log = android.opengl.GLES20.prototype.mContext.getProgramInfoLog(_program);
* return _log;
*/{}
return null;
}
// C function void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params )
public static void glGetRenderbufferParameteriv(
int target,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getRenderbufferParameter(target, pname);
*/{}
}
// C function void glGetRenderbufferParameteriv ( GLenum target, GLenum pname, GLint *params )
public static native void glGetRenderbufferParameteriv(
int target,
int pname,
java.nio.IntBuffer params
);
// C function void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params )
public static void glGetShaderiv(
int shader,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* // WebGL does not need these two enum because we return DOMString
* if (pname == android.opengl.GLES20.GL_INFO_LOG_LENGTH ||
* pname == android.opengl.GLES20.GL_SHADER_SOURCE_LENGTH) {
* return;
* }
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* var result = android.opengl.GLES20.prototype.mContext.getShaderParameter(_shader, pname);
* if (result) {
* if (pname == android.opengl.GLES20.prototype.mContext.SHADER_TYPE) {
* params[offset] = result;
* } else {
* params[offset] = result ? 1 : 0;
* }
* }
*/{}
}
// C function void glGetShaderiv ( GLuint shader, GLenum pname, GLint *params )
public static native void glGetShaderiv(
int shader,
int pname,
java.nio.IntBuffer params
);
/*
* Copyright (C) 2009 The Android Open Source Project
*
* 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.
*/
// C function void glGetShaderInfoLog( GLuint shader, GLsizei maxLength, GLsizei * length,
// GLchar * infoLog);
public static String glGetShaderInfoLog(
int shader
) {
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* var _log = android.opengl.GLES20.prototype.mContext.getShaderInfoLog(_shader);
* return _log;
*/{}
return null;
}
// C function void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision )
public static native void glGetShaderPrecisionFormat(
int shadertype,
int precisiontype,
int[] range,
int rangeOffset,
int[] precision,
int precisionOffset
);
// C function void glGetShaderPrecisionFormat ( GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision )
public static native void glGetShaderPrecisionFormat(
int shadertype,
int precisiontype,
java.nio.IntBuffer range,
java.nio.IntBuffer precision
);
// C function void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source )
public static void glGetShaderSource(
int shader,
int bufsize,
int[] length,
int lengthOffset,
byte[] source,
int sourceOffset
) {
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* var _source = android.opengl.GLES20.prototype.mContext.getShaderSource(_shader);
* if (_source) {
* length[lengthOffset] = _source.length;
* for (var i = 0; i < bufsize && i < _source.length; i++) {
* source[sourceOffset + i] = _source.charAt(i);
* }
* }
*/{}
}
// C function void glGetShaderSource ( GLuint shader, GLsizei bufsize, GLsizei *length, char *source )
public static native void glGetShaderSource(
int shader,
int bufsize,
java.nio.IntBuffer length,
byte source
);
/*
* Copyright (C) 2009 The Android Open Source Project
*
* 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.
*/
// C function const GLubyte * glGetString ( GLenum name )
public static String glGetString(
int name
) {
checkWebGLContext();
String value = null;
if (name == GLES20.GL_EXTENSIONS) {
/**
* @j2sNative
* var extensions = android.opengl.GLES20.prototype.mContext.getSupportedExtensions();
* if (extensions) vaule = extensions.toString();
*/{}
} else {
/**
* @j2sNative
* value = android.opengl.GLES20.prototype.mContext.getParameter(name);
*/{}
}
return value;
}
// C function void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params )
public static void glGetTexParameterfv(
int target,
int pname,
float[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getTexParameter(target, pname);
*/{}
}
// C function void glGetTexParameterfv ( GLenum target, GLenum pname, GLfloat *params )
public static native void glGetTexParameterfv(
int target,
int pname,
java.nio.FloatBuffer params
);
// C function void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params )
public static void glGetTexParameteriv(
int target,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* params[offset] = android.opengl.GLES20.prototype.mContext.getTexParameter(target, pname);
*/{}
}
// C function void glGetTexParameteriv ( GLenum target, GLenum pname, GLint *params )
public static native void glGetTexParameteriv(
int target,
int pname,
java.nio.IntBuffer params
);
// C function void glGetUniformfv ( GLuint program, GLint location, GLfloat *params )
public static native void glGetUniformfv(
int program,
int location,
float[] params,
int offset
);
// C function void glGetUniformfv ( GLuint program, GLint location, GLfloat *params )
public static native void glGetUniformfv(
int program,
int location,
java.nio.FloatBuffer params
);
// C function void glGetUniformiv ( GLuint program, GLint location, GLint *params )
public static native void glGetUniformiv(
int program,
int location,
int[] params,
int offset
);
// C function void glGetUniformiv ( GLuint program, GLint location, GLint *params )
public static native void glGetUniformiv(
int program,
int location,
java.nio.IntBuffer params
);
// C function int glGetUniformLocation ( GLuint program, const char *name )
public static int glGetUniformLocation(
int program,
String name
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* var location = android.opengl.GLES20.prototype.mContext.getUniformLocation(_program, name);
* if (location) {
* android.opengl.GLES20.prototype.mUniformLocationArray.push(location);
* return android.opengl.GLES20.prototype.mUniformLocationArray.length - 1;
* }
*/{}
return -1;
}
// C function void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params )
public static void glGetVertexAttribfv(
int index,
int pname,
float[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var value = android.opengl.GLES20.prototype.mContext.getVertexAttrib(index, pname);
* if (!value) return;
*/{}
if (pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) {
/**
* @j2sNative
* var buffer = android.opengl.GLES20.prototype.mBufferArray.indexOf(value);
* params[offset] = buffer;
*/{}
} else if (pname == GLES20.GL_CURRENT_VERTEX_ATTRIB) {
/**
* @j2sNative
* params[offset + 0] = value[0]; //Float32Array (with 4 elements)
* params[offset + 1] = value[1];
* params[offset + 2] = value[2];
* params[offset + 3] = value[3];
*/{}
} else if (pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_ENABLED || pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED) {
/**
* @j2sNative
* params[offset] = value ? 1 : 0;
*/{}
} else {
/**
* @j2sNative
* params[offset] = value;
*/{}
}
}
// C function void glGetVertexAttribfv ( GLuint index, GLenum pname, GLfloat *params )
public static native void glGetVertexAttribfv(
int index,
int pname,
java.nio.FloatBuffer params
);
// C function void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params )
public static void glGetVertexAttribiv(
int index,
int pname,
int[] params,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var value = android.opengl.GLES20.prototype.mContext.getVertexAttrib(index, pname);
* if (!value) return;
*/{}
if (pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) {
/**
* @j2sNative
* var buffer = android.opengl.GLES20.prototype.mBufferArray.indexOf(value);
* params[offset] = buffer;
*/{}
} else if (pname == GLES20.GL_CURRENT_VERTEX_ATTRIB) {
/**
* @j2sNative
* params[offset + 0] = value[0]; //Float32Array (with 4 elements)
* params[offset + 1] = value[1];
* params[offset + 2] = value[2];
* params[offset + 3] = value[3];
*/{}
} else if (pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_ENABLED || pname == GLES20.GL_VERTEX_ATTRIB_ARRAY_NORMALIZED) {
/**
* @j2sNative
* params[offset] = value ? 1 : 0;
*/{}
} else {
/**
* @j2sNative
* params[offset] = value;
*/{}
}
}
// C function void glGetVertexAttribiv ( GLuint index, GLenum pname, GLint *params )
public static native void glGetVertexAttribiv(
int index,
int pname,
java.nio.IntBuffer params
);
// C function void glHint ( GLenum target, GLenum mode )
public static void glHint(
int target,
int mode
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.hint(target, mode);
*/{}
}
// C function GLboolean glIsBuffer ( GLuint buffer )
public static boolean glIsBuffer(
int buffer
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _buffer = android.opengl.GLES20.prototype.mBufferArray[buffer];
* result = android.opengl.GLES20.prototype.mContext.isBuffer(_buffer);
*/{}
return result;
}
// C function GLboolean glIsEnabled ( GLenum cap )
public static boolean glIsEnabled(
int cap
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* result = android.opengl.GLES20.prototype.mContext.isEnabled(cap);
*/{}
return result;
}
// C function GLboolean glIsFramebuffer ( GLuint framebuffer )
public static boolean glIsFramebuffer(
int framebuffer
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _buffer = android.opengl.GLES20.prototype.mFrameBufferArray[framebuffer];
* result = android.opengl.GLES20.prototype.mContext.isFrameBuffer(_buffer);
*/{}
return result;
}
// C function GLboolean glIsProgram ( GLuint program )
public static boolean glIsProgram(
int program
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* result = android.opengl.GLES20.prototype.mContext.isProgram(_program);
*/{}
return result;
}
// C function GLboolean glIsRenderbuffer ( GLuint renderbuffer )
public static boolean glIsRenderbuffer(
int renderbuffer
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _renderbuffer = android.opengl.GLES20.prototype.mRenderBufferArray[renderbuffer];
* result = android.opengl.GLES20.prototype.mContext.isRenderBuffer(_renderbuffer);
*/{}
return result;
}
// C function GLboolean glIsShader ( GLuint shader )
public static boolean glIsShader(
int shader
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* result = android.opengl.GLES20.prototype.mContext.isShader(_shader);
*/{}
return result;
}
// C function GLboolean glIsTexture ( GLuint texture )
public static boolean glIsTexture(
int texture
) {
boolean result = false;
checkWebGLContext();
/**
* @j2sNative
* var _texture = android.opengl.GLES20.prototype.mTextureArray[texture];
* result = android.opengl.GLES20.prototype.mContext.isTexture(_texture);
*/{}
return result;
}
// C function void glLineWidth ( GLfloat width )
public static void glLineWidth(
float width
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.lineWidth(width);
*/{}
}
// C function void glLinkProgram ( GLuint program )
public static void glLinkProgram(
int program
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* android.opengl.GLES20.prototype.mContext.linkProgram(_program);
*/{}
}
// C function void glPixelStorei ( GLenum pname, GLint param )
public static void glPixelStorei(
int pname,
int param
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.pixelStorei(pname, param);
*/{}
}
// C function void glPolygonOffset ( GLfloat factor, GLfloat units )
public static void glPolygonOffset(
float factor,
float units
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.polygonOffset(factor, units);
*/{}
}
// C function void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels )
public static native void glReadPixels(
int x,
int y,
int width,
int height,
int format,
int type,
java.nio.Buffer pixels
);
// C function void glReleaseShaderCompiler ( void )
public static native void glReleaseShaderCompiler(
);
// C function void glRenderbufferStorage ( GLenum target, GLenum internalformat, GLsizei width, GLsizei height )
public static void glRenderbufferStorage(
int target,
int internalformat,
int width,
int height
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.renderbufferStorage(target, internalformat, width, height);
*/{}
}
// C function void glSampleCoverage ( GLclampf value, GLboolean invert )
public static void glSampleCoverage(
float value,
boolean invert
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.sampleCoverage(value, invert);
*/{}
}
// C function void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height )
public static void glScissor(
int x,
int y,
int width,
int height
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.scissor(x, y, width, height);
*/{}
}
// C function void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length )
public static native void glShaderBinary(
int n,
int[] shaders,
int offset,
int binaryformat,
java.nio.Buffer binary,
int length
);
// C function void glShaderBinary ( GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length )
public static native void glShaderBinary(
int n,
java.nio.IntBuffer shaders,
int binaryformat,
java.nio.Buffer binary,
int length
);
/*
* Copyright (C) 2009 The Android Open Source Project
*
* 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.
*/
// C function void glShaderSource ( GLuint shader, GLsizei count, const GLchar ** string, const GLint* length )
public static void glShaderSource(
int shader,
String string
) {
checkWebGLContext();
/**
* @j2sNative
* var _shader = android.opengl.GLES20.prototype.mShaderArray[shader];
* android.opengl.GLES20.prototype.mContext.shaderSource(_shader, string);
*/{}
}
// C function void glStencilFunc ( GLenum func, GLint ref, GLuint mask )
public static void glStencilFunc(
int func,
int ref,
int mask
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilFunc(func, ref, mask);
*/{}
}
// C function void glStencilFuncSeparate ( GLenum face, GLenum func, GLint ref, GLuint mask )
public static void glStencilFuncSeparate(
int face,
int func,
int ref,
int mask
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilFuncSeparate(face, func, ref, mask);
*/{}
}
// C function void glStencilMask ( GLuint mask )
public static void glStencilMask(
int mask
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilMask(mask);
*/{}
}
// C function void glStencilMaskSeparate ( GLenum face, GLuint mask )
public static void glStencilMaskSeparate(
int face,
int mask
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilMaskSeparate(face, mask);
*/{}
}
// C function void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass )
public static void glStencilOp(
int fail,
int zfail,
int zpass
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilOp(fail, zfail, zpass);
*/{}
}
// C function void glStencilOpSeparate ( GLenum face, GLenum fail, GLenum zfail, GLenum zpass )
public static void glStencilOpSeparate(
int face,
int fail,
int zfail,
int zpass
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.stencilOp(fail, zfail, zpass);
*/{}
}
// This function is special for MayLoon: it can upload a bitmap into a texture.
public static void glTexImage2D(
int target,
int level,
int internalformat,
int width,
int height,
int border,
int format,
int type,
Bitmap bitmap
) {
checkWebGLContext();
/**
* @j2sNative
* bitmap.ensureCachedCanvas();
* android.opengl.GLES20.prototype.mContext.texImage2D(target, level, internalformat,
* format, type, bitmap.mCachedCanvas);
*/{}
}
// C function void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
public static void glTexImage2D(
int target,
int level,
int internalformat,
int width,
int height,
int border,
int format,
int type,
java.nio.Buffer pixels
) {
checkWebGLContext();
/**
* @j2sNative
* var arraybuffer = null;
* if (pixels instanceof java.nio.ByteBuffer) {
* arraybuffer = pixels.backingArray;
* } else {
* arraybuffer = pixels.byteBuffer.backingArray;
* }
* var offset = pixels.position() * Math.pow(2, pixels._elementSizeShift);
* switch (type) {
* case android.opengl.GLES20.GL_UNSIGNED_BYTE:
* arraybuffer = new Uint8Array(arraybuffer.buffer, offset);
* break;
* case android.opengl.GLES20.GL_UNSIGNED_SHORT_5_6_5:
* case android.opengl.GLES20.GL_UNSIGNED_SHORT_4_4_4_4:
* case android.opengl.GLES20.GL_UNSIGNED_SHORT_5_5_5_1:
* arraybuffer = new Uint16Array(arraybuffer.buffer, offset);
* break;
* default:
* arraybuffer = new Uint8Array(arraybuffer.buffer, offset);
* break;
* }
* android.opengl.GLES20.prototype.mContext.texImage2D(target, level, internalformat, width, height, border,
* format, type, arraybuffer);
*/{}
}
// C function void glTexParameterf ( GLenum target, GLenum pname, GLfloat param )
public static void glTexParameterf(
int target,
int pname,
float param
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.texParameterf(target, pname, param);
*/{}
}
// C function void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params )
public static native void glTexParameterfv(
int target,
int pname,
float[] params,
int offset
);
// C function void glTexParameterfv ( GLenum target, GLenum pname, const GLfloat *params )
public static native void glTexParameterfv(
int target,
int pname,
java.nio.FloatBuffer params
);
// C function void glTexParameteri ( GLenum target, GLenum pname, GLint param )
public static void glTexParameteri(
int target,
int pname,
int param
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.texParameteri(target, pname, param);
*/{}
}
// C function void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params )
public static native void glTexParameteriv(
int target,
int pname,
int[] params,
int offset
);
// C function void glTexParameteriv ( GLenum target, GLenum pname, const GLint *params )
public static native void glTexParameteriv(
int target,
int pname,
java.nio.IntBuffer params
);
// C function void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
public static native void glTexSubImage2D(
int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
int type,
java.nio.Buffer pixels
);
// C function void glUniform1f ( GLint location, GLfloat x )
public static void glUniform1f(
int location,
float x
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform1f(_location, x);
*/{}
}
// C function void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v )
public static void glUniform1fv(
int location,
int count,
float[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform1fv(_location, uniformArray);
*/{}
}
// C function void glUniform1fv ( GLint location, GLsizei count, const GLfloat *v )
public static native void glUniform1fv(
int location,
int count,
java.nio.FloatBuffer v
);
// C function void glUniform1i ( GLint location, GLint x )
public static void glUniform1i(
int location,
int x
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform1i(_location, x);
*/{}
}
// C function void glUniform1iv ( GLint location, GLsizei count, const GLint *v )
public static void glUniform1iv(
int location,
int count,
int[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = value.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform1iv(_location, uniformArray);
*/{}
}
// C function void glUniform1iv ( GLint location, GLsizei count, const GLint *v )
public static native void glUniform1iv(
int location,
int count,
java.nio.IntBuffer v
);
// C function void glUniform2f ( GLint location, GLfloat x, GLfloat y )
public static void glUniform2f(
int location,
float x,
float y
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform2f(_location, x, y);
*/{}
}
// C function void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v )
public static void glUniform2fv(
int location,
int count,
float[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform2fv(_location, uniformArray);
*/{}
}
// C function void glUniform2fv ( GLint location, GLsizei count, const GLfloat *v )
public static native void glUniform2fv(
int location,
int count,
java.nio.FloatBuffer v
);
// C function void glUniform2i ( GLint location, GLint x, GLint y )
public static void glUniform2i(
int location,
int x,
int y
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform2i(_location, x, y);
*/{}
}
// C function void glUniform2iv ( GLint location, GLsizei count, const GLint *v )
public static void glUniform2iv(
int location,
int count,
int[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform2iv(_location, uniformArray);
*/{}
}
// C function void glUniform2iv ( GLint location, GLsizei count, const GLint *v )
public static native void glUniform2iv(
int location,
int count,
java.nio.IntBuffer v
);
// C function void glUniform3f ( GLint location, GLfloat x, GLfloat y, GLfloat z )
public static void glUniform3f(
int location,
float x,
float y,
float z
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform3f(_location, x, y, z);
*/{}
}
// C function void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v )
public static void glUniform3fv(
int location,
int count,
float[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count * 3);
* android.opengl.GLES20.prototype.mContext.uniform3fv(_location, uniformArray);
*/{}
}
// C function void glUniform3fv ( GLint location, GLsizei count, const GLfloat *v )
public static native void glUniform3fv(
int location,
int count,
java.nio.FloatBuffer v
);
// C function void glUniform3i ( GLint location, GLint x, GLint y, GLint z )
public static void glUniform3i(
int location,
int x,
int y,
int z
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform3i(_location, x, y, z);
*/{}
}
// C function void glUniform3iv ( GLint location, GLsizei count, const GLint *v )
public static void glUniform3iv(
int location,
int count,
int[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform3iv(_location, uniformArray);
*/{}
}
// C function void glUniform3iv ( GLint location, GLsizei count, const GLint *v )
public static native void glUniform3iv(
int location,
int count,
java.nio.IntBuffer v
);
// C function void glUniform4f ( GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
public static void glUniform4f(
int location,
float x,
float y,
float z,
float w
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform4f(_location, x, y, z, w);
*/{}
}
// C function void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v )
public static void glUniform4fv(
int location,
int count,
float[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count * 4);
* android.opengl.GLES20.prototype.mContext.uniform4fv(_location, uniformArray);
*/{}
}
// C function void glUniform4fv ( GLint location, GLsizei count, const GLfloat *v )
public static native void glUniform4fv(
int location,
int count,
java.nio.FloatBuffer v
);
// C function void glUniform4i ( GLint location, GLint x, GLint y, GLint z, GLint w )
public static void glUniform4i(
int location,
int x,
int y,
int z,
int w
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* android.opengl.GLES20.prototype.mContext.uniform4i(_location, x, y, z, w);
*/{}
}
// C function void glUniform4iv ( GLint location, GLsizei count, const GLint *v )
public static void glUniform4iv(
int location,
int count,
int[] v,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var uniformArray = v.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.uniform4iv(_location, uniformArray);
*/{}
}
// C function void glUniform4iv ( GLint location, GLsizei count, const GLint *v )
public static native void glUniform4iv(
int location,
int count,
java.nio.IntBuffer v
);
// C function void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static void glUniformMatrix2fv(
int location,
int count,
boolean transpose,
float[] value,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var matrixArray = value.slice(offset, offset + count * 4);
* android.opengl.GLES20.prototype.mContext.uniformMatrix2fv(_location, transpose, matrixArray);
*/{}
}
// C function void glUniformMatrix2fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static native void glUniformMatrix2fv(
int location,
int count,
boolean transpose,
java.nio.FloatBuffer value
);
// C function void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static void glUniformMatrix3fv(
int location,
int count,
boolean transpose,
float[] value,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var matrixArray = value.slice(offset, offset + count * 9);
* android.opengl.GLES20.prototype.mContext.uniformMatrix3fv(_location, transpose, matrixArray);
*/{}
}
// C function void glUniformMatrix3fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static native void glUniformMatrix3fv(
int location,
int count,
boolean transpose,
java.nio.FloatBuffer value
);
// C function void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static void glUniformMatrix4fv(
int location,
int count,
boolean transpose,
float[] value,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var matrixArray = value.slice(offset, offset + count * 16);
* android.opengl.GLES20.prototype.mContext.uniformMatrix4fv(_location, transpose, matrixArray);
*/{}
}
// C function void glUniformMatrix4fv ( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
public static void glUniformMatrix4fv(
int location,
int count,
boolean transpose,
java.nio.FloatBuffer value
) {
checkWebGLContext();
/**
* @j2sNative
* var _location = android.opengl.GLES20.prototype.mUniformLocationArray[location];
* var arraybuffer = value.byteBuffer.backingArray;
* var offset = value.position() * Math.pow(2, value._elementSizeShift);
* var floatarray = new Float32Array(arraybuffer.buffer, offset, count * 16);
* android.opengl.GLES20.prototype.mContext.uniformMatrix4fv(_location, transpose, floatarray);
*/{}
}
// C function void glUseProgram ( GLuint program )
public static void glUseProgram(
int program
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* android.opengl.GLES20.prototype.mContext.useProgram(_program);
*/{}
}
// C function void glValidateProgram ( GLuint program )
public static void glValidateProgram(
int program
) {
checkWebGLContext();
/**
* @j2sNative
* var _program = android.opengl.GLES20.prototype.mProgramArray[program];
* android.opengl.GLES20.prototype.mContext.validateProgram(_program);
*/{}
}
// C function void glVertexAttrib1f ( GLuint indx, GLfloat x )
public static void glVertexAttrib1f(
int indx,
float x
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.vertexAttrib1f(indx, x);
*/{}
}
// C function void glVertexAttrib1fv ( GLuint indx, const GLfloat *values )
public static void glVertexAttrib1fv(
int indx,
float[] values,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var attribArray = value.slice(offset, offset + count);
* android.opengl.GLES20.prototype.mContext.vertexAttrib1fv(indx, attribArray);
*/{}
}
// C function void glVertexAttrib1fv ( GLuint indx, const GLfloat *values )
public static native void glVertexAttrib1fv(
int indx,
java.nio.FloatBuffer values
);
// C function void glVertexAttrib2f ( GLuint indx, GLfloat x, GLfloat y )
public static void glVertexAttrib2f(
int indx,
float x,
float y
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.vertexAttrib2f(indx, x, y);
*/{}
}
// C function void glVertexAttrib2fv ( GLuint indx, const GLfloat *values )
public static void glVertexAttrib2fv(
int indx,
float[] values,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var attribArray = value.slice(offset, offset + count * 2);
* android.opengl.GLES20.prototype.mContext.vertexAttrib2fv(indx, attribArray);
*/{}
}
// C function void glVertexAttrib2fv ( GLuint indx, const GLfloat *values )
public static native void glVertexAttrib2fv(
int indx,
java.nio.FloatBuffer values
);
// C function void glVertexAttrib3f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z )
public static void glVertexAttrib3f(
int indx,
float x,
float y,
float z
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.vertexAttrib3f(indx, x, y, z);
*/{}
}
// C function void glVertexAttrib3fv ( GLuint indx, const GLfloat *values )
public static void glVertexAttrib3fv(
int indx,
float[] values,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var attribArray = value.slice(offset, offset + count * 3);
* android.opengl.GLES20.prototype.mContext.vertexAttrib3fv(indx, attribArray);
*/{}
}
// C function void glVertexAttrib3fv ( GLuint indx, const GLfloat *values )
public static native void glVertexAttrib3fv(
int indx,
java.nio.FloatBuffer values
);
// C function void glVertexAttrib4f ( GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
public static void glVertexAttrib4f(
int indx,
float x,
float y,
float z,
float w
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.vertexAttrib4f(indx, x, y, z, w);
*/{}
}
// C function void glVertexAttrib4fv ( GLuint indx, const GLfloat *values )
public static void glVertexAttrib4fv(
int indx,
float[] values,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* var attribArray = value.slice(offset, offset + count * 4);
* android.opengl.GLES20.prototype.mContext.vertexAttrib4fv(indx, attribArray);
*/{}
}
// C function void glVertexAttrib4fv ( GLuint indx, const GLfloat *values )
public static native void glVertexAttrib4fv(
int indx,
java.nio.FloatBuffer values
);
// C function void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLint offset )
public static void glVertexAttribPointer(
int indx,
int size,
int type,
boolean normalized,
int stride,
int offset
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.vertexAttribPointer(indx, size, type, normalized, stride, offset);
*/{}
}
// C function void glVertexAttribPointer ( GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *ptr )
private static void glVertexAttribPointerBounds(
int indx,
int size,
int type,
boolean normalized,
int stride,
java.nio.Buffer ptr,
int remaining
) {
checkWebGLContext();
/**
* @j2sNative
* // WebGL does not support client side arrays, we need to gen
* // a buffer object and upload the data into buffer object, then
* // bind the buffer object and call vertexAttribPointer.
* if (android.opengl.GLES20.prototype.mCachedBuffer == null) {
* android.opengl.GLES20.prototype.mCachedBuffer = android.opengl.GLES20.prototype.mContext.createBuffer();
* }
* var buffer = android.opengl.GLES20.prototype.mCachedBuffer;
* android.opengl.GLES20.prototype.mContext.bindBuffer(android.opengl.GLES20.prototype.mContext.ARRAY_BUFFER, buffer);
* var arraybuffer = ptr.byteBuffer.backingArray;
* var offset = ptr.position() * Math.pow(2, ptr._elementSizeShift);
* android.opengl.GLES20.prototype.mContext.bufferData(android.opengl.GLES20.prototype.mContext.ARRAY_BUFFER, arraybuffer,
* android.opengl.GLES20.prototype.mContext.DYNAMIC_DRAW);
* android.opengl.GLES20.prototype.mContext.vertexAttribPointer(indx, size, type, normalized, stride, offset);
*
*/{}
}
public static void glVertexAttribPointer(
int indx,
int size,
int type,
boolean normalized,
int stride,
java.nio.Buffer ptr
) {
glVertexAttribPointerBounds(
indx,
size,
type,
normalized,
stride,
ptr,
ptr.remaining()
);
}
// C function void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height )
public static void glViewport(
int x,
int y,
int width,
int height
) {
checkWebGLContext();
/**
* @j2sNative
* android.opengl.GLES20.prototype.mContext.viewport(x, y, width, height);
*/{}
}
}