|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface GL10
The GL10
interface contains the Java(TM) programming
language bindings for OpenGL(R) ES 1.0 core functionality.
The OES_byte_coordinates
,
OES_single_precision
, OES_fixed_point
,
OES_read_format
, and
OES_compressed_paletted_texture
extensions are
included as part of this interface.
Methods with an x
or xv
suffix belong to
the OES_fixed_point
extension and take one or more
fixed-point arguments. Fixed-point arguments may be derived from
floating-point values by multiplying by 65536 (2^16) and rounding
to the nearest integer.
For ease of use, this interface documents method behavior for all versions of OpenGL ES including version 1.1 and extensions. When running on an OpenGL ES 1.0 implementation, sections marked "(1.1 only)" should be disregarded.
See the GL
interface for a description of how to
obtain an instance of this interface.
Field Summary | ||
---|---|---|
static int |
GL_ADD
OpenGL ES 1.0 constant. |
|
static int |
GL_ALIASED_LINE_WIDTH_RANGE
OpenGL ES 1.0 constant. |
|
static int |
GL_ALIASED_POINT_SIZE_RANGE
OpenGL ES 1.0 constant. |
|
static int |
GL_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_ALPHA_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_ALPHA_TEST
OpenGL ES 1.0 constant. |
|
static int |
GL_ALWAYS
OpenGL ES 1.0 constant. |
|
static int |
GL_AMBIENT
OpenGL ES 1.0 constant. |
|
static int |
GL_AMBIENT_AND_DIFFUSE
OpenGL ES 1.0 constant. |
|
static int |
GL_AND
OpenGL ES 1.0 constant. |
|
static int |
GL_AND_INVERTED
OpenGL ES 1.0 constant. |
|
static int |
GL_AND_REVERSE
OpenGL ES 1.0 constant. |
|
static int |
GL_BACK
OpenGL ES 1.0 constant. |
|
static int |
GL_BLEND
OpenGL ES 1.0 constant. |
|
static int |
GL_BLUE_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_BYTE
OpenGL ES 1.0 constant. |
|
static int |
GL_CCW
OpenGL ES 1.0 constant. |
|
static int |
GL_CLAMP_TO_EDGE
OpenGL ES 1.0 constant. |
|
static int |
GL_CLEAR
OpenGL ES 1.0 constant. |
|
static int |
GL_COLOR_ARRAY
OpenGL ES 1.0 constant. |
|
static int |
GL_COLOR_BUFFER_BIT
OpenGL ES 1.0 constant. |
|
static int |
GL_COLOR_LOGIC_OP
OpenGL ES 1.0 constant. |
|
static int |
GL_COLOR_MATERIAL
OpenGL ES 1.0 constant. |
|
static int |
GL_COMPRESSED_TEXTURE_FORMATS
OpenGL ES 1.0 constant. |
|
static int |
GL_CONSTANT_ATTENUATION
OpenGL ES 1.0 constant. |
|
static int |
GL_COPY
OpenGL ES 1.0 constant. |
|
static int |
GL_COPY_INVERTED
OpenGL ES 1.0 constant. |
|
static int |
GL_CULL_FACE
OpenGL ES 1.0 constant. |
|
static int |
GL_CW
OpenGL ES 1.0 constant. |
|
static int |
GL_DECAL
OpenGL ES 1.0 constant. |
|
static int |
GL_DECR
OpenGL ES 1.0 constant. |
|
static int |
GL_DEPTH_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_DEPTH_BUFFER_BIT
OpenGL ES 1.0 constant. |
|
static int |
GL_DEPTH_TEST
OpenGL ES 1.0 constant. |
|
static int |
GL_DIFFUSE
OpenGL ES 1.0 constant. |
|
static int |
GL_DITHER
OpenGL ES 1.0 constant. |
|
static int |
GL_DONT_CARE
OpenGL ES 1.0 constant. |
|
static int |
GL_DST_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_DST_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_EMISSION
OpenGL ES 1.0 constant. |
|
static int |
GL_EQUAL
OpenGL ES 1.0 constant. |
|
static int |
GL_EQUIV
OpenGL ES 1.0 constant. |
|
static int |
GL_EXP
OpenGL ES 1.0 constant. |
|
static int |
GL_EXP2
OpenGL ES 1.0 constant. |
|
static int |
GL_EXTENSIONS
OpenGL ES 1.0 constant. |
|
static int |
GL_FALSE
OpenGL ES 1.0 constant. |
|
static int |
GL_FASTEST
OpenGL ES 1.0 constant. |
|
static int |
GL_FIXED
OpenGL ES 1.0 constant. |
|
static int |
GL_FLAT
OpenGL ES 1.0 constant. |
|
static int |
GL_FLOAT
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_DENSITY
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_END
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_HINT
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_MODE
OpenGL ES 1.0 constant. |
|
static int |
GL_FOG_START
OpenGL ES 1.0 constant. |
|
static int |
GL_FRONT
OpenGL ES 1.0 constant. |
|
static int |
GL_FRONT_AND_BACK
OpenGL ES 1.0 constant. |
|
static int |
GL_GEQUAL
OpenGL ES 1.0 constant. |
|
static int |
GL_GREATER
OpenGL ES 1.0 constant. |
|
static int |
GL_GREEN_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_INCR
OpenGL ES 1.0 constant. |
|
static int |
GL_INVALID_ENUM
OpenGL ES 1.0 constant. |
|
static int |
GL_INVALID_OPERATION
OpenGL ES 1.0 constant. |
|
static int |
GL_INVALID_VALUE
OpenGL ES 1.0 constant. |
|
static int |
GL_INVERT
OpenGL ES 1.0 constant. |
|
static int |
GL_KEEP
OpenGL ES 1.0 constant. |
|
static int |
GL_LEQUAL
OpenGL ES 1.0 constant. |
|
static int |
GL_LESS
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT0
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT1
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT2
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT3
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT4
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT5
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT6
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT7
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHTING
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT_MODEL_AMBIENT
OpenGL ES 1.0 constant. |
|
static int |
GL_LIGHT_MODEL_TWO_SIDE
OpenGL ES 1.0 constant. |
|
static int |
GL_LINEAR
OpenGL ES 1.0 constant. |
|
static int |
GL_LINEAR_ATTENUATION
OpenGL ES 1.0 constant. |
|
static int |
GL_LINEAR_MIPMAP_LINEAR
OpenGL ES 1.0 constant. |
|
static int |
GL_LINEAR_MIPMAP_NEAREST
OpenGL ES 1.0 constant. |
|
static int |
GL_LINES
OpenGL ES 1.0 constant. |
|
static int |
GL_LINE_LOOP
OpenGL ES 1.0 constant. |
|
static int |
GL_LINE_SMOOTH
OpenGL ES 1.0 constant. |
|
static int |
GL_LINE_SMOOTH_HINT
OpenGL ES 1.0 constant. |
|
static int |
GL_LINE_STRIP
OpenGL ES 1.0 constant. |
|
static int |
GL_LUMINANCE
OpenGL ES 1.0 constant. |
|
static int |
GL_LUMINANCE_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_ELEMENTS_INDICES
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_ELEMENTS_VERTICES
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_LIGHTS
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_MODELVIEW_STACK_DEPTH
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_PROJECTION_STACK_DEPTH
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_TEXTURE_SIZE
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_TEXTURE_STACK_DEPTH
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_TEXTURE_UNITS
OpenGL ES 1.0 constant. |
|
static int |
GL_MAX_VIEWPORT_DIMS
OpenGL ES 1.0 constant. |
|
static int |
GL_MODELVIEW
OpenGL ES 1.0 constant. |
|
static int |
GL_MODULATE
OpenGL ES 1.0 constant. |
|
static int |
GL_MULTISAMPLE
OpenGL ES 1.0 constant. |
|
static int |
GL_NAND
OpenGL ES 1.0 constant. |
|
static int |
GL_NEAREST
OpenGL ES 1.0 constant. |
|
static int |
GL_NEAREST_MIPMAP_LINEAR
OpenGL ES 1.0 constant. |
|
static int |
GL_NEAREST_MIPMAP_NEAREST
OpenGL ES 1.0 constant. |
|
static int |
GL_NEVER
OpenGL ES 1.0 constant. |
|
static int |
GL_NICEST
OpenGL ES 1.0 constant. |
|
static int |
GL_NOOP
OpenGL ES 1.0 constant. |
|
static int |
GL_NOR
OpenGL ES 1.0 constant. |
|
static int |
GL_NORMALIZE
OpenGL ES 1.0 constant. |
|
static int |
GL_NORMAL_ARRAY
OpenGL ES 1.0 constant. |
|
static int |
GL_NOTEQUAL
OpenGL ES 1.0 constant. |
|
static int |
GL_NO_ERROR
OpenGL ES 1.0 constant. |
|
static int |
GL_NUM_COMPRESSED_TEXTURE_FORMATS
OpenGL ES 1.0 constant. |
|
static int |
GL_ONE
OpenGL ES 1.0 constant. |
|
static int |
GL_ONE_MINUS_DST_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_ONE_MINUS_DST_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_ONE_MINUS_SRC_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_ONE_MINUS_SRC_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_OR
OpenGL ES 1.0 constant. |
|
static int |
GL_OR_INVERTED
OpenGL ES 1.0 constant. |
|
static int |
GL_OR_REVERSE
OpenGL ES 1.0 constant. |
|
static int |
GL_OUT_OF_MEMORY
OpenGL ES 1.0 constant. |
|
static int |
GL_PACK_ALIGNMENT
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE4_R5_G6_B5_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE4_RGB5_A1_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE4_RGB8_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE4_RGBA4_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE4_RGBA8_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE8_R5_G6_B5_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE8_RGB5_A1_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE8_RGB8_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE8_RGBA4_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PALETTE8_RGBA8_OES
OpenGL ES 1.0 constant. |
|
static int |
GL_PERSPECTIVE_CORRECTION_HINT
OpenGL ES 1.0 constant. |
|
static int |
GL_POINTS
OpenGL ES 1.0 constant. |
|
static int |
GL_POINT_SMOOTH
OpenGL ES 1.0 constant. |
|
static int |
GL_POINT_SMOOTH_HINT
OpenGL ES 1.0 constant. |
|
static int |
GL_POLYGON_OFFSET_FILL
OpenGL ES 1.0 constant. |
|
static int |
GL_POLYGON_SMOOTH_HINT
OpenGL ES 1.0 constant. |
|
static int |
GL_POSITION
OpenGL ES 1.0 constant. |
|
static int |
GL_PROJECTION
OpenGL ES 1.0 constant. |
|
static int |
GL_QUADRATIC_ATTENUATION
OpenGL ES 1.0 constant. |
|
static int |
GL_RED_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_RENDERER
OpenGL ES 1.0 constant. |
|
static int |
GL_REPEAT
OpenGL ES 1.0 constant. |
|
static int |
GL_REPLACE
OpenGL ES 1.0 constant. |
|
static int |
GL_RESCALE_NORMAL
OpenGL ES 1.0 constant. |
|
static int |
GL_RGB
OpenGL ES 1.0 constant. |
|
static int |
GL_RGBA
OpenGL ES 1.0 constant. |
|
static int |
GL_SAMPLE_ALPHA_TO_COVERAGE
OpenGL ES 1.0 constant. |
|
static int |
GL_SAMPLE_ALPHA_TO_ONE
OpenGL ES 1.0 constant. |
|
static int |
GL_SAMPLE_COVERAGE
OpenGL ES 1.0 constant. |
|
static int |
GL_SCISSOR_TEST
OpenGL ES 1.0 constant. |
|
static int |
GL_SET
OpenGL ES 1.0 constant. |
|
static int |
GL_SHININESS
OpenGL ES 1.0 constant. |
|
static int |
GL_SHORT
OpenGL ES 1.0 constant. |
|
static int |
GL_SMOOTH
OpenGL ES 1.0 constant. |
|
static int |
GL_SMOOTH_LINE_WIDTH_RANGE
OpenGL ES 1.0 constant. |
|
static int |
GL_SMOOTH_POINT_SIZE_RANGE
OpenGL ES 1.0 constant. |
|
static int |
GL_SPECULAR
OpenGL ES 1.0 constant. |
|
static int |
GL_SPOT_CUTOFF
OpenGL ES 1.0 constant. |
|
static int |
GL_SPOT_DIRECTION
OpenGL ES 1.0 constant. |
|
static int |
GL_SPOT_EXPONENT
OpenGL ES 1.0 constant. |
|
static int |
GL_SRC_ALPHA
OpenGL ES 1.0 constant. |
|
static int |
GL_SRC_ALPHA_SATURATE
OpenGL ES 1.0 constant. |
|
static int |
GL_SRC_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_STACK_OVERFLOW
OpenGL ES 1.0 constant. |
|
static int |
GL_STACK_UNDERFLOW
OpenGL ES 1.0 constant. |
|
static int |
GL_STENCIL_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_STENCIL_BUFFER_BIT
OpenGL ES 1.0 constant. |
|
static int |
GL_STENCIL_TEST
OpenGL ES 1.0 constant. |
|
static int |
GL_SUBPIXEL_BITS
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE0
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE1
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE10
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE11
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE12
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE13
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE14
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE15
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE16
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE17
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE18
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE19
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE2
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE20
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE21
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE22
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE23
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE24
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE25
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE26
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE27
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE28
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE29
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE3
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE30
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE31
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE4
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE5
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE6
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE7
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE8
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE9
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_2D
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_COORD_ARRAY
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_ENV
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_ENV_COLOR
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_ENV_MODE
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_MAG_FILTER
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_MIN_FILTER
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_WRAP_S
OpenGL ES 1.0 constant. |
|
static int |
GL_TEXTURE_WRAP_T
OpenGL ES 1.0 constant. |
|
static int |
GL_TRIANGLES
OpenGL ES 1.0 constant. |
|
static int |
GL_TRIANGLE_FAN
OpenGL ES 1.0 constant. |
|
static int |
GL_TRIANGLE_STRIP
OpenGL ES 1.0 constant. |
|
static int |
GL_TRUE
OpenGL ES 1.0 constant. |
|
static int |
GL_UNPACK_ALIGNMENT
OpenGL ES 1.0 constant. |
|
static int |
GL_UNSIGNED_BYTE
OpenGL ES 1.0 constant. |
|
static int |
GL_UNSIGNED_SHORT
OpenGL ES 1.0 constant. |
|
static int |
GL_UNSIGNED_SHORT_4_4_4_4
OpenGL ES 1.0 constant. |
|
static int |
GL_UNSIGNED_SHORT_5_5_5_1
OpenGL ES 1.0 constant. |
|
static int |
GL_UNSIGNED_SHORT_5_6_5
OpenGL ES 1.0 constant. |
|
static int |
GL_VENDOR
OpenGL ES 1.0 constant. |
|
static int |
GL_VERSION
OpenGL ES 1.0 constant. |
|
static int |
GL_VERTEX_ARRAY
OpenGL ES 1.0 constant. |
|
static int |
GL_XOR
OpenGL ES 1.0 constant. |
|
static int |
GL_ZERO
OpenGL ES 1.0 constant. |
Method Summary | ||
---|---|---|
void |
glActiveTexture(int texture)
Select server-side active texture unit. |
|
void |
glAlphaFunc(int func,
float ref)
Specify the alpha test function. |
|
void |
glAlphaFuncx(int func,
int ref)
Fixed-point version of glAlphaFunc . |
|
void |
glBindTexture(int target,
int texture)
Bind a named texture to a texturing target. |
|
void |
glBlendFunc(int sfactor,
int dfactor)
Specify pixel arithmetic. |
|
void |
glClear(int mask)
Clear buffers to preset values. |
|
void |
glClearColor(float red,
float green,
float blue,
float alpha)
Specify clear values for the color buffer. |
|
void |
glClearColorx(int red,
int green,
int blue,
int alpha)
Fixed-point version of glClearColor . |
|
void |
glClearDepthf(float depth)
Specify the clear value for the depth buffer. |
|
void |
glClearDepthx(int depth)
Fixed-point version of glClearDepth . |
|
void |
glClearStencil(int s)
Specify the clear value for the stencil buffer. |
|
void |
glClientActiveTexture(int texture)
Select client-side active texture unit. |
|
void |
glColor4f(float red,
float green,
float blue,
float alpha)
Set the current color. |
|
void |
glColor4x(int red,
int green,
int blue,
int alpha)
Fixed-point version of glColor . |
|
void |
glColorMask(boolean red,
boolean green,
boolean blue,
boolean alpha)
Enable and disable writing of color buffer components. |
|
void |
glColorPointer(int size,
int type,
int stride,
Buffer pointer)
Define an array of colors. |
|
void |
glCompressedTexImage2D(int target,
int level,
int internalformat,
int width,
int height,
int border,
int imageSize,
Buffer data)
Specify a two-dimensional compressed texture image. |
|
void |
glCompressedTexSubImage2D(int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
int imageSize,
Buffer data)
Specify a two-dimensional compressed texture subimage. |
|
void |
glCopyTexImage2D(int target,
int level,
int internalformat,
int x,
int y,
int width,
int height,
int border)
Specify a two-dimensional texture image with pixels from the color buffer. |
|
void |
glCopyTexSubImage2D(int target,
int level,
int xoffset,
int yoffset,
int x,
int y,
int width,
int height)
Specify a two-dimensional texture subimage with pixels from the color buffer. |
|
void |
glCullFace(int mode)
Specify whether front- or back-facing polygons are culled. |
|
void |
glDeleteTextures(int n,
int[] textures,
int offset)
Delete named textures. |
|
void |
glDeleteTextures(int n,
IntBuffer textures)
Integer Buffer version of glDeleteTextures . |
|
void |
glDepthFunc(int func)
Specify the value used for depth buffer comparisons. |
|
void |
glDepthMask(boolean flag)
Enable or disable writing into the depth buffer. |
|
void |
glDepthRangef(float zNear,
float zFar)
Specify mapping of depth values from normalized device coordinates to window coordinates. |
|
void |
glDepthRangex(int zNear,
int zFar)
Fixed-point version of glDepthRange . |
|
void |
glDisable(int cap)
Disable server-side GL capabilities. |
|
void |
glDisableClientState(int array)
Disable client-side capability. |
|
void |
glDrawArrays(int mode,
int first,
int count)
Render primitives from array data. |
|
void |
glDrawElements(int mode,
int count,
int type,
Buffer indices)
Render primitives from array data. |
|
void |
glEnable(int cap)
Enable server-side GL capabilities. |
|
void |
glEnableClientState(int array)
Enable client-side capability. |
|
void |
glFinish()
Block until all GL execution is complete. |
|
void |
glFlush()
Force execution of GL commands in finite time. |
|
void |
glFogf(int pname,
float param)
Specify fog parameters. |
|
void |
glFogfv(int pname,
float[] params,
int offset)
Specify fog parameters (array version). |
|
void |
glFogfv(int pname,
FloatBuffer params)
Floating-point Buffer version of glFog . |
|
void |
glFogx(int pname,
int param)
Fixed-point version of glFog . |
|
void |
glFogxv(int pname,
int[] params,
int offset)
Fixed-point array version of glFog . |
|
void |
glFogxv(int pname,
IntBuffer params)
Fixed-point Buffer version of glFog . |
|
void |
glFrontFace(int mode)
Define front- and back-facing polygons. |
|
void |
glFrustumf(float left,
float right,
float bottom,
float top,
float near,
float far)
Multiply the current matrix by a perspective matrix. |
|
void |
glFrustumx(int left,
int right,
int bottom,
int top,
int near,
int far)
Fixed-point version of glFrustum . |
|
void |
glGenTextures(int n,
int[] textures,
int offset)
Generate texture names. |
|
void |
glGenTextures(int n,
IntBuffer textures)
Integer Buffer version of
glGenTextures . |
|
int |
glGetError()
Return error information. |
|
void |
glGetIntegerv(int pname,
int[] params,
int offset)
Return the value or values of a selected parameter. |
|
void |
glGetIntegerv(int pname,
IntBuffer params)
Integer Buffer version of glGetIntegerv . |
|
String |
glGetString(int name)
Return a string describing the underlying GL implementation. |
|
void |
glHint(int target,
int mode)
Specify implementation-specific hints. |
|
void |
glLightModelf(int pname,
float param)
Set the lighting model parameters. |
|
void |
glLightModelfv(int pname,
float[] params,
int offset)
Set the lighting model parameters (array version). |
|
void |
glLightModelfv(int pname,
FloatBuffer params)
Floating-point Buffer version of glLightModel . |
|
void |
glLightModelx(int pname,
int param)
Fixed-point version of glLightModel . |
|
void |
glLightModelxv(int pname,
int[] params,
int offset)
Fixed-point array version of glLightModel . |
|
void |
glLightModelxv(int pname,
IntBuffer params)
Fixed-point Buffer version of glLightModel . |
|
void |
glLightf(int light,
int pname,
float param)
Set light source parameters. |
|
void |
glLightfv(int light,
int pname,
float[] params,
int offset)
Set light source parameters (array version). |
|
void |
glLightfv(int light,
int pname,
FloatBuffer params)
Floating-point Buffer version of glLight . |
|
void |
glLightx(int light,
int pname,
int param)
Fixed-point version of glLight . |
|
void |
glLightxv(int light,
int pname,
int[] params,
int offset)
Fixed-point array version of glLight . |
|
void |
glLightxv(int light,
int pname,
IntBuffer params)
Fixed-point Buffer version of glLight . |
|
void |
glLineWidth(float width)
Specify the width of rasterized lines. |
|
void |
glLineWidthx(int width)
Fixed-point version of glLineWidth . |
|
void |
glLoadIdentity()
Replace the current matrix with the identity matrix. |
|
void |
glLoadMatrixf(float[] m,
int offset)
Replace the current matrix with the specified matrix. |
|
void |
glLoadMatrixf(FloatBuffer m)
Floating-point Buffer version of glLoadMatrix . |
|
void |
glLoadMatrixx(int[] m,
int offset)
Fixed-point array version of glLoadMatrix . |
|
void |
glLoadMatrixx(IntBuffer m)
Fixed-point Buffer version of glLoadMatrix . |
|
void |
glLogicOp(int opcode)
Specify a logical pixel operation. |
|
void |
glMaterialf(int face,
int pname,
float param)
Specify material parameters for the lighting model. |
|
void |
glMaterialfv(int face,
int pname,
float[] params,
int offset)
Specify material parameters for the lighting model (array version). |
|
void |
glMaterialfv(int face,
int pname,
FloatBuffer params)
Floating-point Buffer version of glMaterial . |
|
void |
glMaterialx(int face,
int pname,
int param)
Fixed-point version of glMaterial . |
|
void |
glMaterialxv(int face,
int pname,
int[] params,
int offset)
Fixed-point array version of glMaterial . |
|
void |
glMaterialxv(int face,
int pname,
IntBuffer params)
Fixed-point Buffer version of glMaterial . |
|
void |
glMatrixMode(int mode)
Specify which matrix is the current matrix. |
|
void |
glMultMatrixf(float[] m,
int offset)
Multiply the current matrix with the specified matrix. |
|
void |
glMultMatrixf(FloatBuffer m)
Floating-point Buffer version ofglMultMatrix . |
|
void |
glMultMatrixx(int[] m,
int offset)
Fixed-point array version of glMultMatrix . |
|
void |
glMultMatrixx(IntBuffer m)
Fixed-point Buffer version of glMultMatrix . |
|
void |
glMultiTexCoord4f(int target,
float s,
float t,
float r,
float q)
Set the current texture coordinates. |
|
void |
glMultiTexCoord4x(int target,
int s,
int t,
int r,
int q)
Fixed-point version of glMultiTexCoord . |
|
void |
glNormal3f(float nx,
float ny,
float nz)
Set the current normal vector. |
|
void |
glNormal3x(int nx,
int ny,
int nz)
Fixed-point version of glNormal . |
|
void |
glNormalPointer(int type,
int stride,
Buffer pointer)
Define an array of normals. |
|
void |
glOrthof(float left,
float right,
float bottom,
float top,
float near,
float far)
Multiply the current matrix with an orthographic matrix. |
|
void |
glOrthox(int left,
int right,
int bottom,
int top,
int near,
int far)
Fixed-point version of glOrtho . |
|
void |
glPixelStorei(int pname,
int param)
Set pixel storage modes. |
|
void |
glPointSize(float size)
Specify the diameter of rasterized points. |
|
void |
glPointSizex(int size)
Fixed-point version of glPointSize . |
|
void |
glPolygonOffset(float factor,
float units)
Set the scale and units used to calculate depth values. |
|
void |
glPolygonOffsetx(int factor,
int units)
Fixed-point version of glPolygonOffset . |
|
void |
glPopMatrix()
Pop the current matrix stack. |
|
void |
glPushMatrix()
Push the current matrix stack. |
|
void |
glReadPixels(int x,
int y,
int width,
int height,
int format,
int type,
Buffer pixels)
Read a block of pixels from the color buffer. |
|
void |
glRotatef(float angle,
float x,
float y,
float z)
Multiply the current matrix by a rotation matrix. |
|
void |
glRotatex(int angle,
int x,
int y,
int z)
Fixed-point version of glRotate . |
|
void |
glSampleCoverage(float value,
boolean invert)
Specify mask to modify multisampled pixel fragments. |
|
void |
glSampleCoveragex(int value,
boolean invert)
Fixed-point version of glSampleCoverage . |
|
void |
glScalef(float x,
float y,
float z)
Multiply the current matrix by a general scaling matrix. |
|
void |
glScalex(int x,
int y,
int z)
Fixed-point version of glScale . |
|
void |
glScissor(int x,
int y,
int width,
int height)
Define the scissor box. |
|
void |
glShadeModel(int mode)
Select flat or smooth shading. |
|
void |
glStencilFunc(int func,
int ref,
int mask)
Set function and reference value for stencil testing. |
|
void |
glStencilMask(int mask)
Control the writing of individual bits in the stencil planes. |
|
void |
glStencilOp(int fail,
int zfail,
int zpass)
Set stencil test actions. |
|
void |
glTexCoordPointer(int size,
int type,
int stride,
Buffer pointer)
Define an array of texture coordinates. |
|
void |
glTexEnvf(int target,
int pname,
float param)
Set texture environment parameters. |
|
void |
glTexEnvfv(int target,
int pname,
float[] params,
int offset)
Set texture environment parameters (array version). |
|
void |
glTexEnvfv(int target,
int pname,
FloatBuffer params)
Floating-point Buffer version of glTexEnv . |
|
void |
glTexEnvx(int target,
int pname,
int param)
Fixed-point version of glTexEnv . |
|
void |
glTexEnvxv(int target,
int pname,
int[] params,
int offset)
Fixed-point array version of glTexEnv . |
|
void |
glTexEnvxv(int target,
int pname,
IntBuffer params)
Fixed-point Buffer version of glTexEnv . |
|
void |
glTexImage2D(int target,
int level,
int internalformat,
int width,
int height,
int border,
int format,
int type,
Buffer pixels)
Specify a two-dimensional texture image. |
|
void |
glTexParameterf(int target,
int pname,
float param)
Set texture parameters. |
|
void |
glTexParameterx(int target,
int pname,
int param)
Fixed-point version of glTexParameter . |
|
void |
glTexSubImage2D(int target,
int level,
int xoffset,
int yoffset,
int width,
int height,
int format,
int type,
Buffer pixels)
Specify a two-dimensional texture subimage. |
|
void |
glTranslatef(float x,
float y,
float z)
Multiply the current matrix by a translation matrix. |
|
void |
glTranslatex(int x,
int y,
int z)
Fixed-point version of glTranslate . |
|
void |
glVertexPointer(int size,
int type,
int stride,
Buffer pointer)
Define an array of vertex coordinates. |
|
void |
glViewport(int x,
int y,
int width,
int height)
Set the viewport. |
Field Detail |
---|
static final int GL_DEPTH_BUFFER_BIT
static final int GL_STENCIL_BUFFER_BIT
static final int GL_COLOR_BUFFER_BIT
static final int GL_FALSE
static final int GL_TRUE
static final int GL_POINTS
static final int GL_LINES
static final int GL_LINE_LOOP
static final int GL_LINE_STRIP
static final int GL_TRIANGLES
static final int GL_TRIANGLE_STRIP
static final int GL_TRIANGLE_FAN
static final int GL_NEVER
static final int GL_LESS
static final int GL_EQUAL
static final int GL_LEQUAL
static final int GL_GREATER
static final int GL_NOTEQUAL
static final int GL_GEQUAL
static final int GL_ALWAYS
static final int GL_ZERO
static final int GL_ONE
static final int GL_SRC_COLOR
static final int GL_ONE_MINUS_SRC_COLOR
static final int GL_SRC_ALPHA
static final int GL_ONE_MINUS_SRC_ALPHA
static final int GL_DST_ALPHA
static final int GL_ONE_MINUS_DST_ALPHA
static final int GL_DST_COLOR
static final int GL_ONE_MINUS_DST_COLOR
static final int GL_SRC_ALPHA_SATURATE
static final int GL_FRONT
static final int GL_BACK
static final int GL_FRONT_AND_BACK
static final int GL_FOG
static final int GL_LIGHTING
static final int GL_TEXTURE_2D
static final int GL_CULL_FACE
static final int GL_ALPHA_TEST
static final int GL_BLEND
static final int GL_COLOR_LOGIC_OP
static final int GL_DITHER
static final int GL_STENCIL_TEST
static final int GL_DEPTH_TEST
static final int GL_POINT_SMOOTH
static final int GL_LINE_SMOOTH
static final int GL_SCISSOR_TEST
static final int GL_COLOR_MATERIAL
static final int GL_NORMALIZE
static final int GL_RESCALE_NORMAL
static final int GL_POLYGON_OFFSET_FILL
static final int GL_VERTEX_ARRAY
static final int GL_NORMAL_ARRAY
static final int GL_COLOR_ARRAY
static final int GL_TEXTURE_COORD_ARRAY
static final int GL_MULTISAMPLE
static final int GL_SAMPLE_ALPHA_TO_COVERAGE
static final int GL_SAMPLE_ALPHA_TO_ONE
static final int GL_SAMPLE_COVERAGE
static final int GL_NO_ERROR
static final int GL_INVALID_ENUM
static final int GL_INVALID_VALUE
static final int GL_INVALID_OPERATION
static final int GL_STACK_OVERFLOW
static final int GL_STACK_UNDERFLOW
static final int GL_OUT_OF_MEMORY
static final int GL_EXP
static final int GL_EXP2
static final int GL_FOG_DENSITY
static final int GL_FOG_START
static final int GL_FOG_END
static final int GL_FOG_MODE
static final int GL_FOG_COLOR
static final int GL_CW
static final int GL_CCW
static final int GL_SMOOTH_POINT_SIZE_RANGE
static final int GL_SMOOTH_LINE_WIDTH_RANGE
static final int GL_ALIASED_POINT_SIZE_RANGE
static final int GL_ALIASED_LINE_WIDTH_RANGE
static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
static final int GL_MAX_LIGHTS
static final int GL_MAX_TEXTURE_SIZE
static final int GL_MAX_MODELVIEW_STACK_DEPTH
static final int GL_MAX_PROJECTION_STACK_DEPTH
static final int GL_MAX_TEXTURE_STACK_DEPTH
static final int GL_MAX_VIEWPORT_DIMS
static final int GL_MAX_ELEMENTS_VERTICES
static final int GL_MAX_ELEMENTS_INDICES
static final int GL_MAX_TEXTURE_UNITS
static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS
static final int GL_COMPRESSED_TEXTURE_FORMATS
static final int GL_SUBPIXEL_BITS
static final int GL_RED_BITS
static final int GL_GREEN_BITS
static final int GL_BLUE_BITS
static final int GL_ALPHA_BITS
static final int GL_DEPTH_BITS
static final int GL_STENCIL_BITS
static final int GL_DONT_CARE
static final int GL_FASTEST
static final int GL_NICEST
static final int GL_PERSPECTIVE_CORRECTION_HINT
static final int GL_POINT_SMOOTH_HINT
static final int GL_LINE_SMOOTH_HINT
static final int GL_POLYGON_SMOOTH_HINT
static final int GL_FOG_HINT
static final int GL_LIGHT_MODEL_AMBIENT
static final int GL_LIGHT_MODEL_TWO_SIDE
static final int GL_AMBIENT
static final int GL_DIFFUSE
static final int GL_SPECULAR
static final int GL_POSITION
static final int GL_SPOT_DIRECTION
static final int GL_SPOT_EXPONENT
static final int GL_SPOT_CUTOFF
static final int GL_CONSTANT_ATTENUATION
static final int GL_LINEAR_ATTENUATION
static final int GL_QUADRATIC_ATTENUATION
static final int GL_BYTE
static final int GL_UNSIGNED_BYTE
static final int GL_SHORT
static final int GL_UNSIGNED_SHORT
static final int GL_FLOAT
static final int GL_FIXED
static final int GL_CLEAR
static final int GL_AND
static final int GL_AND_REVERSE
static final int GL_COPY
static final int GL_AND_INVERTED
static final int GL_NOOP
static final int GL_XOR
static final int GL_OR
static final int GL_NOR
static final int GL_EQUIV
static final int GL_INVERT
static final int GL_OR_REVERSE
static final int GL_COPY_INVERTED
static final int GL_OR_INVERTED
static final int GL_NAND
static final int GL_SET
static final int GL_EMISSION
static final int GL_SHININESS
static final int GL_AMBIENT_AND_DIFFUSE
static final int GL_MODELVIEW
static final int GL_PROJECTION
static final int GL_TEXTURE
static final int GL_ALPHA
static final int GL_RGB
static final int GL_RGBA
static final int GL_LUMINANCE
static final int GL_LUMINANCE_ALPHA
static final int GL_UNPACK_ALIGNMENT
static final int GL_PACK_ALIGNMENT
static final int GL_UNSIGNED_SHORT_4_4_4_4
static final int GL_UNSIGNED_SHORT_5_5_5_1
static final int GL_UNSIGNED_SHORT_5_6_5
static final int GL_FLAT
static final int GL_SMOOTH
static final int GL_KEEP
static final int GL_REPLACE
static final int GL_INCR
static final int GL_DECR
static final int GL_VENDOR
static final int GL_RENDERER
static final int GL_VERSION
static final int GL_EXTENSIONS
static final int GL_MODULATE
static final int GL_DECAL
static final int GL_ADD
static final int GL_TEXTURE_ENV_MODE
static final int GL_TEXTURE_ENV_COLOR
static final int GL_TEXTURE_ENV
static final int GL_NEAREST
static final int GL_LINEAR
static final int GL_NEAREST_MIPMAP_NEAREST
static final int GL_LINEAR_MIPMAP_NEAREST
static final int GL_NEAREST_MIPMAP_LINEAR
static final int GL_LINEAR_MIPMAP_LINEAR
static final int GL_TEXTURE_MAG_FILTER
static final int GL_TEXTURE_MIN_FILTER
static final int GL_TEXTURE_WRAP_S
static final int GL_TEXTURE_WRAP_T
static final int GL_TEXTURE0
static final int GL_TEXTURE1
static final int GL_TEXTURE2
static final int GL_TEXTURE3
static final int GL_TEXTURE4
static final int GL_TEXTURE5
static final int GL_TEXTURE6
static final int GL_TEXTURE7
static final int GL_TEXTURE8
static final int GL_TEXTURE9
static final int GL_TEXTURE10
static final int GL_TEXTURE11
static final int GL_TEXTURE12
static final int GL_TEXTURE13
static final int GL_TEXTURE14
static final int GL_TEXTURE15
static final int GL_TEXTURE16
static final int GL_TEXTURE17
static final int GL_TEXTURE18
static final int GL_TEXTURE19
static final int GL_TEXTURE20
static final int GL_TEXTURE21
static final int GL_TEXTURE22
static final int GL_TEXTURE23
static final int GL_TEXTURE24
static final int GL_TEXTURE25
static final int GL_TEXTURE26
static final int GL_TEXTURE27
static final int GL_TEXTURE28
static final int GL_TEXTURE29
static final int GL_TEXTURE30
static final int GL_TEXTURE31
static final int GL_REPEAT
static final int GL_CLAMP_TO_EDGE
static final int GL_PALETTE4_RGB8_OES
static final int GL_PALETTE4_RGBA8_OES
static final int GL_PALETTE4_R5_G6_B5_OES
static final int GL_PALETTE4_RGBA4_OES
static final int GL_PALETTE4_RGB5_A1_OES
static final int GL_PALETTE8_RGB8_OES
static final int GL_PALETTE8_RGBA8_OES
static final int GL_PALETTE8_R5_G6_B5_OES
static final int GL_PALETTE8_RGBA4_OES
static final int GL_PALETTE8_RGB5_A1_OES
static final int GL_LIGHT0
static final int GL_LIGHT1
static final int GL_LIGHT2
static final int GL_LIGHT3
static final int GL_LIGHT4
static final int GL_LIGHT5
static final int GL_LIGHT6
static final int GL_LIGHT7
Method Detail |
---|
void glActiveTexture(int texture)
glActiveTexture
selects which texture unit
subsequent texture state calls will affect. The number of
texture units an implementation supports is implementation
dependent, it must be at least 1 for OpenGL ES 1.0, or 2 for
OpenGL ES 1.1.
It is always the case that GL_TEXTURE
i =
GL_TEXTURE0
+ i.
A texture unit consists of the texture enable state, texture matrix stack, texture environment and currently bound texture. Modifying any of these states has an effect only on the active texture unit.
Vertex arrays are client-side GL resources, which are selected
by the glClientActiveTexture
routine.
GL_INVALID_ENUM
is generated if
texture
is not one of GL_TEXTURE
i, where 0 <= i <
GL_MAX_TEXTURE_UNITS
.
glGetIntegerv
with argument
GL_MAX_TEXTURE_UNITS
.
texture
- Specifies which texture unit to make active. The
number of texture units is implementation dependent,
but must be at least one (for 1.0) or two (for 1.1).
texture
must be one of
GL_TEXTURE
i, where 0 <=
i < GL_MAX_TEXTURE_UNITS
, which is
an implementation-dependent value. The intial value
is GL_TEXTURE0
.void glAlphaFunc(int func, float ref)
The alpha test discards fragments depending on the outcome of a
comparison between an incoming fragment's alpha value and a
constant reference value. glAlphaFunc
specifies
the reference value and the comparison function. The comparison
is performed only if alpha testing is enabled. To enable and
disable alpha testing, call glEnable
and
glDisable
with argument GL_ALPHA_TEST
.
Alpha testing is initially disabled.
func
and ref
specify the conditions
under which the pixel is drawn. The incoming alpha value is
compared to ref
using the function specified by
func
. If the value passes the comparison, the
incoming fragment is drawn if it also passes subsequent stencil
and depth buffer tests. If the value fails the comparison, no
change is made to the frame buffer at that pixel location. The
comparison functions are as follows:
GL_NEVER
GL_LESS
GL_EQUAL
GL_LEQUAL
GL_GREATER
GL_NOTEQUAL
GL_GEQUAL
GL_ALWAYS
glAlphaFunc
operates on all pixel write
operations, including those resulting from the scan conversion
of points, lines, and polygons. glAlphaFunc
does
not affect glClear
.
GL_INVALID_ENUM
is generated if func
is not an accepted value.
func
- Specifies the alpha comparison function. Symbolic
constants GL_NEVER
,
GL_LESS
, GL_EQUAL
,
GL_LEQUAL
, GL_GREATER
,
GL_NOTEQUAL
, GL_GEQUAL
,
and GL_ALWAYS
are accepted. The initial
value is GL_ALWAYS
.ref
- Specifies the reference value that incoming alpha
values are compared to. This value is clamped to the
range [0, 1]
, where 0 represents the
lowest possible alpha value and 1 the highest
possible value. The initial reference value is 0.void glAlphaFuncx(int func, int ref)
glAlphaFunc
.
GL10.glAlphaFunc(int, float)
void glBindTexture(int target, int texture)
glBindTexture
lets you create or use a named
texture. Calling glBindTexture
with
target
set to GL_TEXTURE_2D
, and
texture
set to the name of the new texture binds
the texture name to the target. When a texture is bound to a
target, the previous binding for that target is automatically
broken.
Texture names are unsigned integers. The value 0 is reserved to
represent the default texture for each texture target. Texture
names and the corresponding texture contents are local to the
shared texture-object space (see eglCreateContext
)
of the current GL rendering context.
You may use glGenTextures
to generate a set of new
texture names.
While a texture is bound, GL operations on the target to which it is bound affect the bound texture. If texture mapping of the dimensionality of the target to which a texture is bound is active, the bound texture is used. In effect, the texture targets become aliases for the textures currently bound to them, and the texture name 0 refers to the default textures that were bound to them at initialization.
A texture binding created with glBindTexture
remains active until a different texture is bound to the same
target, or until the bound texture is deleted with
glDeleteTextures
.
Once created, a named texture may be re-bound to the target of
the matching dimensionality as often as needed. It is usually
much faster to use glBindTexture
to bind an
existing named texture to one of the texture targets than it is
to reload the texture image using glTexImage2D
.
GL_INVALID_ENUM
is generated if
target
is not one of the allowable values.
target
- Specifies the target to which the texture is bound.
Must be GL_TEXTURE_2D
.texture
- Specifies the name of a texture.void glBlendFunc(int sfactor, int dfactor)
Pixels can be drawn using a function that blends the incoming
(source) values with the values that are already in the color
buffer (the destination values). Use glEnable
and
glDisable
with argument GL_BLEND
to
enable and disable blending. Blending is initially disabled.
glBlendFunc
defines the operation of blending when
it is enabled. sfactor
specifies which of eleven
methods is used to scale the source color components.
dfactor
specifies which of ten methods is used to
scale the destination color components. The eleven possible
methods are described in the following table. Each method
defines four scale factors, one each for red, green, blue, and
alpha.
In the table and in subsequent equations, source and
destination color components are referred to as (Rs, Gs,
Bs, As)
and (Rd, Gd, Bd, Ad)
. They are
understood to have integer values between 0 and (kR, kG,
kB, kA)
, where
kc = 2mc - 1and
(mR, mG, mB, mA)
is the number of red, green,
blue, and alpha bitplanes.
Source and destination scale factors are referred to as
(sR, sG, sB, sA)
and (dR, dG, dB,
dA)
. The scale factors described in the table, denoted
(fR, fG, fB, fA)
, represent either source or
destination factors. All scale factors have range [0, 1].
Parameter (fR, fG, fB, fA) GL_ZERO (0, 0, 0, 0) GL_ONE (1, 1, 1, 1) GL_SRC_COLOR (Rs/kR, Gs/kG, Bs/kB, As/kA ) GL_ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (Rs/kR, Gs/kG, Bs/kB, As/kA) GL_DST_COLOR (Rd/kR, Gd/kG, Bd/kB, Ad/kA ) GL_ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (Rd/kR, Gd/kG, Bd/kB, Ad/kA) GL_SRC_ALPHA (As/kA, As/kA, As/kA, As/kA ) GL_ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (As/kA, As/kA, As/kA, As/kA) GL_DST_ALPHA (Ad/kA, Ad/kA, Ad/kA, Ad/kA ) GL_ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (Ad/kA, Ad/kA, Ad/kA, Ad/kA) GL_SRC_ALPHA_SATURATE (i, i, i, 1)
In the table,
i = min(As, kA - Ad) / kA
To determine the blended values of a pixel, the system uses the following equations:
Rd = min( kR, Rs sR + Rd dR ) Gd = min( kG, Gs sG + Gd dG ) Bd = min( kB, Bs sB + Bd dB ) Ad = min( kA, As sA + Ad dA )
Despite the apparent precision of the above equations, blending
arithmetic is not exactly specified, because blending operates
with imprecise integer color values. However, a blend factor
that should be equal to 1 is guaranteed not to modify its
multiplicand, and a blend factor equal to 0 reduces its
multiplicand to 0. For example, when sfactor
is
GL_SRC_ALPHA
, dfactor
is
GL_ONE_MINUS_SRC_ALPHA
, and As
is
equal to kA
, the equations reduce to simple
replacement:
Rd = Rs Gd = Gs Bd = Bs Ad = As
glBlendFunc
operates on all pixel write
operations, including the scan conversion of points, lines, and
polygons. glBlendFunc
does not affect
glClear
.
Transparency is best implemented using
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
with primitives sorted from farthest to nearest. Note that this
transparency calculation does not require the presence of alpha
bitplanes in the color buffer.
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
is also useful for rendering antialiased points and lines.
Incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0 (kA), representing complete opacity, to 0.0 (0), representing complete transparency.
GL_INVALID_ENUM
is generated if either
sfactor
or dfactor
is not an accepted
value.
sfactor
- Specifies how the red, green, blue, and alpha
source blending factors are computed. The following
symbolic constants are accepted:
GL_ZERO
, GL_ONE
,
GL_SRC_COLOR
(1.1 only),
GL_ONE_MINUS_SRC_COLOR
(1.1 only),
GL_DST_COLOR
,
GL_ONE_MINUS_DST_COLOR
,
GL_SRC_ALPHA
,
GL_ONE_MINUS_SRC_ALPHA
,
GL_DST_ALPHA
,
GL_ONE_MINUS_DST_ALPHA
, and
GL_SRC_ALPHA_SATURATE
. The initial
value is GL_ONE
.dfactor
- Specifies how the red, green, blue, and alpha
destination blending factors are computed. The
following symbolic constants are accepted:
GL_ZERO
, GL_ONE
,
GL_SRC_COLOR
,
GL_ONE_MINUS_SRC_COLOR
,
GL_DST_COLOR
(1.1 only),
GL_ONE_MINUS_DST_COLOR
(1.1 only),
GL_SRC_ALPHA
,
GL_ONE_MINUS_SRC_ALPHA
,
GL_DST_ALPHA
, and
GL_ONE_MINUS_DST_ALPHA
. The initial
value is GL_ZERO
.void glClear(int mask)
glClear
sets the bitplane area of the window to
values previously selected by glClearColor
,
glClearDepth
, and glClearStencil
.
The pixel ownership test, the scissor test, dithering, and the
color buffer masks affect the operation of glClear
. The scissor box bounds the cleared region. Alpha function,
blend function, logical operation, stenciling, texture mapping,
and depth-buffering are ignored by glClear
.
glClear
takes a single argument that is the
bitwise OR of several values indicating which buffer is to be
cleared.
The values are as follows:
GL_COLOR_BUFFER_BIT
GL_DEPTH_BUFFER_BIT
GL_STENCIL_BUFFER_BIT
The value to which each buffer is cleared depends on the setting of the clear value for that buffer.
If a buffer is not present, then a glClear
directed at that buffer has no effect.
GL_INVALID_VALUE
is generated if any bit other
than the defined bits is set in mask
.
mask
- Bitwise OR of masks that indicate the buffers to be
cleared. Valid masks are
GL_COLOR_BUFFER_BIT
,
GL_DEPTH_BUFFER_BIT
, and
GL_STENCIL_BUFFER_BIT
.void glClearColor(float red, float green, float blue, float alpha)
glClearColor
specifies the red, green, blue, and
alpha values used by glClear
to clear the color
buffer. Values specified by glClearColor
are
clamped to the range [0, 1]
.
red
- Specifies the red value used when the color buffer
is cleared. The initial value is 0.green
- Specifies the green value used when the color
buffer is cleared. The initial value is 0.blue
- Specifies the blue value used when the color buffer
is cleared. The initial value is 0.alpha
- Specifies the alpha value used when the color
buffer is cleared. The initial value is 0.void glClearColorx(int red, int green, int blue, int alpha)
glClearColor
.
GL10.glClearColor(float, float, float, float)
void glClearDepthf(float depth)
glClearDepth
specifies the depth value used by
glClear
to clear the depth buffer. Values
specified by glClearDepth
are clamped to the range
[0, 1]
.
depth
- Specifies the depth value used when the depth
buffer is cleared. The initial value is 1.void glClearDepthx(int depth)
glClearDepth
.
GL10.glClearDepthf(float)
void glClearStencil(int s)
glClearStencil
specifies the index used by
glClear
to clear the stencil buffer.
s
is masked with 2^m - 1, where m is
the number of bits in the stencil buffer.
glGetIntegerv
with argument
GL_STENCIL_BITS
s
- Specifies the index used when the stencil buffer is cleared. The initial value is 0.void glClientActiveTexture(int texture)
glClientActiveTexture
selects the vertex array
client state parameters to be modified by
glTexCoordPointer
, and enabled or disabled with
glEnableClientState
or
glDisableClientState
, respectively, when called
with a parameter of GL_TEXTURE_COORD_ARRAY
.
It is always the case that GL_TEXTURE
i =
GL_TEXTURE0
+ i.
GL_INVALID_ENUM
is generated if
texture
is not one of GL_TEXTURE
i, where 0 <= i <
GL_MAX_TEXTURE_UNITS
.
glGetIntegerv
with argument
GL_MAX_TEXTURE_UNITS
texture
- Specifies which texture unit to make active. The
number of texture units is implementation dependent,
but must be at least one (for 1.0), or two (for 1.1).
texture
must be one of
GL_TEXTURE
i, 0 <=
i < GL_MAX_TEXTURE_UNITS
, which is
an implementation-dependent value. The initial value
is GL_TEXTURE0
.void glColor4f(float red, float green, float blue, float alpha)
The GL stores a current four-valued RGBA color.
glColor
sets a new four-valued RGBA color.
Current color values are stored in fixed-point or floating-point. In case the values are stored in floating-point, the mantissa and exponent sizes are unspecified.
Neither fixed-point nor floating-point values are clamped to
the range [0, 1]
before the current color is
updated. However, color components are clamped to this range
before they are interpolated or written into the color buffer.
red
- Specifies a new red value for the current color. The
initial value is 1.green
- Specifies a new green value for the current color.
The initial value is 1.blue
- Specifies a new blue value for the current color.
The initial value is 1.alpha
- Specifies a new alpha value for the current color.
The initial value is 1.void glColor4x(int red, int green, int blue, int alpha)
glColor
.
GL10.glColor4f(float, float, float, float)
void glColorMask(boolean red, boolean green, boolean blue, boolean alpha)
glColorMask
specifies whether the individual
components in the color buffer can or cannot be written. If
red
is false
, for example, no change
is made to the red component of any pixel in the color buffer,
regardless of the drawing operation attempted, including
glClear
.
Changes to individual bits of components cannot be controlled. Rather, changes are either enabled or disabled for entire color components.
red
- Specifies whether red can or cannot be written into
the color buffer. The initial value is
true
, indicating that the color
component can be written.green
- Specifies whether green can or cannot be written
into the color buffer. The initial value is
true
, indicating that the color
component can be written.blue
- Specifies whether blue can or cannot be written
into the color buffer. The initial value is
true
, indicating that the color
component can be written.alpha
- Specifies whether alpha can or cannot be written
into the color buffer. The initial value is
true
, indicating that the color
component can be written.void glColorPointer(int size, int type, int stride, Buffer pointer)
glColorPointer
specifies an array of color
components to use when rendering. size
specifies
the number of components per color, and must be 4.
type
specifies the data type of each color
component, and stride
specifies the byte stride
from one color to the next allowing vertices and attributes to
be packed into a single array or stored in separate arrays.
(Single-array storage may be more efficient on some
implementations.)
When a color array is specified, size
,
type
, stride
, and
pointer
are saved as client-side state.
If the color array is enabled, it is used when
glDrawArrays
, or glDrawElements
is
called. To enable and disable the color array, call
glEnableClientState
and
glDisableClientState
with the argument
GL_COLOR_ARRAY
. The color array is initially
disabled and isn't accessed when glDrawArrays
or
glDrawElements
is called.
Use glDrawArrays
to construct a sequence of
primitives (all of the same type) from prespecified vertex and
vertex attribute arrays. Use glDrawElements
to
construct a sequence of primitives by indexing vertices and
vertex attributes.
Setting pointer
to null
releases any
previously set Buffer
.
glColorPointer
is typically implemented on the
client side.
GL_INVALID_VALUE
is generated if size
is not 4.
GL_INVALID_ENUM
is generated if type
is not an accepted value.
GL_INVALID_VALUE
is generated if
stride
is negative.
The pointer
argument must be a direct buffer with
a type matching that specified by the type
argument.
size
- Specifies the number of components per color. Must be 4.
The initial value is 4.type
- Specifies the data type of each color component in
the array. Symbolic constants
GL_UNSIGNED_BYTE
, GL_FIXED
,
and GL_FLOAT
are accepted. The
initial value is GL_FLOAT
.stride
- Specifies the byte offset between consecutive colors.
If stride
is 0, the colors are
understood to be tightly packed in the array. The initial value is 0.pointer
- Specifies a Buffer
containing the colors.
IllegalStateException
- if OpenGL ES 1.1 is being used and VBOs are enabled.
IllegalArgumentException
- if pointer
is null
.
IllegalArgumentException
- if pointer
is not direct.void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, int imageSize, Buffer data)
glCompressedTexImage2D
defines a two-dimensional
texture image in compressed format.
The supported compressed formats are paletted textures. The
layout of the compressed image is a palette followed by
multiple mip-levels of texture indices used for lookup into the
palette. The palette format can be one of R5_G6_B5
,
RGBA4
, RGB5_A1
, RGB8
,
or RGBA8
. The texture indices can have a
resolution of 4 or 8 bits. As a result, the number of palette
entries is either 6 or 256. If level is 0, only one mip-level
of texture indices is described in data. Otherwise, the
negative value of level specifies up to which mip-level the
texture indices are described. A possibly remaining pad nibble
(half byte) for the lowest resolution mip-level is ignored.
glPixelStore
has no effect on compressed texture
images.
glCompressedTexImage2D
specifies the
two-dimensional texture for the currently bound texture,
specified with glBindTexture
, and the current
texture unit, specified with glActiveTexture
.
GL_INVALID_ENUM
is generated if
target
is not GL_TEXTURE_2D
.
GL_INVALID_VALUE
may be generated if
level
is greater than 0 or the absolute value of
level is greater than log_2(max), where max is
the returned value of GL_MAX_TEXTURE_SIZE
.
(1.0) GL_INVALID_VALUE
is generated if
internalformat
is not one of the accepted symbolic
constants.
(1.1) GL_INVALID_ENUM
is generated if
internalformat
is not one of the accepted symbolic
constants.
GL_INVALID_VALUE
is generated if
width
or height
is less than 0 or
greater than 2 + GL_MAX_TEXTURE_SIZE
.
Some implementations require height and width to be
2^k + 2*border
for
some integer k.
GL_INVALID_VALUE
is generated if
border
is not 0.
GL_INVALID_VALUE
is generated if
imageSize
is not consistent with format,
dimentions, and contents of the compressed image.
target
- Specifies the target texture. Must be
GL_TEXTURE_2D
.level
- Specifies the level-of-detail number. Must be less
than or equal to 0. Level 0 indicates a single
mip-level. Negative values indicate how many
mip-levels are described by data.internalformat
- Specifies the color components in the
texture. The following symbolic constants are
accepted: GL_PALETTE4_RGB8_OES
,
GL_PALETTE4_RGBA8_OES
,
GL_PALETTE4_R5_G6_B5_OES
,
GL_PALETTE4_RGBA4_OES
,
GL_PALETTE4_RGB5_A1_OES
,
GL_PALETTE8_RGB8_OES
,
GL_PALETTE8_RGBA8_OES
,
GL_PALETTE8_R5_G6_B5_OES
,
GL_PALETTE8_RGBA4_OES
, and
GL_PALETTE8_RGB5_A1_OES
.width
- Specifies the width of the texture image.
Some implementations require height and width to be
2^n + 2*border
for some integer
n. All implementations support texture images
that are at least 64 texels wide.height
- Specifies the height of the texture image.
Some implementations require height and width to be
2^m + 2*border
for some
integer m. All implementations support
texture images that are at least 64 texels high.border
- Specifies the width of the border. Must be 0.imageSize
- Specifies the size of the compressed image data in bytes.data
- Specifies a Buffer
containing the compressed image data.
IllegalArgumentException
- if data
is null
.
IllegalArgumentException
- if data.remaining()
is less than imageSize
.void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, Buffer data)
glCompressedTexSubImage2D
redefines a contiguous
subregion of an existing two-dimensional compressed texture
image. The texels referenced by pixels
replace the
portion of the existing texture array with x indices
xoffset
and xoffset
+
width
- 1, inclusive, and y indices
yoffset
and yoffset
+
height
- 1, inclusive. This region may not include
any texels outside the range of the texture array as it was
originally specified. It is not an error to specify a
subtexture with zero width or height, but such a specification
has no effect.
Currently, there is no supported compressed format for this function.
glPixelStore
has no effect on compressed texture
images.
glCompressedTexSubImage2D
specifies the
two-dimensional sub texture for the currently bound texture,
specified with glBindTexture
, and the current
texture unit, specified with glActiveTexture
.
GL_INVALID_ENUM
is generated if
target
is not GL_TEXTURE_2D
.
GL_INVALID_OPERATION
is generated if the texture
array has not been defined by a previous
glCompressedTexImage2D
operation.
GL_INVALID_VALUE
is generated if
level
is less than 0.
GL_INVALID_VALUE
may be generated if
level
is greater than log2(max), where
max is the returned value of
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if
xoffset
< -b, xoffset
+ width
> (w - b), yoffset
< -b, or
yoffset
+ height
> (h -
b) , where w is the texture width, h is
the texture height, and b is the border of the texture
image being modified. Note that w and h include
twice the border width.
GL_INVALID_VALUE
is generated if
width
or height
is less than 0.
GL_INVALID_ENUM
is generated if type
is not a type constant.
GL_INVALID_OPERATION
is generated if type
is
GL_UNSIGNED_SHORT_5_6_5
and
format
is not GL_RGB
.
GL_INVALID_OPERATION
is generated if
type
is one of
GL_UNSIGNED_SHORT_4_4_4_4
, or
GL_UNSIGNED_SHORT_5_5_5_1
and format
is not GL_RGBA
.
GL_INVALID_OPERATION
is generated if none of the
above error conditions apply.
glGetIntegerv
with argument
GL_MAX_TEXTURE_SIZE
target
- Specifies the target texture. Must be GL_TEXTURE_2D
.level
- Specifies the level-of-detail number.xoffset
- Specifies a texel offset in the x direction within the texture array.yoffset
- Specifies a texel offset in the y direction within the texture array.width
- Specifies the width of the texture subimage.height
- Specifies the height of the texture subimage.format
- Specifies the format of the pixel data. Currently, there is no supported format.imageSize
- Specifies the size of the compressed pixel data in bytes.data
- Specifies a Buffer
containing the compressed image data.
IllegalArgumentException
- if data
is null
.
IllegalArgumentException
- if data.remaining()
is less than imageSize
.void glCopyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border)
glCopyTexImage2D
defines a two-dimensional texture
image with pixels from the color buffer.
The screen-aligned pixel rectangle with lower left corner at (
x
, y
) and with a width of
width
+ 2*border
and a height of
height
+ 2*border
defines the texture
array at the mipmap level specified by level
.
internalformat
specifies the color components of
the texture.
The red, green, blue, and alpha components of each pixel that is read are converted to an internal fixed-point or floating-point format with unspecified precision. The conversion maps the largest representable component value to 1.0, and component value 0 to 0.0. The values are then converted to the texture's internal format for storage in the texel array.
internalformat
must be chosen such that color
buffer components can be dropped during conversion to the
internal format, but new components cannot be added. For
example, an RGB color buffer can be used to create
LUMINANCE
or RGB
textures, but not
ALPHA
, LUMINANCE_ALPHA
or
RGBA
textures.
Pixel ordering is such that lower x and y screen coordinates correspond to lower s and t texture coordinates.
If any of the pixels within the specified rectangle of the color buffer are outside the window associated with the current rendering context, then the values obtained for those pixels are undefined.
An image with height
or width
of 0
indicates a null-texture.
GL_INVALID_ENUM
is generated if
target
is not GL_TEXTURE_2D
.
If the OES_texture_cube_map
extension is present,
then GL_TEXTURE_CUBE_MAP_POSITIVE_X
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Y
,
GL_TEXTURE_CUBE_MAP_POSITIVE_Z
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_X
,
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
, and
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
are also accepted.
GL_INVALID_OPERATION
is generated if
internalformat
is not compatible with the color
buffer format.
GL_INVALID_VALUE
is generated if
level
is less than 0.
GL_INVALID_VALUE
may be generated if level is
greater than log_2(max), where max is the
returned value of GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if
width
or height
is less than 0,
greater than GL_MAX_TEXTURE_SIZE
.
Some implementations require height and width to be
2^k + 2*border
for some integer
k.
GL_INVALID_VALUE
is generated if
border
is not 0.
(1.0) GL_INVALID_VALUE
is generated if
internalformat
is not an accepted constant.
(1.1) GL_INVALID_ENUM
is generated if
internalformat
is not an accepted constant.
glGetIntegerv
with argument
GL_MAX_TEXTURE_SIZE
target
- Specifies the target texture. Must be GL_TEXTURE_2D
.level
- Specifies the level-of-detail number. Level 0 is
the base image level. Level n is the nth mipmap
reduction image.internalformat
- Specifies the color components of the
texture. Must be one of the following symbolic
constants: GL_ALPHA
,
GL_LUMINANCE
,
GL_LUMINANCE_ALPHA
, GL_RGB
,
or GL_RGBA
.x
- Specifies the window x coordinate of the lower left
corner of the rectangular region of pixels to be copied.y
- Specifies the window y coordinate of the lower left
corner of the rectangular region of pixels to be copied.width
- Specifies the width of the texture image.
Some implementations require height and width to be
0 or 2^n + 2*border
for some integer n.height
- Specifies the height of the texture image.
Some implementations require height and width to be
0 or 2^m + 2*border
for some integer m.border
- Specifies the width of the border. Must be 0.void glCopyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height)
glCopyTexSubImage2D
replaces a rectangular portion
of a two-dimensional texture image with pixels from the color
buffer.
The screen-aligned pixel rectangle with lower left corner at (
x
, y
) and with width width and height
height replaces the portion of the texture array with x indices
xoffset
through xoffset
+
width
- 1, inclusive, and y indices
yoffset
through yoffset
+
height
- 1, inclusive, at the mipmap level
specified by level.
The pixels in the rectangle are processed the same way as with
glCopyTexImage2D
.
glCopyTexSubImage2D
requires that the internal
format of the currently bound texture is such that color buffer
components can be dropped during conversion to the internal
format, but new components cannot be added. For example, an RGB
color buffer can be used to create LUMINANCE or RGB textures,
but not ALPHA, LUMINANCE_ALPHA or RGBA textures.
The destination rectangle in the texture array may not include any texels outside the texture array as it was originally specified. It is not an error to specify a subtexture with zero width or height, but such a specification has no effect.
If any of the pixels within the specified rectangle of the current color buffer are outside the read window associated with the current rendering context, then the values obtained for those pixels are undefined.
No change is made to the internalformat
,
width
, height
, or border
parameters of the specified texture array or to texel values
outside the specified subregion.
GL_INVALID_ENUM
is generated if
target
is not GL_TEXTURE_2D
.
GL_INVALID_OPERATION
is generated if the texture
array has not been defined by a previous
glTexImage2D
or glCopyTexImage2D
operation or if the internal format of the currently bound
texture is not compatible with the color buffer format.
GL_INVALID_VALUE
is generated if
level
is less than 0.
GL_INVALID_VALUE
may be generated if
level
is greater than log_2(max), where
max is the returned value of
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if x < -b, or
y < -b, where b is the border of the texture
being modified.
GL_INVALID_VALUE
is generated if
xoffset
< -b, xoffset
+
width
> (w - b) , yoffset
<
-b, or yoffset
+ height
>
(h - b) , where w is the texture width, h
is the texture height, and b is the border of the
texture image being modified. Note that w and h
include twice the border width.
glGetIntegerv
with argument
GL_MAX_TEXTURE_SIZE
target
- Specifies the target texture. Must be GL_TEXTURE_2D
.level
- Specifies the level-of-detail number. Level 0 is
the base image level. Level n is the nth mipmap reduction image.xoffset
- Specifies a texel offset in the x direction
within the texture array.yoffset
- Specifies a texel offset in the y direction
within the texture array.x
- Specifies the window x coordinate of the lower left
corner of the rectangular region of pixels to be copied.y
- Specifies the window y coordinate of the lower left
corner of the rectangular region of pixels to be copied.width
- Specifies the width of the texture subimage.height
- Specifies the height of the texture subimage.void glCullFace(int mode)
glCullFace
specifies whether front- or back-facing
polygons are culled (as specified by mode
) when
culling is enabled. To enable and disable culling, call
glEnable
and glDisable
with argument
GL_CULL_FACE
. Culling is initially disabled.
glFrontFace
specifies which of the clockwise and
counterclockwise polygons are front-facing and back-facing.
If mode is GL_FRONT_AND_BACK
, no polygons are
drawn, but other primitives such as points and lines are drawn.
GL_INVALID_ENUM
is generated if mode
is not an accepted value.
mode
- Specifies whether front- or back-facing polygons
are culled. Symbolic constants GL_FRONT
,
GL_BACK
, and GL_FRONT_AND_BACK
are accepted. The initial value is GL_BACK
.void glDeleteTextures(int n, int[] textures, int offset)
glDeleteTextures
deletes n
textures
named by the elements of the array textures
. After
a texture is deleted, it has no contents or dimensionality, and
its name is free for reuse (for example by
glGenTextures
). If a texture that is currently
bound is deleted, the binding reverts to 0 (the default texture).
glDeleteTextures
silently ignores 0's and names
that do not correspond to existing textures.
GL_INVALID_VALUE
is generated if n
is
negative.
n
- Specifies the number of textures to be deleted.textures
- Specifies an array of textures to be deleted.offset
- the starting offset within the textures
array.
IllegalArgumentException
- if textures
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if textures.length - offset
is less than n
.void glDeleteTextures(int n, IntBuffer textures)
Buffer
version of glDeleteTextures
.
textures
- an IntBuffer
.
IllegalArgumentException
- if textures
is null
.
IllegalArgumentException
- if textures.remaining()
is less than n
.GL10.glDeleteTextures(int, int[], int)
void glDepthFunc(int func)
glDepthFunc
specifies the function used to compare
each incoming pixel depth value with the depth value present in
the depth buffer. The comparison is performed only if depth
testing is enabled. To enable and disable depth testing, call
glEnable
and glDisable
with argument
GL_DEPTH_TEST
. Depth testing is initially
disabled.
func specifies the conditions under which the pixel will be drawn. The comparison functions are as follows:
GL_NEVER
GL_LESS
GL_EQUAL
GL_LEQUAL
GL_GREATER
GL_NOTEQUAL
GL_GEQUAL
GL_ALWAYS
The initial value of func is GL_LESS
. Initially,
depth testing is disabled. Even if the depth buffer exists and
the depth mask is non-zero, the depth buffer is not updated if
the depth test is disabled.
GL_INVALID_ENUM
is generated if func
is not an accepted value.
func
- Specifies the depth comparison function.
Symbolic constants GL_NEVER
,
GL_LESS
, GL_EQUAL
,
GL_LEQUAL
, GL_GREATER
,
GL_NOTEQUAL
, GL_GEQUAL
,
and GL_ALWAYS
are accepted. The initial
value is GL_LESS
.void glDepthMask(boolean flag)
glDepthMask
specifies whether the depth buffer is
enabled for writing. If flag
is false
,
depth buffer writing is disabled. Otherwise, it is enabled.
Initially, depth buffer writing is enabled.
glDepthMask
does not affect glClear
.
flag
- Specifies whether the depth buffer is enabled for
writing. If flag is GL_FALSE
, depth
buffer writing is disabled, otherwise it is enabled.
The initial value is true
.void glDepthRangef(float zNear, float zFar)
After clipping and division by w, depth coordinates range from
-1 to 1, corresponding to the near and far clipping planes.
glDepthRange
specifies a linear mapping of the
normalized depth coordinates in this range to window depth
coordinates. Regardless of the actual depth buffer
implementation, window coordinate depth values are treated as
though they range from 0 through 1 (like color components).
Thus, the values accepted by glDepthRange
are both
clamped to this range before they are accepted.
The setting of (0, 1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
It is not necessary that near
be less than
far
. Reverse mappings such as near
=
1, and far
= 0 are acceptable.
zNear
- Specifies the mapping of the near clipping plane
to window coordinates. The initial value is 0.zFar
- Specifies the mapping of the far clipping plane to
window coordinates. The initial value is 1.void glDepthRangex(int zNear, int zFar)
glDepthRange
.
GL10.glDepthRangef(float, float)
void glDisable(int cap)
GL10.glEnable(int)
void glDisableClientState(int array)
GL10.glEnableClientState(int)
void glDrawArrays(int mode, int first, int count)
glDrawArrays
specifies multiple geometric
primitives with very few subroutine calls. You can prespecify
separate arrays of vertices, normals, colors, and texture
coordinates and use them to construct a sequence of primitives
with a single call to glDrawArrays
.
When glDrawArrays
is called, it uses
count
sequential elements from each enabled array
to construct a sequence of geometric primitives, beginning with
element first
. mode
specifies what
kind of primitives are constructed, and how the array elements
construct those primitives. If GL_VERTEX_ARRAY
is
not enabled, no geometric primitives are generated.
Vertex attributes that are modified by
glDrawArrays
have an unspecified value after
glDrawArrays
returns. For example, if
GL_COLOR_ARRAY
is enabled, the value of the
current color is undefined after glDrawArrays
executes. Attributes that aren't modified remain well defined.
GL_INVALID_ENUM
is generated if mode
is not an accepted value.
GL_INVALID_VALUE
is generated if
count
is negative.
mode
- Specifies what kind of primitives to render.
Symbolic constants GL_POINTS
,
GL_LINE_STRIP
,
GL_LINE_LOOP
, GL_LINES
,
GL_TRIANGLE_STRIP
,
GL_TRIANGLE_FAN
, and
GL_TRIANGLES
are accepted.first
- Specifies the starting index in the enabled arrays.count
- Specifies the number of indices to be rendered.
ArrayIndexOutOfBoundsException
- if any index
in the sequence first, ..., first + count - 1
will result in a reference to an entry outside of the
current vertex, color, normal, texture coordinate,
point size, matrix index, or weight array.void glDrawElements(int mode, int count, int type, Buffer indices)
glDrawElements
specifies multiple geometric
primitives with very few subroutine calls. You can prespecify
separate arrays of vertices, normals, colors, and texture
coordinates and use them to construct a sequence of primitives
with a single call to glDrawElements
.
When glDrawElements
is called, it uses
count
sequential indices from indices
to lookup elements in enabled arrays to construct a sequence of
geometric primitives. mode
specifies what kind of
primitives are constructed, and how the array elements
construct these primitives. If GL_VERTEX_ARRAY
is
not enabled, no geometric primitives are constructed.
Vertex attributes that are modified by
glDrawElements
have an unspecified value after
glDrawElements
returns. For example, if
GL_COLOR_ARRAY
is enabled, the value of the
current color is undefined after glDrawElements
executes. Attributes that aren't modified maintain their
previous values.
GL_INVALID_ENUM
is generated if mode
is not an accepted value.
GL_INVALID_ENUM
is generated if type
is not an accepted value.
GL_INVALID_VALUE
is generated if
count
is negative.
mode
- Specifies what kind of primitives to render.
Symbolic constants GL_POINTS
,
GL_LINE_STRIP
,
GL_LINE_LOOP
, GL_LINES
,
code>GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN
, and
GL_TRIANGLES
are accepted.count
- Specifies the number of elements to be rendered.type
- Specifies the type of the values in indices. Must
be either GL_UNSIGNED_BYTE
or
GL_UNSIGNED_SHORT
.indices
- Specifies a pointer to the location where the
indices are stored.
IllegalStateException
- if the most recent call
to glBindBuffer
for the
GL_ELEMENT_ARRAY_BUFFER
target had a
non-zero buffer
parameter (i.e., an
index buffer is bound).
IllegalArgumentException
- if
indices
is null
.
ArrayIndexOutOfBoundsException
- if any index
in the sequence of indices from 0
to
count - 1
would result in a reference
to an entry outside of the currently bound index or
data (vertex, color, normal, texture coordinate
array, weight, matrix index, or point size) array.void glEnable(int cap)
glEnable
and glDisable
enable and
disable various capabilities. The initial value for each
capability with the exception of GL_DITHER
and
GL_MULTISAMPLE
is GL_FALSE
. The
initial value for GL_DITHER
and
GL_MULTISAMPLE
is GL_TRUE
.
Both glEnable
and glDisable
take a
single argument, cap
, which can assume one of the
following values:
GL_ALPHA_TEST
If enabled, do alpha testing. See glAlphaFunc
.
GL_BLEND
If enabled, blend the incoming color values with the values in
the color buffers. See glBlendFunc
.
GL_COLOR_LOGIC_OP
If enabled, apply the currently selected logical operation to
the incoming color and color buffer values. See
glLogicOp
.
GL_COLOR_MATERIAL
If enabled, have ambient and diffuse material parameters track the current color.
GL_CULL_FACE
If enabled, cull polygons based on their winding in window
coordinates. See glCullFace
.
GL_DEPTH_TEST
If enabled, do depth comparisons and update the depth buffer.
Note that even if the depth buffer exists and the depth mask is
non-zero, the depth buffer is not updated if the depth test is
disabled. See glDepthFunc
,
glDepthMask
, and glDepthRange
.
GL_DITHER
If enabled, dither color components or indices before they are written to the color buffer.
GL_FOG
If enabled, blend a fog color into the posttexturing color. See
glFog
.
GL_LIGHT
i
If enabled, include light i in the evaluation of the
lighting equation. See glLightModel
and
glLight
.
GL_LIGHTING
If enabled, use the current lighting parameters to compute the
vertex color. Otherwise, simply associate the current color
with each vertex. See glMaterial
,
glLightModel
, and glLight
.
GL_LINE_SMOOTH
If enabled, draw lines with correct filtering. Otherwise, draw
aliased lines. See glLineWidth
.
GL_MULTISAMPLE
If enabled, perform multisampling of fragments for single-pass
antialiasing and other effects. See
glSampleCoverage
.
GL_NORMALIZE
If enabled, normal vectors are scaled to unit length after
transformation. See glNormal
and
glNormalPointer
.
GL_POINT_SMOOTH
If enabled, draw points with proper filtering. Otherwise, draw
aliased points. See glPointSize
.
GL_POLYGON_OFFSET_FILL
If enabled, an offset is added to depth values of a polygon's
fragments before the depth comparison is performed. See
glPolygonOffset
.
GL_RESCALE_NORMAL
If enabled, normal vectors are scaled by a factor derived from
the modelview matrix. See glNormal
and
glNormalPointer
.
GL_SAMPLE_ALPHA_TO_MASK
(1.0 only)
If enabled, convert fragment alpha values to multisample
coverage modification masks. See glSampleCoverage
.
GL_SAMPLE_ALPHA_TO_COVERAGE
(1.1 only)
If enabled, a temporary coverage value is generated where each
bit is determined by the alpha value at the corresponding
sample location. The temporary coverage value is then ANDed
with the fragment coverage value. Otherwise the fragment
coverage value is unchanged at this point. See
glSampleCoverage
.
GL_SAMPLE_ALPHA_TO_ONE
If enabled, set fragment alpha to the maximum permissible value
after computing multisample coverage modification masks. See
glSampleCoverage
.
GL_SAMPLE_MASK
(1.0 only)
If enabled, apply a mask to modify fragment coverage during
multisampling. See glSampleCoverage
.
GL_SAMPLE_COVERAGE
(1.1 only)
If enabled, the fragment coverage is ANDed with another
temporary coverage. This temporary coverage is generated in the
same manner as for GL_SAMPLE_ALPHA_TO_COVERAGE
described above, but as a function of the value of
GL_SAMPLE_COVERAGE_VALUE
. If
GL_SAMPLE_COVERAGE_INVERT
is GL_TRUE
,
the temporary coverage is inverted (all bit values are
inverted) before it is ANDed with the fragment coverage. See
glSampleCoverage
.
GL_SCISSOR_TEST
If enabled, discard fragments that are outside the scissor
rectangle. See glScissor
.
GL_STENCIL_TEST
If enabled, do stencil testing and update the stencil buffer.
See glStencilFunc
, glStencilMask
, and
glStencilOp
.
GL_TEXTURE_2D
If enabled, two-dimensional texturing is performed for the
active texture unit. See glActiveTexture
,
glTexImage2D
, glCompressedTexImage2D
,
and glCopyTexImage2D
.
GL_CLIP_PLANE
i (1.1 only)
If enabled, clipping plane i is enabled. See
glClipPlane
.
GL_POINT_SPRITE_OES
(1.1 +
OES_point_sprite
extension)
If enabled, point sprites are enabled. See
glPointSize
and glTexEnv
.
GL_INVALID_ENUM
is generated if cap is not one of
the values listed previously.
cap
- Specifies a symbolic constant indicating a GL capability.void glEnableClientState(int array)
glEnableClientState
and
glDisableClientState
enable or disable individual
client-side capabilities. By default, all client-side
capabilities are disabled. Both
glEnableClientState
and
glDisableClientState
take a single argument,
array
, which can assume one of the following
values:
GL_COLOR_ARRAY
If enabled, the color array is enabled for writing and used
during rendering when glDrawArrays
, or
glDrawElements
is called. See
glColorPointer
.
GL_NORMAL_ARRAY
If enabled, the normal array is enabled for writing and used
during rendering when glDrawArrays
, or
glDrawElements
is called. See
glNormalPointer
.
GL_TEXTURE_COORD_ARRAY
If enabled, the texture coordinate array is enabled for writing
and used during rendering when glDrawArrays
, or
glDrawElements
is called. See
glTexCoordPointer
.
GL_VERTEX_ARRAY
If enabled, the vertex array is enabled for writing and used
during rendering when glDrawArrays
, or
glDrawElements
is called. See
glVertexPointer
.
GL_POINT_SIZE_ARRAY_OES
(
OES_point_size_array
extension)
If enabled, the point size array controls the sizes used to
render points and point sprites. In this case the point size
defined by glPointSize
is ignored. The point sizes
supplied in the point size arrays will be the sizes used to
render both points and point sprites. See
glPointSize
.
Enabling and disabling GL_TEXTURE_COORD_ARRAY
affects the active client texture unit. The active client
texture unit is controlled with
glClientActiveTexture
.
GL_INVALID_ENUM
is generated if array
is not an accepted value.
array
- Specifies the capability to enable or disable.
Symbolic constants GL_COLOR_ARRAY
,
GL_NORMAL_ARRAY
,
GL_TEXTURE_COORD_ARRAY
,
GL_VERTEX_ARRAY
, and
GL_POINT_SIZE_ARRAY_OES
(OES_point_size_array
extension) are
accepted. If the OES_matrix_palette
extension is
present, symbolic constants
GL_MATRIX_INDEX_ARRAY_OES
,
GL_WEIGHT_ARRAY_OES
are additionally accepted.void glFinish()
glFinish
does not return until the effects of all
previously called GL commands are complete. Such effects
include all changes to GL state, all changes to connection
state, and all changes to the frame buffer contents.
glFinish
requires a round trip to the server.
void glFlush()
Different GL implementations buffer commands in several
different locations, including network buffers and the graphics
accelerator itself. glFlush
empties all of these
buffers, causing all issued commands to be executed as quickly
as they are accepted by the actual rendering engine. Though
this execution may not be completed in any particular time
period, it does complete in finite time.
Because any GL program might be executed over a network, or on
an accelerator that buffers commands, all programs should call
glFlush
whenever they count on having all of their
previously issued commands completed. For example, call
glFlush
before waiting for user input that depends
on the generated image.
glFlush
can return at any time. It does not wait
until the execution of all previously issued GL commands is
complete.
void glFogf(int pname, float param)
If fog is enabled, fog affects rasterized geometry, bitmaps,
and pixel blocks, but not buffer clear operations. To enable
and disable fog, call glEnable
and
glDisable
with argument GL_FOG
. Fog
is initially disabled.
glFog
assigns the value in param
to
the fog parameter specified by pname
. The
following values are accepted for pname
:
GL_FOG_MODE
param
is a single value that specifies the
equation to be used to compute the fog blend factor f. Three
symbolic constants are accepted: GL_LINEAR
,
GL_EXP
, and GL_EXP2
. The equations
corresponding to these symbolic constants are defined below.
The initial fog mode is GL_EXP
.
GL_FOG_DENSITY
param
is a single value that specifies density,
the fog density used in both exponential fog equations. Only
nonnegative densities are accepted. The initial fog density is 1.
GL_FOG_START
param
is a single value that specifies start, the
near distance used in the linear fog equation. The initial near
distance is 0.
GL_FOG_END
param
is a single value that specifies end, the
far distance used in the linear fog equation. The initial far
distance is 1.
GL_INVALID_ENUM
is generated if pname
is not an accepted value, or if pname
is
GL_FOG_MODE
and param
is not an
accepted value.
GL_INVALID_VALUE
is generated if
pname
is GL_FOG_DENSITY
, and
param
is negative.
pname
- Specifies a single-valued fog parameter.
GL_FOG_MODE
,
GL_FOG_DENSITY
,
GL_FOG_START
, and
GL_FOG_END
are accepted.param
- Specifies the value that pname
will be set to.void glFogfv(int pname, float[] params, int offset)
If fog is enabled, fog affects rasterized geometry, bitmaps,
and pixel blocks, but not buffer clear operations. To enable
and disable fog, call glEnable
and
glDisable
with argument GL_FOG
. Fog
is initially disabled.
glFog
assigns the value or values in
params
to the fog parameter specified by
pname
. The following values are accepted for
pname
:
GL_FOG_MODE
params
contains a single value that specifies the
equation to be used to compute the fog blend factor f. Three
symbolic constants are accepted: GL_LINEAR
,
GL_EXP
, and GL_EXP2
. The equations
corresponding to these symbolic constants are defined below.
The initial fog mode is GL_EXP
.
GL_FOG_DENSITY
params
contains a single value that specifies
density, the fog density used in both exponential fog
equations. Only nonnegative densities are accepted. The initial
fog density is 1.
GL_FOG_START
params
contains a single value that specifies
start, the near distance used in the linear fog equation. The
initial near distance is 0.
GL_FOG_END
params
contains a single value that specifies end,
the far distance used in the linear fog equation. The initial
far distance is 1.
GL_FOG_COLOR
params
contains four values that specify
Cf, the fog color. Both fixed-point and floating-point
values are mapped directly. After conversion, all color
components are clamped to the range [0, 1]
. The
initial fog color is (0, 0, 0, 0)
.
Fog blends a fog color with each rasterized pixel fragment's
posttexturing color using a blending factor f. Factor f is
computed in one of three ways, depending on the fog mode. Let z
be the distance in eye coordinates from the origin to the
fragment being fogged. The equation for GL_LINEAR
fog is
f = (end - z) / (end - start)
The equation for GL_EXP
fog is
f = e - (density - z)
The equation for GL_EXP2
fog is
f = e -(density - z)2
Regardless of the fog mode, f is clamped to the range
[0, 1]
after it is computed. Then, the fragment's
red, green, and blue colors, represented by Cr, are
replaced by:
C'r = f Cr + (1 - f) Cf
Fog does not affect a fragment's alpha component.
GL_INVALID_ENUM
is generated if pname
is not an accepted value, or if pname
is
GL_FOG_MODE
and params
is not an
accepted value.
GL_INVALID_VALUE
is generated if
pname
is GL_FOG_DENSITY
, and the
first value in params
is negative.
pname
- Specifies a fog parameter.
GL_FOG_MODE
,
GL_FOG_DENSITY
,
GL_FOG_START
, GL_FOG_END
,
and GL_FOG_COLOR
are accepted.params
- Specifies the value or values to be assigned to
pname
. GL_FOG_COLOR
requires an array of four values. All other
parameters accept an array containing only a single value.offset
- the starting offset within the params
array.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.void glFogfv(int pname, FloatBuffer params)
Buffer
version of glFog
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glFogfv(int, float[], int)
void glFogx(int pname, int param)
glFog
.
GL10.glFogf(int, float)
void glFogxv(int pname, int[] params, int offset)
glFog
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.GL10.glFogfv(int, float[], int)
void glFogxv(int pname, IntBuffer params)
Buffer
version of glFog
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glFogfv(int, float[], int)
void glFrontFace(int mode)
In a scene composed entirely of opaque closed surfaces,
back-facing polygons are never visible. Eliminating (culling)
these invisible polygons has the obvious benefit of speeding up
the rendering of the image. To enable and disable culling, call
glEnable
and glDisable
with argument
GL_CULL_FACE
. Culling is initially disabled.
The projection of a polygon to window coordinates is said to
have clockwise winding if an imaginary object following the
path from its first vertex, its second vertex, and so on, to
its last vertex, and finally back to its first vertex, moves in
a clockwise direction about the interior of the polygon. The
polygon's winding is said to be counterclockwise if the
imaginary object following the same path moves in a
counterclockwise direction about the interior of the polygon.
glFrontFace specifies whether polygons with clockwise winding
in window coordinates, or counterclockwise winding in window
coordinates, are taken to be front-facing. Passing
GL_CCW
to mode
selects
counterclockwise polygons as front-facing. GL_CW
selects clockwise polygons as front-facing. By default,
counterclockwise polygons are taken to be front-facing.
GL_INVALID_ENUM
is generated if mode
is not an accepted value.
mode
- Specifies the orientation of front-facing polygons.
GL_CW
and GL_CCW
are
accepted. The initial value is GL_CCW
.void glFrustumf(float left, float right, float bottom, float top, float near, float far)
glFrustum
describes a perspective matrix that
produces a perspective projection. The current matrix (see
glMatrixMode
) is multiplied by this matrix and the
result replaces the current matrix, as if
glMultMatrix
were called with the following matrix
as its argument:
( 2/(right - left) 0 A 0 ) ( 0 2/(top - bottom) B 0 ) ( 0 0 C D ) ( 0 0 -1 0 )
where
A = - (right + left)/(right - left) B = - (top + bottom)/(top - bottom) C = - (far + near)/(far - near) D = - 2farnear/(far - near)
Typically, the matrix mode is GL_PROJECTION
, and
(left
, bottom
, -near
) and
(right
, top
, -near
)
specify the points on the near clipping plane that are mapped
to the lower left and upper right corners of the window,
assuming that the eye is located at (0, 0, 0). -
far
specifies the location of the far clipping
plane. Both near
and far
must be
positive.
Use glPushMatrix
and glPopMatrix
to
save and restore the current matrix stack.
Depth buffer precision is affected by the values specified for
near and far. The greater the ratio of far
to
near
is, the less effective the depth buffer will
be at distinguishing between surfaces that are near each other.
If
r = far / nearroughly log_2(r) bits of depth buffer precision are lost. Because r approaches infinity as
near
approaches 0, near
must never be set to 0.
GL_INVALID_VALUE
is generated if near
or far
is not positive, or if left
=
right
, or bottom
= top
.
left
- Specifies the coordinate for the left vertical clipping plane.right
- Specifies the coordinate for the right vertical clipping plane.bottom
- Specifies the coordinate for the bottom horizontal clipping plane.top
- Specifies the coordinate for the top horizontal clipping plane.near
- Specifies the distances to the near depth clipping plane.
The distance must be positive.far
- Specifies the distances to the far depth clipping plane.
The distance must be positive.void glFrustumx(int left, int right, int bottom, int top, int near, int far)
glFrustum
.
GL10.glFrustumf(float, float, float, float, float, float)
void glGenTextures(int n, int[] textures, int offset)
glGenTextures
returns n
texture names
in textures
. There is no guarantee that the names
form a contiguous set of integers. However, it is guaranteed
that none of the returned names was in use immediately before
the call to glGenTextures
.
The generated textures have no dimensionality; they assume the dimensionality of the texture target to which they are first bound (see glBindTexture).
Texture names returned by a call to glGenTextures
are not returned by subsequent calls, unless they are first
deleted with glDeleteTextures
.
GL_INVALID_VALUE
is generated if n
is
negative.
n
- Specifies the number of texture names to be generated.textures
- Specifies an array in which the generated texture names are stored.offset
- the starting offset within the textures
array.
IllegalArgumentException
- if textures
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if textures.length -
offset
is less than n
.void glGenTextures(int n, IntBuffer textures)
Buffer
version of
glGenTextures
.
IllegalArgumentException
- if textures
is null
.
IllegalArgumentException
- if textures.remaining()
is less than n
.GL10.glGenTextures(int, int[], int)
int glGetError()
glGetError
returns the value of the error flag.
Each detectable error is assigned a numeric code and symbolic
name. When an error occurs, the error flag is set to the
appropriate error code value. No other errors are recorded
until glGetError
is called, the error code is
returned, and the flag is reset to GL_NO_ERROR
.
If a call to glGetError
returns
GL_NO_ERROR
, there has been no detectable error
since the last call to glGetError
, or since the GL
was initialized.
To allow for distributed implementations, there may be several
error flags. If any single error flag has recorded an error,
the value of that flag is returned and that flag is reset to
code>GL_NO_ERROR when glGetError
is called.
If more than one flag has recorded an error,
code>glGetError returns and clears an arbitrary error
flag value. Thus, glGetError
should always be
called in a loop, until it returns GL_NO_ERROR
,
if all error flags are to be reset.
Initially, all error flags are set to GL_NO_ERROR
.
The following errors are currently defined:
GL_NO_ERROR
No error has been recorded. The value of this symbolic constant is guaranteed to be 0.
GL_INVALID_ENUM
An unacceptable value is specified for an enumerated argument. The offending command is ignored, and has no other side effect than to set the error flag.
GL_INVALID_VALUE
A numeric argument is out of range. The offending command is ignored, and has no other side effect than to set the error flag.
GL_INVALID_OPERATION
The specified operation is not allowed in the current state. The offending command is ignored, and has no other side effect than to set the error flag.
GL_STACK_OVERFLOW
This command would cause a stack overflow. The offending command is ignored, and has no other side effect than to set the error flag.
GL_STACK_UNDERFLOW
This command would cause a stack underflow. The offending command is ignored, and has no other side effect than to set the error flag.
GL_OUT_OF_MEMORY
There is not enough memory left to execute the command. The state of the GL is undefined, except for the state of the error flags, after this error is recorded.
When an error flag is set, results of a GL operation are
undefined only if GL_OUT_OF_MEMORY
has occurred.
In all other cases, the command generating the error is ignored
and has no effect on the GL state or frame buffer contents. If
the generating command returns a value, it returns 0. If
glGetError
itself generates an error, it returns 0.
void glGetIntegerv(int pname, int[] params, int offset)
glGet
returns values for static state variables in
GL. pname
is a symbolic constant indicating the
static state variable to be returned, and params
is an array of integers in which to place the returned data.
A boolean value is interpreted as either 1 or 0, and a
floating-point value is rounded to the nearest integer, unless
the value is an RGBA color component, a DepthRange
value, a depth buffer clear value, or a normal coordinate. In
these cases, the glGet
command does a linear
mapping that maps 1.0 to the most positive representable
integer value, and -1.0 to the most negative representable
integer value.
In OpenGL ES 1.0, on glGetIntegerv
is provided.
OpenGL ES 1.1 additionally provides glGetBooleanv
,
glGetFixedv
, and glGetFloatv
.
The following symbolic constants are accepted by
pname
:
GL_ACTIVE_TEXTURE
(1.1 only)
params
returns a single value indicating the
active multitexture unit. The initial value is GL_TEXTURE0.
See glActiveTexture
.
GL_ALIASED_POINT_SIZE_RANGE
params
returns two values, the smallest and
largest supported sizes for aliased points. The range must
include 1. See glPointSize
.
GL_ALIASED_LINE_WIDTH_RANGE
params
returns two values, the smallest and
largest supported widths for aliased lines. The range must
include 1. See glLineWidth
.
GL_ALPHA_BITS
params
returns one value, the number of alpha
bitplanes in the color buffer.
GL_ALPHA_TEST_FUNC
(1.1 only)
params
returns one value, the symbolic name of the
alpha test function. See glAlphaFunc
.
GL_ALPHA_TEST_REF
(1.1 only)
params
returns one value, the reference value for
the alpha test. An integer value, if requested, is linearly
mapped from the internal floating-point representation such
that 1.0 returns the most positive representable integer value,
and -1.0 returns the most negative representable integer value.
See glAlphaFunc
.
GL_BLEND_DST
(1.1 only)
params
returns one value, the symbolic constant
identifying the destination blend function set by
glBlendFunc
, or the destination RGB blend function
set by glBlendFuncSeparate
. See
glBlendFunc
and glBlendFuncSeparate
.
GL_BLUE_BITS
params
returns one value, the number of blue
bitplanes in the color buffer.
GL_COLOR_ARRAY_BUFFER_BINDING
(1.1 only)
params
returns one value, the color array buffer
binding. See glColorPointer
.
GL_COLOR_ARRAY_SIZE
(1.1 only)
params
returns one value, the number of components
per color in the color array. See glColorPointer
.
GL_COLOR_ARRAY_STRIDE
(1.1 only)
params
returns one value, the byte offset between
consecutive colors in the color array. See
glColorPointer
.
GL_COLOR_ARRAY_TYPE
(1.1 only)
params
returns one value, returns the data type of
each component in the color array. See
glColorPointer
.
GL_COLOR_CLEAR_VALUE
(1.1 only)
params
returns four values: the red, green, blue,
and alpha values used to clear the color buffers. See
glClearColor
GL_COLOR_WRITEMASK
(1.1 only)
params
returns four boolean values: the red,
green, blue, and alpha write enables for the color buffers. See
glColorMask
.
GL_COMPRESSED_TEXTURE_FORMATS
params
returns
GL_NUM_COMPRESSED_TEXTURE_FORMATS
values, the
supported compressed texture formats. See
glCompressedTexImage2D and
glCompressedTexSubImage2D
.
GL_CULL_FACE
(1.1 only)
params
returns one value, a symbolic constant
indicating which polygon faces are to be culled. See
glCullFace
.
GL_DEPTH_BITS
params
returns one value, the number of bitplanes
in the depth buffer.
GL_DEPTH_CLEAR_VALUE
(1.1 only)
params
returns one value, the value that is used
to clear the depth buffer. See glClearDepth
.
GL_DEPTH_FUNC
(1.1 only)
params
returns one value, the symbolic name of the
depth comparision function. See glDepthFunc
.
GL_DEPTH_RANGE
(1.1 only)
params
returns two values: the near and far
mapping limits for the depth buffer. See
glDepthRange
.
GL_DEPTH_WRITEMASK
(1.1 only)
params
returns a single boolean value indicating
if the depth buffer is enabled for writing. See
glDepthMask
.
GL_FOG_COLOR
(1.1 only)
params
returns four values: the red, green, blue,
and alpha components of the fog color. See glFog
.
GL_FOG_DENSITY
(1.1 only)
params
returns one value, the fog density
parameter. See glFog
.
GL_FOG_END
(1.1 only)
params
returns one value, the end factor for the
linear fog equation. See glFog
.
GL_FOG_HINT
(1.1 only)
params
returns one value, a symbolic constant
indicating the mode of the fog hint. See glHint
.
GL_FOG_MODE
(1.1 only)
params
returns one value, a symbolic constant
indicating which fog equation is selected. See
glFog
.
GL_FOG_START
(1.1 only)
params
returns one value, the start factor for the
linear fog equation. See glFog
.
GL_FRONT_FACE
(1.1 only)
params
returns one value, a symbolic constant
indicating whether clockwise or counterclockwise polygon
winding is treated as front-facing. See
glFrontFace
.
GL_GREEN_BITS
params
returns one value, the number of green
bitplanes in the color buffer.
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
(
OES_read_format
extension)
params
returns one value, the preferred format for
pixel read back. See glReadPixels
.
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
( (
OES_read_format
extension)
params
returns one value, the preferred type for
pixel read back. See glReadPixels
.
GL_LIGHT_MODEL_AMBIENT
(1.1 only)
params
returns four values: the red, green, blue,
and alpha components of the ambient intensity of the entire
scene. See glLightModel
.
GL_LIGHT_MODEL_TWO_SIDE
(1.1 only)
params
returns a single boolean value indicating
whether separate materials are used to compute lighting for
front and back facing polygons. See glLightModel
.
GL_LINE_SMOOTH_HINT
(1.1 only)
params
returns one value, a symbolic constant
indicating the mode of the line antialiasing hint. See
glHint
.
GL_LINE_WIDTH
(1.1 only)
params
returns one value, the line width as
specified with glLineWidth
.
GL_LOGIC_OP_MODE
(1.1 only)
params
returns one value, a symbolic constant
indicating the selected logic operation mode. See
glLogicOp
.
GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES
(
OES_matrix_palette
extension)
params
returns one value, the matrix index array
buffer binding. See glMatrixIndexPointer
.
GL_MATRIX_INDEX_ARRAY_SIZE_OES
(
OES_matrix_palette
extension)
params
returns one value, the number of matrix
indices per vertex. See glMatrixIndexPointer
.
GL_MATRIX_INDEX_ARRAY_STRIDE_OES
(
OES_matrix_palette
extension)
params
returns one value, the byte offset between
matrix indices. See glMatrixIndexPointer
.
GL_MATRIX_INDEX_ARRAY_TYPE_OES
(
OES_matrix_palette
extension)
params
returns one value, the data type of each
matrix index in the matrix indices array. See
glMatrixIndexPointer
.
GL_MATRIX_MODE
(1.1 only)
params
returns one value, a symbolic constant
indicating which matrix stack is currently the target of all
matrix operations. See glMatrixMode
.
GL_MAX_CLIP_PLANES
(1.1 only)
params
returns one value, the maximum number of
application defined clipping planes. The value must be at least 6.
See glClipPlane
.
GL_MAX_ELEMENTS_INDICES
params
returns one value, the recommended maximum
number of vertex array indices. See glDrawElements
.
GL_MAX_ELEMENTS_VERTICES
params
returns one value, the recommended maximum
number of vertex array vertices. See glDrawArrays
and glDrawElements
.
GL_MAX_LIGHTS
params
returns one value, the maximum number of
lights. The value must be at least 8. See glLight
.
GL_MAX_MODELVIEW_STACK_DEPTH
params
returns one value, the maximum supported
depth of the modelview matrix stack. The value must be at least 16.
See glPushMatrix
.
GL_MAX_PALETTE_MATRICES_OES
(
OES_matrix_palette
extension)
params
returns the size of the matrix palette. The
initial value is 9.
GL_MAX_PROJECTION_STACK_DEPTH
params
returns one value, the maximum supported
depth of the projection matrix stack. The value must be at least 2.
See glPushMatrix
.
GL_MAX_TEXTURE_SIZE
params
returns one value. The value gives a rough
estimate of the largest texture that the GL can handle. The
value must be at least 64. See glTexImage2D
,
glCompressedTexImage2D
, and
glCopyTexImage2D
.
GL_MAX_TEXTURE_STACK_DEPTH
params
returns one value, the maximum supported
depth of the texture matrix stack. The value must be at least 2.
See glPushMatrix
.
GL_MAX_TEXTURE_UNITS
params
returns a single value indicating the
number of texture units supported. The value must be at least 1.
See glActiveTexture
,
glClientActiveTexture
and
glMultiTexCoord
.
GL_MAX_VERTEX_UNITS_OES
params
returns the number of matrices per vertex.
The initial value is 3.
GL_MAX_VIEWPORT_DIMS
params
returns two values: the maximum supported
width and height of the viewport. These must be at least as
large as the visible dimensions of the display being rendered
to. See glViewport
.
GL_MODELVIEW_MATRIX
(1.1 only)
params
returns sixteen values: the modelview
matrix on the top of the modelview matrix stack. See
glPushMatrix
.
GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES
(
OES_matrix_get
extension)
params
returns a representation of the floating
point Model View matrix elements as as an array of integers,
according to the IEEE 754 floating point "single format" bit
layout. See glMatrixMode
.
GL_MODELVIEW_STACK_DEPTH
(1.1 only)
params
returns one value, the number of matrices
on the modelview matrix stack. See glPushMatrix
.
GL_NORMAL_ARRAY_BUFFER_BINDING
(1.1 only)
params
returns one value, the normal array buffer
binding. See glNormalPointer
.
GL_NORMAL_ARRAY_STRIDE
(1.1 only)
params
returns one value, the byte offset between
consective normals in the normal array. See
glNormalPointer
.
GL_NORMAL_ARRAY_TYPE
(1.1 only)
params
returns one value, the data type of each
normal in the normal array. See glNormalPointer
.
GL_NUM_COMPRESSED_TEXTURE_FORMATS
params
returns one value, the number of supported
compressed texture formats. The value must be at least 10. See
glCompressedTexImage2D
and
glCompressedTexSubImage2D
.
GL_PACK_ALIGNMENT
(1.1 only)
params
returns one value, the byte alignment used
for writing pixel data to memory. See glPixelStore
.
GL_PERSPECTIVE_CORRECTION_HINT
(1.1 only)
params
returns one value, a symbolic constant
indicating the mode of the perspective correction hint. See
glHint
.
GL_POINT_SIZE
(1.1 only)
params
returns one value, the point size as
specified by glPointSize
.
GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES
(
OES_point_size_array
extension)
params
returns one value, the point size array
buffer binding. See glPointSizePointer
.
GL_POINT_SIZE_ARRAY_STRIDE_OES
(
OES_point_size_array
extension)
params
returns one value, the byte offset between
consecutive point sizes in the point size array. See
glPointSizePointer
.
GL_POINT_SIZE_ARRAY_TYPE_OES
(
OES_point_size_array
extension)
params
returns one value, the data type of each
point size in the point array. See
glPointSizePointer
.
GL_POINT_SMOOTH_HINT
(1.1 only)
params
returns one value, a symbolic constant
indicating the mode of the point antialiasing hint. See
glHint
.
GL_POLYGON_OFFSET_FACTOR
(1.1 only)
params
returns one value, the scaling factor used
to determine the variable offset that is added to the depth
value of each fragment generated when a polygon is rasterized.
See glPolygonOffset
.
GL_POLYGON_OFFSET_UNITS
(1.1 only)
params
returns one value. This value is multiplied
by an implementation-specific value and then added to the depth
value of each fragment generated when a polygon is rasterized.
See glPolygonOffset
.
GL_PROJECTION_MATRIX
(1.1 only)
params
returns sixteen values: the projection
matrix on the top of the projection matrix stack. See
glPushMatrix
.
GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES
(
OES_matrix_get
extension)
params
returns a representation of the floating
point Projection matrix elements as as an array of integers,
according to the IEEE 754 floating point "single format" bit
layout. See glMatrixMode
.
GL_PROJECTION_STACK_DEPTH
(1.1 only)
params
returns one value, the number of matrices
on the projection matrix stack. See glPushMatrix
.
GL_RED_BITS
params
returns one value, the number of red
bitplanes in each color buffer.
GL_SCISSOR_BOX
(1.1 only)
params
returns four values: the x and y window
coordinates of the scissor box, followed by its width and
height. See glScissor
.
GL_SHADE_MODEL
(1.1 only)
params
returns one value, a symbolic constant
indicating whether the shading mode is flat or smooth. See
glShadeModel
.
GL_SMOOTH_LINE_WIDTH_RANGE
params
returns two values, the smallest and
largest supported widths for antialiased lines. The range must
include 1. See glLineWidth
.
GL_SMOOTH_POINT_SIZE_RANGE
params
returns two values, the smallest and
largest supported widths for antialiased points. The range must
include 1. See glPointSize
.
GL_STENCIL_BITS
params
returns one value, the number of bitplanes
in the stencil buffer.
GL_STENCIL_CLEAR_VALUE
(1.1 only)
params
returns one value, the index to which the
stencil bitplanes are cleared. See glClearStencil
.
GL_STENCIL_FAIL
(1.1 only)
params
returns one value, a symbolic constant
indicating what action is taken when the stencil test fails.
See glStencilOp
.
GL_STENCIL_FUNC
(1.1 only)
params
returns one value, a symbolic constant
indicating what function is used to compare the stencil
reference value with the stencil buffer value. See
glStencilFunc
.
GL_STENCIL_PASS_DEPTH_FAIL
(1.1 only)
params
returns one value, a symbolic constant
indicating what action is taken when the stencil test passes,
but the depth test fails. See glStencilOp
.
GL_STENCIL_PASS_DEPTH_PASS
(1.1 only)
params
returns one value, a symbolic constant
indicating what action is taken when the stencil test passes,
and the depth test passes. See glStencilOp
.
GL_STENCIL_REF
(1.1 only)
params
returns one value, the reference value that
is compared with the contents of the stencil buffer. See
glStencilFunc
.
GL_STENCIL_VALUE_MASK
(1.1 only)
params
returns one value, the mask that is used to
mask both the stencil reference value and the stencil buffer
value before they are compared. See glStencilFunc
.
GL_STENCIL_WRITEMASK
(1.1 only)
params
returns one value, the mask that controls
writing of the stencil bitplanes. See
glStencilMask
.
GL_SUBPIXEL_BITS
params
returns one value, an estimate of the
number of bits of subpixel resolution that are used to position
rasterized geometry in window coordinates. The value must be at
least 4.
GL_TEXTURE_BINDING_2D
(1.1 only)
params
returns one value, the name of the texture
currently bound to the target GL_TEXTURE_2D
. See
glBindTexture
.
GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING
(1.1
only)
params
returns one value, the texture coordinate
array buffer binding. See glTexCoordPointer
.
GL_TEXTURE_COORD_ARRAY_SIZE
(1.1 only)
params
returns one value, the number of
coordinates per element in the texture coordinate array. See
glTexCoordPointer
.
GL_TEXTURE_COORD_ARRAY_STRIDE
(1.1 only)
params
returns one value, the byte offset between
consecutive elements in the texture coordinate array. See
glTexCoordPointer
.
GL_TEXTURE_COORD_ARRAY_TYPE
(1.1 only)
params
returns one value, returns the data type of
each coordinate in the texture coordinate array. See
glTexCoordPointer
.
GL_TEXTURE_MATRIX
(1.1 only)
params
returns sixteen values: the texture matrix
on the top of the texture matrix stack. See
glPushMatrix
.
GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES
(
OES_matrix_get
extension)
params
returns a representation of the floating
point Texture matrix elements as as an array of integers,
according to the IEEE 754 floating point "single format" bit
layout. See glMatrixMode
.
GL_TEXTURE_STACK_DEPTH
(1.1 only)
params
returns one value, the number of matrices
on the texture matrix stack. See glBindTexture
.
GL_UNPACK_ALIGNMENT
(1.1 only)
params
returns one value, the byte alignment used
for reading pixel data from memory. See
glPixelStore
.
GL_VIEWPORT
(1.1 only)
params
returns four values:, the x and y window
coordinates of the viewport, followed by its width and height.
See glViewport
.
GL_VERTEX_ARRAY_BUFFER_BINDING
(1.1 only)
params
returns one value, the vertex array buffer
binding. See glVertexPointer
.
GL_VERTEX_ARRAY_SIZE
(1.1 only)
params
returns one value, number of coordinates
per vertex in the vertex array. See
glVertexPointer
.
GL_VERTEX_ARRAY_STRIDE
(1.1 only)
params
returns one value, the byte offset between
consecutive vertexes in the vertex array. See
glVertexPointer
.
GL_VERTEX_ARRAY_TYPE
(1.1 only)
params
returns one value, returns the data type of
each coordinate in the vertex array. See
glVertexPointer
.
GL_WEIGHT_ARRAY_BUFFER_BINDING_OES
(
OES_matrix_palette
extension)
params
returns one value, the weight array buffer
binding. See glWeightPointer
.
GL_WEIGHT_ARRAY_SIZE_OES
(
OES_matrix_palette
extension)
params
returns one value, the number of weights
per vertex. See glWeightPointer
.
GL_WEIGHT_ARRAY_STRIDE_OES
(
OES_matrix_palette
extension)
params
returns one value, the byte offset between
weights per vertex. See glWeightPointer
.
GL_WEIGHT_ARRAY_TYPE_OES
(
OES_matrix_palette
extension)
params
returns one value, the data type of each
weight in the weight array. See glWeightPointer
.
GL_INVALID_ENUM
is generated if pname
is not an accepted value.
pname
- Specifies the parameter value to be returned. The
symbolic constants in the list above are accepted.params
- Returns the value or values of the specified parameter.offset
- the starting offset within the params
array.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values
required by the parameter.void glGetIntegerv(int pname, IntBuffer params)
Buffer
version of glGetIntegerv
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glGetIntegerv(int, int[], int)
String glGetString(int name)
String
object.
glGetString
returns a String
describing some aspect of the current GL implementation.
name
can be one of the following:
GL_VENDOR
Returns the company responsible for this GL implementation. This name does not change from release to release.
GL_RENDERER
Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.
GL_VERSION
Returns the particular OpenGL ES profile as well as the version of that profile.
GL_EXTENSIONS
Returns a space-separated list of supported extensions to GL.
Because the GL does not include queries for the performance
characteristics of an implementation, some applications are
written to recognize known platforms and modify their GL usage
based on known performance characteristics of these platforms.
Strings GL_VENDOR
and GL_RENDERER
together uniquely specify a platform. They do not change from
release to release and should be used by platform-recognition
algorithms.
Some applications want to make use of features that are not
part of the standard GL. These features may be implemented as
extensions to the standard GL. The GL_EXTENSIONS
string is a space-separated list of supported GL extensions.
(Extension names never contain a space character.)
The GL_VERSION
string begins with a version
number. The version number uses one of these forms:
major_number.minor_number (1.0 only)
major_number.minor_number.release_number (1.0 only)
OpenGL ES-CM followed by major_number.minor_number for the common profile (1.1 only).
OpenGL ES-CL followed by major_number.minor_number for the common-lite profile (1.1 only).
On 1.0 implementations, vendor-specific information may follow the version number. A space always separates the version number and the vendor-specific information.
If an error is generated, glGetString
returns NULL.
The client and server may support different versions or
extensions. glGetString
always returns a
compatible version number or list of extensions. The release
number always describes the server.
GL_INVALID_ENUM
is generated if name
is not an accepted value.
name
- Specifies a symbolic constant, one of
GL_VENDOR
, GL_RENDERER
,
GL_VERSION
, or
GL_EXTENSIONS
.
String
formatted as described above.void glHint(int target, int mode)
Certain aspects of GL behavior, when there is room for
interpretation, can be controlled with hints. A hint is
specified with two arguments. target
is a symbolic
constant indicating the behavior to be controlled, and
mode
is another symbolic constant indicating the
desired behavior. The initial value for each
target
is GL_DONT_CARE
.
mode
can be one of the following:
GL_FASTEST
The most efficient option should be chosen.
GL_NICEST
The most correct, or highest quality, option should be chosen.
GL_DONT_CARE
No preference.
Though the implementation aspects that can be hinted are well
defined, the interpretation of the hints depends on the
implementation. The hint aspects that can be specified with
target
, along with suggested semantics, are as
follows:
GL_FOG_HINT
Indicates the accuracy of fog calculation. If per-pixel fog
calculation is not efficiently supported by the GL
implementation, hinting GL_DONT_CARE
or
GL_FASTEST
can result in per-vertex calculation of
fog effects.
GL_LINE_SMOOTH_HINT
Indicates the sampling quality of antialiased lines.
If a larger filter function is applied, hinting
GL_NICEST
can result in more pixel fragments being
generated during rasterization,
GL_PERSPECTIVE_CORRECTION_HINT
Indicates the quality of color and texture coordinate
interpolation. If perspective-corrected parameter interpolation
is not efficiently supported by the GL implementation, hinting
GL_DONT_CARE
or GL_FASTEST
can result
in simple linear interpolation of colors and/or texture
coordinates.
GL_POINT_SMOOTH_HINT
Indicates the sampling quality of antialiased points. If a
larger filter function is applied, hinting
GL_NICEST
can result in more pixel fragments being
generated during rasterization.
GL_GENERATE_MIPMAP_HINT
(1.1 only)Indicates the desired quality and performance of automatic mipmap level generation.
The interpretation of hints depends on the implementation. Some
implementations ignore glHint
settings.
GL_INVALID_ENUM
is generated if either
target
or mode
is not an accepted
value.
target
- Specifies a symbolic constant indicating the
behavior to be controlled. GL_FOG_HINT
,
GL_LINE_SMOOTH_HINT
,
GL_PERSPECTIVE_CORRECTION_HINT
, and
GL_POINT_SMOOTH_HINT
are accepted. On 1.1,
GL_GENERATE_MIPMAP_HINT
is additionally accepted.mode
- Specifies a symbolic constant indicating the
desired behavior. GL_FASTEST
,
GL_NICEST
, and GL_DONT_CARE
are accepted.void glLightModelf(int pname, float param)
glLightModel
sets the lighting model parameter.
pname
names a parameter and param gives the new
value. There is one single-valued lighting model parameter:
GL_LIGHT_MODEL_TWO_SIDE
param
specifies whether one- or two-sided lighting
calculations are done for polygons. It has no effect on the
lighting calculations for points, lines, or bitmaps. If
param
is 0, one-sided lighting is specified, and
only the front material parameters are used in the lighting
equation. Otherwise, two-sided lighting is specified. In this
case, vertices of back-facing polygons are lighted using the
back material parameters, and have their normals reversed
before the lighting equation is evaluated. Vertices of
front-facing polygons are always lighted using the front
material parameters, with no change to their normals. The
initial value is 0.
GL_INVALID_ENUM
is generated if pname
is not an accepted value.
pname
- Specifies a single-valued lighting model parameter. Must be
GL_LIGHT_MODEL_TWO_SIDE
.param
- Specifies the value that param
will be set to.void glLightModelfv(int pname, float[] params, int offset)
Set the lighting model parameters (array version).
glLightModel
sets the lighting model parameter.
pname
names a parameter and params
gives the new value. There are two lighting model parameters:
GL_LIGHT_MODEL_AMBIENT
params
contains four values that specify the
ambient intensity of the entire scene. The values are not
clamped. The initial value is (0.2, 0.2, 0.2, 1.0).
GL_LIGHT_MODEL_TWO_SIDE
params
contains a single value that specifies
whether one- or two-sided lighting calculations are done for
polygons. It has no effect on the lighting calculations for
points, lines, or bitmaps. If params
contains 0,
one-sided lighting is specified, and only the front material
parameters are used in the lighting equation. Otherwise,
two-sided lighting is specified. In this case, vertices of
back-facing polygons are lighted using the back material
parameters, and have their normals reversed before the lighting
equation is evaluated. Vertices of front-facing polygons are
always lighted using the front material parameters, with no
change to their normals. The initial value is 0.
The lighted color of a vertex is the sum of the material emission intensity, the product of the material ambient reflectance and the lighting model full-scene ambient intensity, and the contribution of each enabled light source. Each light source contributes the sum of three terms: ambient, diffuse, and specular. The ambient light source contribution is the product of the material ambient reflectance and the light's ambient intensity. The diffuse light source contribution is the product of the material diffuse reflectance, the light's diffuse intensity, and the dot product of the vertex's normal with the normalized vector from the vertex to the light source. The specular light source contribution is the product of the material specular reflectance, the light's specular intensity, and the dot product of the normalized vertex-to-eye and vertex-to-light vectors, raised to the power of the shininess of the material. All three light source contributions are attenuated equally based on the distance from the vertex to the light source and on light source direction, spread exponent, and spread cutoff angle. All dot products are replaced with 0 if they evaluate to a negative value.
The alpha component of the resulting lighted color is set to the alpha value of the material diffuse reflectance.
GL_INVALID_ENUM
is generated if pname
is not an accepted value.
pname
- Specifies a lighting model parameter.
GL_LIGHT_MODEL_AMBIENT
and
GL_LIGHT_MODEL_TWO_SIDE
are accepted.params
- Specifies an array containing values that
parameter pname
will be set to.offset
- the starting offset within the params
array.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.void glLightModelfv(int pname, FloatBuffer params)
Buffer
version of glLightModel
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glLightModelfv(int, float[], int)
void glLightModelx(int pname, int param)
glLightModel
.
GL10.glLightModelf(int, float)
void glLightModelxv(int pname, int[] params, int offset)
glLightModel
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.GL10.glLightModelfv(int, float[], int)
void glLightModelxv(int pname, IntBuffer params)
Buffer
version of glLightModel
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glLightModelfv(int, float[], int)
void glLightf(int light, int pname, float param)
glLight
sets the values of individual light source
parameters. light
names the light and is a
symbolic name of the form GL_LIGHT
i, where
0 <= i < GL_MAX_LIGHTS
. pname
specifies one of ten light source parameters, again by symbolic
name. param
contains the new value.
To enable and disable lighting calculation, call
glEnable
and glDisable
with argument
GL_LIGHTING
. Lighting is initially disabled. When
it is enabled, light sources that are enabled contribute to the
lighting calculation. Light source i is enabled and
disabled using glEnable
and glDisable
with argument GL_LIGHT
i.
The light parameters are as follows:
GL_SPOT_EXPONENT
param
is a single value that specifies the
intensity distribution of the light. Fixed-point and
floating-point values are mapped directly. Only values in the
range [0, 128] are accepted.
Effective light intensity is attenuated by the cosine of the
angle between the direction of the light and the direction from
the light to the vertex being lighted, raised to the power of
the spot exponent. Thus, higher spot exponents result in a more
focused light source, regardless of the spot cutoff angle (see
GL_SPOT_CUTOFF
, next paragraph). The initial spot
exponent is 0, resulting in uniform light distribution.
GL_SPOT_CUTOFF
param
is a single value that specifies the maximum
spread angle of a light source. Fixed-point and floating-point
values are mapped directly. Only values in the range [0, 90]
and the special value 180 are accepted. If the angle between
the direction of the light and the direction from the light to
the vertex being lighted is greater than the spot cutoff angle,
the light is completely masked. Otherwise, its intensity is
controlled by the spot exponent and the attenuation factors.
The initial spot cutoff is 180, resulting in uniform light
distribution.
GL_CONSTANT_ATTENUATION
,
GL_LINEAR_ATTENUATION
,
GL_QUADRATIC_ATTENUATION
param
is a single value that specifies one of the
three light attenuation factors. Fixed-point and floating-point
values are mapped directly. Only nonnegative values are
accepted. If the light is positional, rather than directional,
its intensity is attenuated by the reciprocal of the sum of the
constant factor, the linear factor times the distance between
the light and the vertex being lighted, and the quadratic
factor times the square of the same distance. The initial
attenuation factors are (1, 0, 0), resulting in no attenuation.
It is always the case that GL_LIGHT
i =
GL_LIGHT0
+ i.
GL_INVALID_ENUM
is generated if either
light
or pname
is not an accepted
value.
GL_INVALID_VALUE
is generated if a spot exponent
value is specified outside the range [0, 128], or if spot
cutoff is specified outside the range [0, 90] (except for the
special value 180), or if a negative attenuation factor is
specified.
light
- Specifies a light. The number of lights depends on
the implementation, but at least eight lights are
supported. They are identified by symbolic names of
the form GL_LIGHT
i where
0 <= i GL_MAX_LIGHTS
.pname
- Specifies a single-valued light source parameter
for light. GL_SPOT_EXPONENT
,
GL_SPOT_CUTOFF
,
GL_CONSTANT_ATTENUATION
,
GL_LINEAR_ATTENUATION
, and
GL_QUADRATIC_ATTENUATION
are acceptedparam
- Specifies the value that parameter
pname
of light source light will be set to.- Since:
- BlackBerry API 5.0.0
void glLightfv(int light, int pname, float[] params, int offset)
glLight
sets the values of individual light source
parameters. light
names the light and is a
symbolic name of the form GL_LIGHT
i, where
0 <= i < GL_MAX_LIGHTS
. pname
specifies one of ten light source parameters, again by symbolic
name. params
is an array that contains the new values.
To enable and disable lighting calculation, call
glEnable
and glDisable
with argument
GL_LIGHTING
. Lighting is initially disabled. When
it is enabled, light sources that are enabled contribute to the
lighting calculation. Light source i is enabled and
disabled using glEnable
and glDisable
with argument GL_LIGHT
i.
The light parameters are as follows:
GL_AMBIENT
params
contains four values that specify the
ambient RGBA intensity of the light. Both fixed-point and
floating-point values are mapped directly. Neither fixed-point
nor floating-point values are clamped. The initial ambient
light intensity is (0, 0, 0, 1).
GL_DIFFUSE
params
contains four values that specify the
diffuse RGBA intensity of the light. Both fixed-point and
floating-point values are mapped directly. Neither fixed-point
nor floating-point values are clamped. The initial value for
GL_LIGHT0
is (1, 1, 1, 1). For other lights, the
initial value is (0, 0, 0, 0).
GL_SPECULAR
params
contains four values that specify the
specular RGBA intensity of the light. Both fixed-point and
floating-point values are mapped directly. Neither fixed-point
nor floating-point values are clamped. The initial value for
GL_LIGHT0
is (1, 1, 1, 1). For other lights, the
initial value is (0, 0, 0, 0).
GL_POSITION
(1.0 only)
params
contains four values that specify the
position of the light in homogeneous object coordinates. Both
fixed-point and floating-point values are mapped directly.
Neither fixed-point nor floating-point values are clamped.
The position is transformed by the modelview matrix when
glLight
is called (just as if it were a point),
and it is stored in eye coordinates. If the w component of the
position is 0, the light is treated as a directional source.
Diffuse and specular lighting calculations take the light's
direction, but not its actual position, into account, and
attenuation is disabled. Otherwise, diffuse and specular
lighting calculations are based on the actual location of the
light in eye coordinates, and attenuation is enabled. The
initial position is (0, 0, 1, 0). Thus, the initial light
source is directional, parallel to, and in the direction of the
-z axis.
GL_SPOT_DIRECTION
params
contains three values that specify the
direction of the light in homogeneous object coordinates. Both
fixed-point and floating-point values are mapped directly.
Neither fixed-point nor floating-point values are clamped.
The spot direction is transformed by the inverse of the
modelview matrix when glLight
is called (just as
if it were a normal), and it is stored in eye coordinates. It
is significant only when GL_SPOT_CUTOFF
is not
180, which it is initially. The initial direction is (0, 0, -1).
GL_SPOT_EXPONENT
params
is a single value that specifies the
intensity distribution of the light. Fixed-point and
floating-point values are mapped directly. Only values in the
range [0, 128] are accepted.
Effective light intensity is attenuated by the cosine of the
angle between the direction of the light and the direction from
the light to the vertex being lighted, raised to the power of
the spot exponent. Thus, higher spot exponents result in a more
focused light source, regardless of the spot cutoff angle (see
GL_SPOT_CUTOFF
, next paragraph). The initial spot
exponent is 0, resulting in uniform light distribution.
GL_SPOT_CUTOFF
params
is a single value that specifies the
maximum spread angle of a light source. Fixed-point and
floating-point values are mapped directly. Only values in the
range [0, 90] and the special value 180 are accepted. If the
angle between the direction of the light and the direction from
the light to the vertex being lighted is greater than the spot
cutoff angle, the light is completely masked. Otherwise, its
intensity is controlled by the spot exponent and the
attenuation factors. The initial spot cutoff is 180, resulting
in uniform light distribution.
GL_CONSTANT_ATTENUATION
,
GL_LINEAR_ATTENUATION
,
GL_QUADRATIC_ATTENUATION
params
is a single value that specifies one of the
three light attenuation factors. Fixed-point and floating-point
values are mapped directly. Only nonnegative values are
accepted. If the light is positional, rather than directional,
its intensity is attenuated by the reciprocal of the sum of the
constant factor, the linear factor times the distance between
the light and the vertex being lighted, and the quadratic
factor times the square of the same distance. The initial
attenuation factors are (1, 0, 0), resulting in no attenuation.
It is always the case that GL_LIGHT
i = GL_LIGHT0
+ i.
GL_INVALID_ENUM
is generated if either
light
or pname
is not an accepted
value.
GL_INVALID_VALUE
is generated if a spot exponent
value is specified outside the range [0, 128], or if spot
cutoff is specified outside the range [0, 90] (except for the
special value 180), or if a negative attenuation factor is
specified.
light
- Specifies a light. The number of lights depends on
the implementation, but at least eight lights are
supported. They are identified by symbolic names of
the form GL_LIGHT
i where
0 <= i GL_MAX_LIGHTS
.pname
- Specifies a light source parameter for light.
GL_AMBIENT
, GL_DIFFUSE
,
GL_SPECULAR
, GL_POSITION
(1.0 only), GL_SPOT_CUTOFF
,
GL_SPOT_DIRECTION
,
GL_SPOT_EXPONENT
,
GL_CONSTANT_ATTENUATION
,
GL_LINEAR_ATTENUATION
, and
GL_QUADRATIC_ATTENUATION
are accepted.params
- Specifies an array containing values that
parameter pname
of light source light will be set to.offset
- the starting offset within the params
array.
- Throws:
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.- Since:
- BlackBerry API 5.0.0
void glLightfv(int light, int pname, FloatBuffer params)
Buffer
version of glLight
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glLightfv(int, int, float[], int)
void glLightx(int light, int pname, int param)
glLight
.
GL10.glLightf(int, int, float)
void glLightxv(int light, int pname, int[] params, int offset)
glLight
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.GL10.glLightfv(int, int, float[], int)
void glLightxv(int light, int pname, IntBuffer params)
Buffer
version of glLight
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glLightfv(int, int, float[], int)
void glLineWidth(float width)
glLineWidth
specifies the rasterized width of both
aliased and antialiased lines. Using a line width other than 1
has different effects, depending on whether line antialiasing
is enabled. To enable and disable line antialiasing, call
glEnable
and glDisable
with argument
GL_LINE_SMOOTH
. Line antialiasing is initially disabled.
If line antialiasing is disabled, the actual width is
determined by rounding the supplied width to the nearest
integer. (If the rounding results in the value 0, it is as if
the line width were 1.) If |delta x| >= |delta y|
,
i pixels are filled in each column that is rasterized,
where i is the rounded value of width
rasterized.
If antialiasing is enabled, line rasterization produces a fragment for each pixel square that intersects the region lying within the rectangle having width equal to the current line width, length equal to the actual length of the line, and centered on the mathematical line segment. The coverage value for each fragment is the window coordinate area of the intersection of the rectangular region with the corresponding pixel square. This value is saved and used in the final rasterization step.
Not all widths can be supported when line antialiasing is
enabled. If an unsupported width is requested, the nearest
supported width is used. Only width 1 is guaranteed to be
supported; others depend on the implementation. Likewise, there
is a range for aliased line widths as well. To query the range
of supported widths and the size difference between supported
widths within the range, call glGetIntegerv
with
arguments GL_ALIASED_LINE_WIDTH_RANGE
,
GL_SMOOTH_LINE_WIDTH_RANGE
,
GL_SMOOTH_LINE_WIDTH_GRANULARITY
.
Nonantialiased line width may be clamped to an
implementation-dependent maximum. Call
glGetIntegerv
with
GL_ALIASED_LINE_WIDTH_RANGE
to determine the
maximum width.
GL_INVALID_VALUE
is generated if width is less
than or equal to 0.
glGetIntegerv
with argument
GL_ALIASED_LINE_WIDTH_RANGE
glGetIntegerv
with argument
GL_SMOOTH_LINE_WIDTH_RANGE
width
- Specifies the width of rasterized lines. The initial value is 1.void glLineWidthx(int width)
glLineWidth
.
GL10.glLineWidth(float)
void glLoadIdentity()
glLoadIdentity
replaces the current matrix with
the identity matrix. It is semantically equivalent to calling
glLoadMatrix with the identity matrix
( 1 0 0 0 ) ( 0 1 0 0 ) ( 0 0 1 0 ) ( 0 0 0 1 )
but in some cases it is more efficient.
void glLoadMatrixf(float[] m, int offset)
glLoadMatrix
replaces the current matrix with the
one whose elements are specified by m
. The current
matrix is the projection matrix, modelview matrix, or texture
matrix, depending on the current matrix mode (see glMatrixMode).
The current matrix, M
, defines a transformation of
coordinates. For instance, assume M
refers to the
modelview matrix. If v = (v[0], v[1], v[2], v[3])
is the set of object coordinates of a vertex, and
m
is an array of 16 fixed-point or
single-precision floating-point values m[0]
,
m[1]
, ..., m[15]
, then the modelview
transformation M(v)
does the following:
( m[0] m[4] m[8] m[12] ) ( v[0] ) M(v) = ( m[1] m[5] m[9] m[13] ) x ( v[1] ) ( m[2] m[6] m[10] m[14] ) ( v[2] ) ( m[3] m[7] m[11] m[15] ) ( v[3] )where "x" denotes matrix multiplication.
Projection and texture transformations are similarly defined.
While the elements of the matrix may be specified with single or double precision, the GL implementation may store or operate on these values in less than single precision.
m
- Specifies an array of at least 16 consecutive values,
the first 16 of which are used as the elements of a
4 × 4 column-major matrix.offset
- the starting offset within the m
array.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if m.length - offset
is less than 16.void glLoadMatrixf(FloatBuffer m)
Buffer
version of glLoadMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if m.remaining()
is less than 16.GL10.glLoadMatrixf(float[], int)
void glLoadMatrixx(int[] m, int offset)
glLoadMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if m.length - offset
is less than 16.GL10.glLoadMatrixf(float[], int)
void glLoadMatrixx(IntBuffer m)
Buffer
version of glLoadMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if m.remaining()
is less than 16.GL10.glLoadMatrixf(float[], int)
void glLogicOp(int opcode)
glLogicOp
specifies a logical operation that, when
enabled, is applied between the incoming color and the color at
the corresponding location in the frame buffer. To enable or
disable the logical operation, call glEnable
and
glDisable
with argument
GL_COLOR_LOGIC_OP
. Logical operation is initially
disabled.
Opcode Resulting Operation GL_CLEAR 0 GL_SET 1 GL_COPY s GL_COPY_INVERTED ˜ s GL_NOOP d GL_INVERT ˜ d GL_AND s & d GL_NAND ˜ (s & d) GL_OR s | d GL_NOR ˜ (s | d) GL_XOR s ˆ d GL_EQUIV ˜ (s ˆ d) GL_AND_REVERSE s & ˜ d GL_AND_INVERTED ˜ s & d GL_OR_REVERSE s | ˜ d GL_OR_INVERTED ˜ s | d
opcode
is a symbolic constant chosen from the list
above. In the explanation of the logical operations, s
represents the incoming color and d represents the color
in the frame buffer. As in the Java language, "~" represents
bitwise negation, "&" represents bitwise AND, "|" represents
bitwise OR, and "^" represents bitwise XOR. As these bitwise
operators suggest, the logical operation is applied
independently to each bit pair of the source and destination
indices or colors.
GL_INVALID_ENUM
is generated if opcode is not an
accepted value.
opcode
- Specifies a symbolic constant that selects a
logical operation. The following symbols are
accepted: GL_CLEAR
, GL_SET
,
GL_COPY
,
GL_COPY_INVERTED
, GL_NOOP
,
GL_INVERT
, GL_AND
,
GL_NAND
, GL_OR
,
GL_NOR
, GL_XOR
,
GL_EQUIV
, GL_AND_REVERSE
,
GL_AND_INVERTED
,
GL_OR_REVERSE
, and
GL_OR_INVERTED
. The initial value is
GL_COPY
.void glMaterialf(int face, int pname, float param)
glMaterial
assigns values to material parameters.
There are two matched sets of material parameters. One, the
front-facing set, is used to shade points, lines, and all
polygons (when two-sided lighting is disabled), or just
front-facing polygons (when two-sided lighting is enabled). The
other set, back-facing, is used to shade back-facing polygons
only when two-sided lighting is enabled. Refer to the
glLightModel
reference page for details concerning
one- and two-sided lighting calculations.
glMaterial
takes three arguments. The first, face,
must be GL_FRONT_AND_BACK
and specifies that both
front and back materials will be modified. The second, pname,
specifies which of several parameters in one or both sets will
be modified. The third, params, specifies what value or values
will be assigned to the specified parameter.
Material parameters are used in the lighting equation that is
optionally applied to each vertex. The equation is discussed in
the glLightModel
reference page. The parameters
that can be specified using glMaterial
, and their
interpretations by the lighting equation, are as follows:
GL_AMBIENT
params
contains four fixed-point or floating-point
values that specify the ambient RGBA reflectance of the
material. The values are not clamped. The initial ambient
reflectance is (0.2, 0.2, 0.2, 1.0).
GL_DIFFUSE
params
contains four fixed-point or floating-point
values that specify the diffuse RGBA reflectance of the
material. The values are not clamped. The initial diffuse
reflectance is (0.8, 0.8, 0.8, 1.0).
GL_SPECULAR
params
contains four fixed-point or floating-point
values that specify the specular RGBA reflectance of the
material. The values are not clamped. The initial specular
reflectance is (0, 0, 0, 1).
GL_EMISSION
params
contains four fixed-point or floating-point
values that specify the RGBA emitted light intensity of the
material. The values are not clamped. The initial emission
intensity is (0, 0, 0, 1).
GL_SHININESS
params
is a single fixed-point or floating-point
value that specifies the RGBA specular exponent of the
material. Only values in the range [0, 128] are accepted. The
initial specular exponent is 0.
GL_AMBIENT_AND_DIFFUSE
Equivalent to calling glMaterial
twice with the
same parameter values, once with GL_AMBIENT
and
once with GL_DIFFUSE
.
To change the diffuse and ambient material per vertex, color
material can be used. To enable and disable
GL_COLOR_MATERIAL
, call glEnable
and
glDisable
with argument
GL_COLOR_MATERIAL
. Color material is initially
disabled.
While the ambient, diffuse, specular and emission material parameters all have alpha components, only the diffuse alpha component is used in the lighting computation.
GL_INVALID_ENUM
is generated if either face or
pname
is not an accepted value.
GL_INVALID_VALUE
is generated if a specular
exponent outside the range [0, 128] is specified.
face
- Specifies which face or faces are being updated.
Must be GL_FRONT_AND_BACK
.pname
- Specifies the single-valued material parameter of
the face or faces that is being updated. Must be
GL_SHININESS
.param
- Specifies the value that parameter
GL_SHININESS
will be set to.void glMaterialfv(int face, int pname, float[] params, int offset)
glMaterial
assigns values to material parameters.
There are two matched sets of material parameters. One, the
front-facing set, is used to shade points, lines, and all
polygons (when two-sided lighting is disabled), or just
front-facing polygons (when two-sided lighting is enabled). The
other set, back-facing, is used to shade back-facing polygons
only when two-sided lighting is enabled. Refer to the
glLightModel
reference page for details concerning
one- and two-sided lighting calculations.
glMaterial
takes three arguments. The first, face,
must be GL_FRONT_AND_BACK
and specifies that both
front and back materials will be modified. The second, pname,
specifies which of several parameters in one or both sets will
be modified. The third, params, specifies what value or values
will be assigned to the specified parameter.
Material parameters are used in the lighting equation that is
optionally applied to each vertex. The equation is discussed in
the glLightModel
reference page. The parameters
that can be specified using glMaterial
, and their
interpretations by the lighting equation, are as follows:
GL_AMBIENT
params
contains four fixed-point or floating-point
values that specify the ambient RGBA reflectance of the
material. The values are not clamped. The initial ambient
reflectance is (0.2, 0.2, 0.2, 1.0).
GL_DIFFUSE
params
contains four fixed-point or floating-point
values that specify the diffuse RGBA reflectance of the
material. The values are not clamped. The initial diffuse
reflectance is (0.8, 0.8, 0.8, 1.0).
GL_SPECULAR
params
contains four fixed-point or floating-point
values that specify the specular RGBA reflectance of the
material. The values are not clamped. The initial specular
reflectance is (0, 0, 0, 1).
GL_EMISSION
params
contains four fixed-point or floating-point
values that specify the RGBA emitted light intensity of the
material. The values are not clamped. The initial emission
intensity is (0, 0, 0, 1).
GL_SHININESS
params
is a single fixed-point or floating-point
value that specifies the RGBA specular exponent of the
material. Only values in the range [0, 128] are accepted. The
initial specular exponent is 0.
GL_AMBIENT_AND_DIFFUSE
Equivalent to calling glMaterial
twice with the
same parameter values, once with GL_AMBIENT
and
once with GL_DIFFUSE
.
To change the diffuse and ambient material per vertex, color
material can be used. To enable and disable
GL_COLOR_MATERIAL
, call glEnable
and
glDisable
with argument
GL_COLOR_MATERIAL
. Color material is initially
disabled.
While the ambient, diffuse, specular and emission material parameters all have alpha components, only the diffuse alpha component is used in the lighting computation.
GL_INVALID_ENUM
is generated if either face or
pname
is not an accepted value.
GL_INVALID_VALUE
is generated if a specular
exponent outside the range [0, 128] is specified.
face
- Specifies which face or faces are being updated.
Must be GL_FRONT_AND_BACK
.pname
- Specifies the material parameter of the face or
faces that is being updated. Must be one of
GL_AMBIENT
, GL_DIFFUSE
,
GL_SPECULAR
, GL_EMISSION
,
GL_SHININESS
, or
GL_AMBIENT_AND_DIFFUSE
.params
- Specifies a pointer to the value or values that pname
will be set to.offset
- the starting offset within the params
array.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.void glMaterialfv(int face, int pname, FloatBuffer params)
Buffer
version of glMaterial
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glMaterialfv(int, int, float[], int)
void glMaterialx(int face, int pname, int param)
glMaterial
.
GL10.glMaterialf(int, int, float)
void glMaterialxv(int face, int pname, int[] params, int offset)
glMaterial
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.GL10.glMaterialfv(int, int, float[], int)
void glMaterialxv(int face, int pname, IntBuffer params)
Buffer
version of glMaterial
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glMaterialfv(int, int, float[], int)
void glMatrixMode(int mode)
glMatrixMode
sets the current matrix mode. mode
can assume one of three values:
GL_MODELVIEW
Applies subsequent matrix operations to the modelview matrix stack.
GL_PROJECTION
Applies subsequent matrix operations to the projection matrix stack.
GL_TEXTURE
Applies subsequent matrix operations to the texture matrix stack.
GL_MATRIX_PALETTE_OES
(OES_matrix_palette
extension)Enables the matrix palette stack extension, and applies subsequent matrix operations to the matrix palette stack.
GL_INVALID_ENUM
is generated if mode is not an
accepted value.
mode
- Specifies which matrix stack is the target for
subsequent matrix operations. These values are
accepted: GL_MODELVIEW
,
GL_PROJECTION
, and
GL_TEXTURE
. In the
OES_matrix_palette
extension is
available, GL_MATRIX_PALETTE_OES
is
additionally accepted. The initial value is
GL_MODELVIEW
.void glMultMatrixf(float[] m, int offset)
glMultMatrix
multiplies the current matrix with
the one specified using m, and replaces the current matrix with
the product.
The current matrix is determined by the current matrix mode (see glMatrixMode). It is either the projection matrix, modelview matrix, or the texture matrix.
If the current matrix is C
, and the coordinates to
be transformed are, v
= (v[0]
,
v[1]
, v[2]
, v[3]
), then
the current transformation is C x v
, or
( c[0] c[4] c[8] c[12] ) ( v[0] ) ( c[1] c[5] c[9] c[13] ) x ( v[1] ) ( c[2] c[6] c[10] c[14] ) ( v[2] ) ( c[3] c[7] c[11] c[15] ) ( v[3] )
Calling glMultMatrix
with an argument of
m
= m[0]
, m[1]
, ...,
m[15]
replaces the current transformation with
(C x M) x v
, or
( c[0] c[4] c[8] c[12] ) ( m[0] m[4] m[8] m[12] ) ( v[0] ) ( c[1] c[5] c[9] c[13] ) x ( m[1] m[5] m[9] m[13] ) x ( v[1] ) ( c[2] c[6] c[10] c[14] ) ( m[2] m[6] m[10] m[14] ) ( v[2] ) ( c[3] c[7] c[11] c[15] ) ( m[3] m[7] m[11] m[15] ) ( v[3] )
where "x" denotes matrix multiplication, and v
is
represented as a 4 × 1 matrix.
While the elements of the matrix may be specified with single or double precision, the GL may store or operate on these values in less than single precision.
The array elements are passed in as a one-dimensional array in
column-major order. The order of the multiplication is
important. For example, if the current transformation is a
rotation, and glMultMatrix
is called with a
translation matrix, the translation is done directly on the
coordinates to be transformed, while the rotation is done on
the results of that translation.
m
- Specifies an array of at least 16 consecutive values,
the first 16 of which are used as the elements of a
4 × 4 column-major matrix.offset
- the starting offset within the m
array.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if m.length - offset
is less than 16.void glMultMatrixf(FloatBuffer m)
Buffer
version ofglMultMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if m.remaining()
is less than 16.GL10.glMultMatrixf(float[], int)
void glMultMatrixx(int[] m, int offset)
glMultMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if m.length - offset
is less than 16.GL10.glMultMatrixf(float[], int)
void glMultMatrixx(IntBuffer m)
Buffer
version of glMultMatrix
.
IllegalArgumentException
- if m
is null
.
IllegalArgumentException
- if m.remaining()
is less than 16.GL10.glMultMatrixf(float[], int)
void glMultiTexCoord4f(int target, float s, float t, float r, float q)
glMultiTexCoord
specifies the four texture
coordinates as (s, t, r, q)
.
The current texture coordinates are part of the data that is associated with each vertex.
It is always the case that GL_TEXTURE
i =
GL_TEXTURE0
+ i.
glGetIntegerv
with argument
GL_MAX_TEXTURE_UNITS
.
target
- Specifies texture unit whose coordinates should
be modified. The number of texture units is
implementation dependent, but must be at least one.
Must be one of GL_TEXTURE
i,
where 0 <= i
GL_MAX_TEXTURE_UNITS
, which is an
implementation-dependent value.s
- Specifies an s texture coordinate for target texture unit.
The initial value is 0.t
- Specifies a t texture coordinate for target texture unit.
The initial value is 0.r
- Specifies an r texture coordinate for target texture unit.
The initial value is 0.q
- Specifies a q texture coordinate for target texture unit.
The initial value is 1.- Since:
- BlackBerry API 5.0.0
void glMultiTexCoord4x(int target, int s, int t, int r, int q)
glMultiTexCoord
.
GL10.glMultiTexCoord4f(int, float, float, float, float)
void glNormal3f(float nx, float ny, float nz)
The current normal is set to the given coordinates whenever
glNormal
is issued. Byte, short, or integer
arguments are converted to floating-point with a linear mapping
that maps the most positive representable integer value to 1.0,
and the most negative representable integer value to -1.0.
Normals specified with glNormal
need not have unit
length. If GL_NORMALIZE
is enabled, then normals
of any length specified with glNormal
are
normalized after transformation. If
GL_RESCALE_NORMAL
is enabled, normals are scaled
by a scaling factor derived from the modelview matrix.
GL_RESCALE_NORMAL
requires that the originally
specified normals were of unit length, and that the modelview
matrix contain only uniform scales for proper results. To
enable and disable normalization, call glEnable
and glDisable
with either
GL_NORMALIZE
or GL_RESCALE_NORMAL
.
Normalization is initially disabled.
nx
- Specifies the x coordinate of the new current normal.
The initial value is 0.ny
- Specifies the y coordinate of the new current normal.
The initial value is 0.nz
- Specifies the z coordinate of the new current normal.
The initial value is 1.void glNormal3x(int nx, int ny, int nz)
glNormal
.
GL10.glNormal3f(float, float, float)
void glNormalPointer(int type, int stride, Buffer pointer)
glNormalPointer
specifies the location and data of
an array of normals to use when rendering. type specifies the
data type of the normal coordinates and stride gives the byte
stride from one normal to the next, allowing vertices and
attributes to be packed into a single array or stored in
separate arrays. (Single-array storage may be more efficient on
some implementations.) When a normal array is specified, type ,
stride , and pointer are saved as client-side state.
If the normal array is enabled, it is used when
glDrawArrays
or glDrawElements
is
called. To enable and disable the normal array, call
glEnableClientState
and
glDisableClientState
with the argument
GL_NORMAL_ARRAY
. The normal array is initially
disabled and isn't accessed when glDrawArrays
or
glDrawElements
is called.
Use glDrawArrays
to construct a sequence of
primitives (all of the same type) from prespecified vertex and
vertex attribute arrays. Use glDrawElements
to
construct a sequence of primitives by indexing vertices and
vertex attributes.
glNormalPointer
is typically implemented on the
client side.
GL_INVALID_ENUM
is generated if type is not an accepted value.
GL_INVALID_VALUE
is generated if stride is
negative.
The pointer
argument must be a direct buffer with
a type matching that specified by the type
argument.
type
- Specifies the data type of each coordinate in the
array. Symbolic constants GL_BYTE
,
GL_SHORT
, GL_FIXED
, and
GL_FLOAT
are accepted. The initial
value is GL_FLOAT
.stride
- Specifies the byte offset between consecutive
normals. If stride is 0, the normals are understood
to be tightly packed in the array. The initial value is 0.pointer
- Specifies a pointer to the first coordinate of
the first normal in the array. The initial value is 0.
IllegalStateException
- if OpenGL ES 1.1 is being used and VBOs are enabled.
IllegalArgumentException
- if pointer
is null
.
IllegalArgumentException
- if pointer
is not direct.void glOrthof(float left, float right, float bottom, float top, float near, float far)
glOrtho
describes a transformation that produces a
parallel projection. The current matrix (see glMatrixMode) is
multiplied by this matrix and the result replaces the current
matrix, as if glMultMatrix
were called with the
following matrix as its argument:
( 2/(right - left) 0 0 tx ) ( 0 2/(top - bottom) 0 ty ) ( 0 0 (-2)/(far - near) tz ) ( 0 0 0 1 )
where
tx = - (right + left)/(right - left) ty = - (top + bottom)/(top - bottom) tz = - (far + near) /(far - near)
Typically, the matrix mode is GL_PROJECTION
, and
(left, bottom, -near) and (right, top, -near) specify the
points on the near clipping plane that are mapped to the lower
left and upper right corners of the window, respectively,
assuming that the eye is located at (0, 0, 0). -far specifies
the location of the far clipping plane. Both near and far can
be either positive or negative.
Use glPushMatrix
and glPopMatrix
to
save and restore the current matrix stack.
left
- Specifies the coordinate for the left vertical clipping plane.right
- Specifies the coordinate for the right vertical clipping plane.bottom
- Specifies the coordinate for the bottom horizontal clipping plane.top
- Specifies the coordinate for the top horizontal clipping plane.near
- Specifies the distance to the nearer depth clipping plane.
This value is negative if the plane is to be behind the viewer.far
- Specifies the distance to the farther depth clipping plane.
This value is negative if the plane is to be behind the viewer.void glOrthox(int left, int right, int bottom, int top, int near, int far)
glOrtho
.
GL10.glOrthof(float, float, float, float, float, float)
void glPixelStorei(int pname, int param)
glPixelStore
sets pixel storage modes that affect
the operation of subsequent glReadPixels
as well
as the unpacking of glTexImage2D
, and
glTexSubImage2D
.
pname
is a symbolic constant indicating the
parameter to be set, and param
is the new value.
The following storage parameter affects how pixel data is
returned to client memory. This value is significant for
glReadPixels
:
GL_PACK_ALIGNMENT
Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 2 (rows aligned to even-numbered bytes), 4 (byte-alignment), (word-alignment), and 8 (rows start on double-word boundaries). The initial value is 4.
The following storage parameter affects how pixel data is read
from client memory. This value is significant for
glTexImage2D
and glTexSubImage2D
:
GL_UNPACK_ALIGNMENT
Specifies the alignment requirements for the start of each pixel row in memory. The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes), 4 (word-alignment), and 8 (rows start on double-word boundaries). The initial value is 4.
Pixel storage modes are client states.
glCompressedTexImage2D
and
glCompressedTexSubImage2D
are not affected by
glPixelStore
.
GL_INVALID_ENUM
is generated if pname
is not an accepted value.
GL_INVALID_VALUE
is generated if alignment is
specified as other than 1, 2, 4, or 8.
pname
- Specifies the symbolic name of the parameter to be set.
GL_PACK_ALIGNMENT
affects the
packing of pixel data into memory.
GL_UNPACK_ALIGNMENT
affects the
unpacking of pixel data from memory.param
- Specifies the value that pname
is set to.void glPointSize(float size)
glPointSize
specifies the rasterized diameter of
both aliased and antialiased points. Using a point size other
than 1 has different effects, depending on whether point
antialiasing is enabled. To enable and disable point
antialiasing, call glEnable
and
glDisable
with argument
GL_POINT_SMOOTH
. Point antialiasing is initially disabled.
If point antialiasing is disabled, the actual size is determined by rounding the supplied size to the nearest integer. (If the rounding results in the value 0, it is as if the point size were 1.) If the rounded size is odd, then the center point (x, y) of the pixel fragment that represents the point is computed as
(floor(xw) + 1/2, floor(yw) + 1/2)
where w subscripts indicate window coordinates. All pixels that lie within the square grid of the rounded size centered at (x, y) make up the fragment. If the size is even, the center point is
(floor(xw + 1/2), floor(yw + 1/2))
and the rasterized fragment's centers are the half-integer window coordinates within the square of the rounded size centered at (x, y). All pixel fragments produced in rasterizing a nonantialiased point are assigned the same associated data, that of the vertex corresponding to the point.
If antialiasing is enabled, then point rasterization produces a fragment for each pixel square that intersects the region lying within the circle having diameter equal to the current point size and centered at the point's (xw, yw) . The coverage value for each fragment is the window coordinate area of the intersection of the circular region with the corresponding pixel square. This value is saved and used in the final rasterization step. The data associated with each fragment is the data associated with the point being rasterized.
Not all sizes are supported when point antialiasing is enabled.
If an unsupported size is requested, the nearest supported size
is used. Only size 1 is guaranteed to be supported; others
depend on the implementation. To query the range of supported
sizes, call glGetIntegerv
with the argument
GL_SMOOTH_POINT_SIZE_RANGE
. For aliased points,
query the supported ranges glGetIntegerv
with the
argument GL_ALIASED_POINT_SIZE_RANGE
.
A non-antialiased point size may be clamped to an implementation-dependent maximum. Although this maximum cannot be queried, it must be no less than the maximum value for antialiased points, rounded to the nearest integer value.
GL_INVALID_VALUE
is generated if size is less than
or equal to 0.
glGetIntegerv
with argument
GL_ALIASED_POINT_SIZE_RANGE
glGetIntegerv
with argument
GL_SMOOTH_POINT_SIZE_RANGE
size
- Specifies the diameter of rasterized points.
The initial value is 1.void glPointSizex(int size)
glPointSize
.
GL10.glPointSize(float)
void glPolygonOffset(float factor, float units)
When GL_POLYGON_OFFSET_FILL
is enabled, each
fragment's depth value will be offset after it is interpolated
from the depth values of the appropriate vertices. The value of
the offset is m * factor + r * units, where m is a measurement
of the change in depth relative to the screen area of the
polygon, and r is the smallest value that is guaranteed to
produce a resolvable offset for a given implementation. The
offset is added before the depth test is performed and before
the value is written into the depth buffer.
glPolygonOffset
is useful for for applying decals to surfaces.
factor
- Specifies a scale factor that is used to create a
variable depth offset for each polygon. The initial value is 0.units
- Is multiplied by an implementation-specific value
to create a constant depth offset. The initial value is 0.void glPolygonOffsetx(int factor, int units)
glPolygonOffset
.
GL10.glPolygonOffset(float, float)
void glPopMatrix()
GL10.glPushMatrix()
void glPushMatrix()
There is a stack of matrices for each of the matrix modes. In
GL_MODELVIEW
mode, the stack depth is at least 16.
In the other modes, GL_PROJECTION
, and
GL_TEXTURE
, the depth is at least 2. The current
matrix in any mode is the matrix on the top of the stack for
that mode.
glPushMatrix
pushes the current matrix stack down
by one, duplicating the current matrix. That is, after a
glPushMatrix call, the matrix on top of the stack is identical
to the one below it.
glPopMatrix
pops the current matrix stack,
replacing the current matrix with the one below it on the stack.
Initially, each of the stacks contains one matrix, an identity matrix.
It is an error to push a full matrix stack, or to pop a matrix stack that contains only a single matrix. In either case, the error flag is set and no other change is made to GL state.
Each texture unit has its own texture matrix stack. Use
glActiveTexture
to select the desired texture
matrix stack.
GL_STACK_OVERFLOW
is generated if
glPushMatrix
is called while the current matrix
stack is full.
GL_STACK_UNDERFLOW
is generated if
glPopMatrix
is called while the current matrix
stack contains only a single matrix.
glGetIntegerv
with argument
GL_MAX_MODELVIEW_STACK_DEPTH
glGetIntegerv
with argument
GL_MAX_PROJECTION_STACK_DEPTH
glGetIntegerv
with argument
GL_MAX_TEXTURE_STACK_DEPTH
code>glGetIntegerv with argument
GL_MAX_TEXTURE_UNITS
void glReadPixels(int x, int y, int width, int height, int format, int type, Buffer pixels)
glReadPixels
returns pixel data from the color
buffer, starting with the pixel whose lower left corner is at
location (x, y), into client memory starting at location
pixels. The processing of the pixel data before it is placed
into client memory can be controlled with
glPixelStore
.
glReadPixels
returns values from each pixel with
lower left corner at (x + i, y + j)
for 0 <=
i < width
and 0 <= j < height
. This
pixel is said to be the ith pixel in the jth row. Pixels are
returned in row order from the lowest to the highest row, left
to right in each row.
format
specifies the format of the returned pixel
values. GL_RGBA
is always accepted, the value of
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
may allow
another format:
GL_RGBA
Each color component is converted to floating point such that zero intensity maps to 0 and full intensity maps to 1.
GL_RGB
Each element is an RGB triple. The GL converts it to floating point and assembles it into an RGBA element by attaching 1 for alpha.
GL_LUMINANCE
Each element is a single luminance value. The GL converts it to floating point and assembles it into an RGBA element by replicating the luminance value three times for red, green and blue and attaching 1 for alpha.
GL_LUMINANCE_ALPHA
Each element is a luminance/alpha pair. The GL converts it to floating point and assembles it into an RGBA element by replicating the luminance value three times for red, green and blue.
GL_ALPHA
Each element is a single alpha component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red, green and blue.
Unneeded data is then discarded. For example,
GL_ALPHA
discards the red, green, and blue
components, while GL_RGB
discards only the alpha
component. GL_LUMINANCE
computes a
single-component value as the sum of the red, green, and blue
components, and GL_LUMINANCE_ALPHA
does the same,
while keeping alpha as a second value. The final values are
clamped to the range [0, 1]
.
Finally, the components are converted to the proper, as specified by type where each component is multiplied by 2^n - 1, where n is the number of bits per component.
Return values are placed in memory as follows. If format is
GL_ALPHA
, or GL_LUMINANCE
, a single
value is returned and the data for the ith pixel in the jth row
is placed in location j * width + i. GL_RGB
returns three values, GL_RGBA
returns four values,
and GL_LUMINANCE_ALPHA
returns two values for each
pixel, with all values corresponding to a single pixel
occupying contiguous space in pixels. Storage parameter
GL_PACK_ALIGNMENT
set by glPixelStore
, affects the way that data is written into memory. See
glPixelStore
for a description.
Values for pixels that lie outside the window connected to the current GL context are undefined.
If an error is generated, no change is made to the contents of pixels.
GL_INVALID_ENUM
is generated if format is not
GL_RGBA
or the value of
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
.
GL_INVALID_ENUM
is generated if type is not
GL_UNSIGNED_BYTE
or the value of
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
.
GL_INVALID_VALUE
is generated if either width or
height is negative.
GL_INVALID_OPERATION
is generated if format and
type are neither (GL_RGBA
,
GL_UNSIGNED_BYTE)
nor the values of (
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
,
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES)
.
glGetIntegerv
with argument
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
glGetIntegerv
with argument
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
x
- Specifies the window x coordinate of the first pixel
that is read from the color buffer. This location is
the lower left corner of a rectangular block of pixels.y
- Specifies the window y coordinate of the first pixel
that is read from the color buffer. This location is
the lower left corner of a rectangular block of pixels.width
- Specifies the width of the pixel rectangle. width
and height of one correspond to a single pixel.height
- Specifies the height of the pixel rectangle.
width and height of one correspond to a single pixel.format
- Specifies the format of the pixel data. Must be
either GL_RGBA
or the value of
GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
.type
- Specifies the data type of the pixel data. Must be
either GL_UNSIGNED_BYTE
or the value of
GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
.pixels
- Returns the pixel data.
IllegalArgumentException
- if pixels
is null
.
IllegalArgumentException
- if pixels
does not contain enough room for the pixel data.void glRotatef(float angle, float x, float y, float z)
glRotate
produces a rotation of angle degrees
around the vector (x, y, z) . The current matrix (see
glMatrixMode) is multiplied by a rotation matrix with the
product replacing the current matrix, as if
glMultMatrix
were called with the following matrix
as its argument:
( xˆ2(1 - c) + c xy (1 - c) - zs xz (1 - c) + ys 0 ) ( xy (1 - c) + zs yˆ2(1 - c) + c yz (1 - c) - xs 0 ) ( xz (1 - c) - ys yz (1 - c) + xs zˆ2(1 - c) + c 0 ) ( 0 0 0 1 )
Where c = cos (angle), s = sin (angle), and ||(x, y, z)|| = 1, (if not, the GL will normalize this vector).
If the matrix mode is either GL_MODELVIEW
or
GL_PROJECTION
, all objects drawn after
glRotate
is called are rotated. Use
glPushMatrix
and glPopMatrix
to save
and restore the unrotated coordinate system.
This rotation follows the right-hand rule, so if the vector (x, y, z) points toward the user, the rotation will be counterclockwise.
angle
- Specifies the angle of rotation, in degrees.x
- Specifies the x coordinate of a vector.y
- Specifies the y coordinate of a vector.z
- Specifies the z coordinate of a vector.void glRotatex(int angle, int x, int y, int z)
glRotate
.
GL10.glRotatef(float, float, float, float)
void glSampleCoverage(float value, boolean invert)
glSampleCoverage
defines a mask to modify the
coverage of multisampled pixel fragments. This capability is
used for antialiased screen-door transparency and smooth
transitions between two renderings of an object (often for
level-of-detail management in simulation systems).
When multisampling is enabled (see glEnable
with
argument GL_MULTISAMPLE)
a ``fragment mask'' is
computed for each fragment generated by a primitive. This mask
reflects the amount of the pixel covered by the fragment, and
determines the frame buffer samples that may be affected by the
fragment.
If conversion of alpha values to masks is enabled
glEnable
with argument
GL_SAMPLE_ALPHA_TO_MASK)
, the fragment alpha value
is used to generate a temporary modification mask which is then
ANDed with the fragment mask. One way to interpret this is as a
form of dithering: a multivalued alpha (coverage or opacity)
for the whole fragment is converted to simple binary values of
coverage at many locations (the samples).
After conversion of alpha values to masks, if replacement of
alpha values is enabled (glEnable
with argument
GL_SAMPLE_ALPHA_TO_ONE)
, the fragment's alpha is
set to the maximum allowable value.
Finally, if fragment mask modification is enabled
glEnable
with argument
GL_SAMPLE_MASK)
, glSampleCoverage
defines an additional modification mask. value is used to
generate a modification mask in much the same way alpha was
used above. If invert is GL_TRUE
, then the
modification mask specified by value will be inverted. The
final modification mask will then be ANDed with the fragment
mask resulting from the previous steps. This can be viewed as
an ``override'' control that selectively fades the effects of
multisampled fragments.
Note that glSampleCoverage(value, GL_TRUE)
is not
necessarily equivalent to glSampleCoverage(1.0 - value,
GL_FALSE)
; due to round-off and other issues,
complementing the coverage will not necessarily yield an
inverted modification mask.
value
- Specifies the coverage of the modification mask.
The value is clamped to the range
[0, 1]
, where 0 represents no coverage
and 1 full coverage. The initial value is 1.invert
- Specifies whether the modification mask implied
by value is inverted or not. The initial value is
GL_FALSE
.void glSampleCoveragex(int value, boolean invert)
glSampleCoverage
.
GL10.glSampleCoverage(float, boolean)
void glScalef(float x, float y, float z)
glScale
produces a nonuniform scaling along the x,
y, and z axes. The three parameters indicate the desired scale
factor along each of the three axes.
The current matrix (see glMatrixMode) is multiplied by this scale matrix, and the product replaces the current matrix as if glScale were called with the following matrix as its argument:
( x 0 0 0 ) ( 0 y 0 0 ) ( 0 0 z 0 ) ( 0 0 0 1 )
If the matrix mode is either GL_MODELVIEW
or
GL_PROJECTION
, all objects drawn after
glScale
is called are scaled.
Use glPushMatrix
and glPopMatrix
to
save and restore the unscaled coordinate system.
If scale factors other than 1 are applied to the modelview
matrix and lighting is enabled, lighting often appears wrong.
In that case, enable automatic normalization of normals by
calling glEnable
with the argument
GL_NORMALIZE
.
x
- Specifies the scale factor along the x axis.y
- Specifies the scale factor along the y axis.z
- Specifies the scale factor along the z axis.void glScalex(int x, int y, int z)
glScale
.
GL10.glScalef(float, float, float)
void glScissor(int x, int y, int width, int height)
glScissor
defines a rectangle, called the scissor
box, in window coordinates. The first two arguments, x and y,
specify the lower left corner of the box. width and height
specify the width and height of the box.
To enable and disable the scissor test, call
glEnable
and glDisable
with argument
GL_SCISSOR_TEST
. The scissor test is initially
disabled. While scissor test is enabled, only pixels that lie
within the scissor box can be modified by drawing commands.
Window coordinates have integer values at the shared corners of
frame buffer pixels. glScissor(0, 0, 1, 1) allows modification
of only the lower left pixel in the window, and glScissor(0, 0, 0, 0)
doesn't allow modification of any pixels in the window.
When the scissor test is disabled, it is as though the scissor box includes the entire window.
GL_INVALID_VALUE
is generated if either width or
height is negative.
x
- Specifies the x coordinate of the lower left corner of
the scissor box, in pixels. The initial value is 0.y
- Specifies the y coordinate of the lower left corner of
the scissor box, in pixels. The initial value is 0.width
- Specifies the width of the scissor box. When a GL
context is first attached to a surface (e.g.
window), width and height are set to the dimensions
of that surface.height
- Specifies the height of the scissor box. When a
GL context is first attached to a surface (e.g. window),
width and height are set to the dimensions of that surface.void glShadeModel(int mode)
GL primitives can have either flat or smooth shading. Smooth shading, the default, causes the computed colors of vertices to be interpolated as the primitive is rasterized, typically assigning different colors to each resulting pixel fragment. Flat shading selects the computed color of just one vertex and assigns it to all the pixel fragments generated by rasterizing a single primitive. In either case, the computed color of a vertex is the result of lighting if lighting is enabled, or it is the current color at the time the vertex was specified if lighting is disabled.
Flat and smooth shading are indistinguishable for points. Starting at the beginning of the vertex array and counting vertices and primitives from 1, the GL gives each flat-shaded line segment i the computed color of vertex i + 1, its second vertex. Counting similarly from 1, the GL gives each flat-shaded polygon the computed color of vertex i + 2, which is the last vertex to specify the polygon.
Flat and smooth shading are specified by
glShadeModel
with mode set to GL_FLAT
and GL_SMOOTH
, respectively.
GL_INVALID_ENUM
is generated if mode is any value
other than GL_FLAT
or GL_SMOOTH
.
mode
- Specifies a symbolic value representing a shading
technique. Accepted values are GL_FLAT
and GL_SMOOTH
. The initial value is
GL_SMOOTH
.void glStencilFunc(int func, int ref, int mask)
Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering.
The stencil test conditionally eliminates a pixel based on the
outcome of a comparison between the reference value and the
value in the stencil buffer. To enable and disable stencil
test, call glEnable
and glDisable
with argument GL_STENCIL_TEST
. Stencil test is
initially disabled. To specify actions based on the outcome of
the stencil test, call glStencilOp
.
func
is a symbolic constant that determines the
stencil comparison function. It accepts one of eight values,
shown in the following list. ref
is an integer
reference value that is used in the stencil comparison. It is
clamped to the range [0, 2^n - 1]
, where n
is the number of bitplanes in the stencil buffer.
mask
is bitwise ANDed with both the reference
value and the stored stencil value, with the ANDed values
participating in the comparison.
If stencil
represents the value stored in the
corresponding stencil buffer location, the following list shows
the effect of each comparison function that can be specified by
func. Only if the comparison succeeds is the pixel passed
through to the next stage in the rasterization process (see
glStencilOp). All tests treat stencil values as unsigned
integers in the range [0, 2^n - 1]
, where n
is the number of bitplanes in the stencil buffer.
The following values are accepted by func
:
GL_NEVER
Always fails.
GL_LESS
Passes if (ref & mask) < (stencil & mask) .
GL_LEQUAL
Passes if (ref & mask) <= (stencil & mask) .
GL_GREATER
Passes if (ref & mask) > (stencil & mask) .
GL_GEQUAL
Passes if (ref & mask) >= (stencil & mask) .
GL_EQUAL
Passes if (ref & mask) == (stencil & mask) .
GL_NOTEQUAL
Passes if (ref & mask) != (stencil & mask) .
GL_ALWAYS
Always passes.
Initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes.
GL_INVALID_ENUM
is generated if func is not one of
the eight accepted values.
glGetIntegerv
with argument
GL_STENCIL_BITS
func
- Specifies the test function. Eight tokens are
valid: GL_NEVER
, GL_LESS
,
GL_LEQUAL
, GL_GREATER
,
GL_GEQUAL
, GL_EQUAL
,
GL_NOTEQUAL
, and GL_ALWAYS
.
The initial value is GL_ALWAYS
.ref
- Specifies the reference value for the stencil test.
ref
is clamped to the range
[0, 2^n - 1]
,
where n is the number of bitplanes in the stencil buffer.
The initial value is 0.mask
- Specifies a mask that is ANDed with both the
reference value and the stored stencil value when
the test is done. The initial value is all 1's.void glStencilMask(int mask)
glStencilMask
controls the writing of individual
bits in the stencil planes. The least significant n bits of
mask, where n is the number of bits in the stencil buffer,
specify a mask. Where a 1 appears in the mask, it's possible to
write to the corresponding bit in the stencil buffer. Where a 0
appears, the corresponding bit is write-protected. Initially,
all bits are enabled for writing.
glGetIntegerv
with argument
GL_STENCIL_BITS
mask
- Specifies a bit mask to enable and disable writing
of individual bits in the stencil planes.
The initial value is all 1's.void glStencilOp(int fail, int zfail, int zpass)
Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering.
The stencil test conditionally eliminates a pixel based on the
outcome of a comparison between the value in the stencil buffer
and a reference value. To enable and disable stencil test, call
glEnable
and glDisable
with argument
GL_STENCIL_TEST
. To control it, call
glStencilFunc
. Stenciling is initially disabled.
glStencilOp
takes three arguments that indicate
what happens to the stored stencil value while stenciling is
enabled. If the stencil test fails, no change is made to the
pixel's color or depth buffers, and fail specifies what happens
to the stencil buffer contents. The following six actions are
possible.
GL_KEEP
Keeps the current value.
GL_ZERO
Sets the stencil buffer value to 0.
GL_REPLACE
Sets the stencil buffer value to ref, as specified by
glStencilFunc
.
GL_INCR
Increments the current stencil buffer value. Clamps to the maximum representable unsigned value.
GL_DECR
Decrements the current stencil buffer value. Clamps to 0.
GL_INVERT
Bitwise inverts the current stencil buffer value. <--
OES_stencil_wrap
extension)
GL_DECR_WRAP
Decrements the current stencil buffer value, wrapping around to the maximum representable unsigned value if less than 0.
OES_stencil_wrap
extension)
GL_INCR
Increments the current stencil buffer value, wrapping around to 0 if greater than the maximum representable unsigned value. -->
Stencil buffer values are treated as unsigned integers. When
incremented and decremented, values are clamped to 0 and 2^n - 1,
where n is the value returned by querying
GL_STENCIL_BITS
.
The other two arguments to glStencilOp
specify
stencil buffer actions that depend on whether subsequent depth
buffer tests succeed (zpass
) or fail (zfail
)
(see glDepthFunc
). The actions are
using the same six symbolic constants as specified fail
.
Note that zfail
is ignored when
there is no depth buffer, or when the depth buffer is not
enabled. In these cases, fail
and zpass
specify stencil action when the stencil test fails
and passes, respectively.
If there is no stencil buffer, no stencil modification can
occur and it is as if the stencil tests always pass, regardless
of any call to glStencilOp
.
GL_INVALID_ENUM
is generated if fail, zfail, or
zpass is any value other than the six defined constant values.
glGetIntegerv
with argument
GL_STENCIL_BITS
fail
- Specifies the action to take when the stencil test
fails. Six symbolic constants are accepted:
GL_KEEP
, GL_ZERO
,
GL_REPLACE
, GL_INCR
,
GL_DECR
, and GL_INVERT
GL_INCR_WRAP
(OES_stencil_wrap
extension),
GL_DECR_WRAP
(OES_stencil_wrap
extension)
The initial value is GL_KEEP
.zfail
- Specifies the stencil action when the stencil test
passes, but the depth test fails. zfail
accepts the same symbolic constants as
fail
. The initial value is
GL_KEEP
.zpass
- Specifies the stencil action when both the stencil
test and the depth test pass, or when the stencil
test passes and either there is no depth buffer or
depth testing is not enabled. zpass
accepts the same symbolic constants as
fail
. The initial value is
GL_KEEP
.void glTexCoordPointer(int size, int type, int stride, Buffer pointer)
glTexCoordPointer
specifies the location and data
of an array of texture coordinates to use when rendering. size
specifies the number of coordinates per element, and must be 2,
3, or 4. type specifies the data type of each texture
coordinate and stride specifies the byte stride from one array
element to the next allowing vertices and attributes to be
packed into a single array or stored in separate arrays.
(Single-array storage may be more efficient on some implementations.)
When a texture coordinate array is specified, size, type, stride, and pointer are saved as client-side state.
If the texture coordinate array is enabled, it is used when
glDrawArrays
, or glDrawElements
is
called. To enable and disable the texture coordinate array for
the client-side active texture unit, call
glEnableClientState
and
glDisableClientState
with the argument
GL_TEXTURE_COORD_ARRAY
. The texture coordinate
array is initially disabled for all client-side active texture
units and isn't accessed when glDrawArrays
or
glDrawElements
is called.
Use glDrawArrays
to construct a sequence of
primitives (all of the same type) from prespecified vertex and
vertex attribute arrays. Use glDrawElements
to
construct a sequence of primitives by indexing vertices and
vertex attributes.
glTexCoordPointer
is typically implemented on the
client side.
glTexCoordPointer
updates the texture coordinate
array state of the client-side active texture unit, specified
with glClientActiveTexture
.
GL_INVALID_VALUE
is generated if size is not 2, 3, or 4.
GL_INVALID_ENUM
is generated if type is not an accepted value.
GL_INVALID_VALUE
is generated if stride is negative.
The pointer
argument must be a direct buffer with
a type matching that specified by the type
argument.
size
- Specifies the number of coordinates per array
element. Must be 2, 3 or 4. The initial value is 4.type
- Specifies the data type of each texture coordinate.
Symbolic constants GL_BYTE
,
GL_SHORT
, GL_FIXED
,and
GL_FLOAT
are accepted. The initial
value is GL_FLOAT
.stride
- Specifies the byte offset between consecutive
array elements. If stride is 0, the array elements
are understood to be tightly packed. The initial value is 0.pointer
- Specifies a pointer to the first coordinate of
the first element in the array. The initial value is 0.
IllegalStateException
- if OpenGL ES 1.1 is
being used and VBOs are enabled.
IllegalArgumentException
- if pointer
is
null
or is not direct.void glTexEnvf(int target, int pname, float param)
If target
is GL_TEXTURE_ENV
, then the
following applies:
A texture environment specifies how texture values are
interpreted when a fragment is textured. target
must be GL_TEXTURE_ENV
. pname
can be
either GL_TEXTURE_ENV_MODE
or GL_TEXTURE_ENV_COLOR
.
If pname
is GL_TEXTURE_ENV_MODE
, then
params
contains the symbolic name of a texture
function. Four texture functions may be specified:
GL_MODULATE
, GL_DECAL
,
GL_BLEND
, and GL_REPLACE
.
A texture function acts on the fragment to be textured using
the texture image value that applies to the fragment (see
glTexParameter
) and produces an RGBA color for
that fragment. The following table shows how the RGBA color is
produced for each of the three texture functions that can be
chosen. C is a triple of color values (RGB) and A
is the associated alpha value. RGBA values extracted from a
texture image are in the range [0, 1]
. The
subscript f refers to the incoming fragment, the
subscript t to the texture image, the subscript c
to the texture environment color, and subscript v
indicates a value produced by the texture function.
A texture image can have up to four components per texture
element (see glTexImage2D
, and
glCopyTexImage2D
). In a one-component image,
Lt indicates that single component. A two-component
image uses Lt and At. A three-component image has
only a color value, Ct. A four-component image has both
a color value Ct and an alpha value At.
For texture functions:
GL_REPLACE
, GL_MODULATE
, GL_DECAL
,
GL_BLEND
, or GL_ADD
:
Base internal format Texture functions GL_MODULATE GL_DECAL GL_ALPHA Cv = Cf undefined Av = Af*At GL_LUMINANCE Cv = Cf*Lt undefined Av = Af GL_LUMINANCE_ALPHA Cv = Cf*Lt undefined Av = Af*At GL_RGB Cv = Cf*Ct Cv = Ct Av = Af Av = Af GL_RGBA Cv = Cf*Ct Cv = Cf*(1 - At) + Ct*At Av = Af*At Av = Af Base internal format Texture functions GL_BLEND GL_REPLACE GL_ALPHA Cv = Cf Cv = Cf Av = Af*At Av = At GL_LUMINANCE Cv = Cf*(1 - Lt) + Cc*Lt Cv = Lt Av = Af Av = Af GL_LUMINANCE_ALPHA Cv = Cf*(1 - Lt) + Cc*Lt Cv = Lt Av = Af*At Av = At GL_RGB Cv = Cf*(1 - Ct) + Cc*Ct Cv = Ct Av = Af Av = Af GL_RGBA Cv = Cf*(1 - Ct) + Cc*Ct Cv = Ct Av = Af*At Av = At Base internal format Texture functions GL_ADD GL_ALPHA Cv = Cf Av = Af*At GL_LUMINANCE Cv = Cf + Lt Av = Af GL_LUMINANCE_ALPHA Cv = Cf + Lt Av = Af*At GL_RGB Cv = Cf + Ct Av = Af GL_RGBA Cv = Cf + Ct Av = Af*At
If pname
is GL_TEXTURE_ENV_COLOR
,
params
is a pointer to an array that holds an RGBA
color consisting of four values. The values are clamped to the
range [0, 1]
when they are specified. Cc
takes these four values.
The initial value of GL_TEXTURE_ENV_MODE
is
GL_MODULATE
. The initial value of
GL_TEXTURE_ENV_COLOR
is (0, 0, 0, 0).
If the value of GL_TEXTURE_ENV_MODE
is
GL_COMBINE
, then the form of the texture function
depends on the values of GL_COMBINE_RGB
and
GL_COMBINE_ALPHA
.
The RGB and ALPHA results of the texture function are then
multiplied by the values of GL_RGB_SCALE
and
GL_ALPHA_SCALE
, respectively.
The results are clamped to [0, 1]
.
The arguments Arg0, Arg1, Arg2 are
determined by the values of GL_SRC
n
_RGB
, GL_SRC
n
_ALPHA
, GL_OPERAND
n
_RGB
, GL_OPERAND
n
_ALPHA
, where n = 0, 1, or 2, Cs and
As denote the texture source color and alpha from the
texture image bound to texture unit n.
The state required for the current texture environment, for
each texture unit, consists of a six-valued integer indicating
the texture function, an eight-valued integer indicating the
RGB combiner function and a six-valued integer indicating the
ALPHA combiner function, six four-valued integers indicating
the combiner RGB and ALPHA source arguments, three four-valued
integers indicating the combiner RGB operands, three two-valued
integers indicating the combiner ALPHA operands, and four
floating-point environment color values. In the initial state,
the texture and combiner functions are each
GL_MODULATE
, the combiner RGB and ALPHA sources
are each GL_TEXTURE
, GL_PREVIOUS
, and
GL_CONSTANT
for sources 0, 1, and 2 respectively,
the combiner RGB operands for sources 0 and 1 are each
SRC_COLOR
, the combiner RGB operand for source 2,
as well as for the combiner ALPHA operands, are each
GL_SRC_ALPHA
, and the environment color is (0, 0, 0, 0).
The state required for the texture filtering parameters, for each texture unit, consists of a single floating-point level of detail bias. The initial value of the bias is 0.0.
If pname
is GL_TEXTURE_ENV_COLOR
,
then params
is an array that holds an RGBA color
consisting of four values. The values are clamped to the range
[0, 1]
when they are specified. Cc takes
these four values.
The initial value of GL_TEXTURE_ENV_MODE
is
GL_MODULATE
. The initial value of
GL_TEXTURE_ENV_COLOR
is (0, 0, 0, 0).
If target
is GL_POINT_SPRITE_OES
then
the following applies:
If pname
is GL_COORD_REPLACE_OES
,
then the point sprite texture coordinate replacement mode is
set from the value given by param, which may either be
GL_FALSE
or GL_TRUE
. The default
value for each texture unit is for point sprite texture
coordinate replacement to be disabled.
GL_INVALID_ENUM
is generated when target or pname
is not one of the accepted values, or when params
should have a defined constant value (based on the value of
pname
) and does not.
glGetTexEnv
target
- Specifies a texture environment. Can be either
GL_TEXTURE_ENV
or
GL_POINT_SPRITE_OES
(
OES_point_sprite
extension).pname
- Specifies the symbolic name of a single-valued
texture environment parameter. Must be one of
GL_TEXTURE_ENV_MODE
,
GL_TEXTURE_ENV_COLOR
(1.1 only),
GL_COMBINE_RGB
(1.1 only),
GL_COMBINE_ALPHA
(1.1 only), or
GL_COORD_REPLACE_OES
(
OES_point_sprite
extension).param
- Specifies a single symbolic constant, one of
GL_REPLACE
, GL_MODULATE
,
GL_DECAL
, GL_BLEND
, or
GL_ADD
(1.1 only).void glTexEnvfv(int target, int pname, float[] params, int offset)
A texture environment specifies how texture values are
interpreted when a fragment is textured. target
must be GL_TEXTURE_ENV
. pname
can be
either GL_TEXTURE_ENV_MODE
or GL_TEXTURE_ENV_COLOR
.
If pname
is GL_TEXTURE_ENV_MODE
, then
params
contains the symbolic name of a texture
function. Four texture functions may be specified:
GL_MODULATE
, GL_DECAL
,
GL_BLEND
, and GL_REPLACE
.
A texture function acts on the fragment to be textured using
the texture image value that applies to the fragment (see
glTexParameter
) and produces an RGBA color for
that fragment. The following table shows how the RGBA color is
produced for each of the three texture functions that can be
chosen. C is a triple of color values (RGB) and A is the
associated alpha value. RGBA values extracted from a texture
image are in the range [0, 1]
. The subscript
f refers to the incoming fragment, the subscript
t to the texture image, the subscript c to the
texture environment color, and subscript v indicates a
value produced by the texture function.
A texture image can have up to four components per texture
element (see glTexImage2D
, and
glCopyTexImage2D
). In a one-component image,
Lt indicates that single component. A two-component
image uses Lt and At. A three-component image has
only a color value, Ct. A four-component image has both
a color value Ct and an alpha value At.
Base internal format Texture functions GL_MODULATE GL_DECAL GL_ALPHA Cv = Cf undefined Av = At Af GL_LUMINANCE Cv = Lt Cf undefined Av = Af GL_LUMINANCE_ALPHA Cv = Lt Cf undefined Av = At Af GL_RGB Cv = Ct Cf Cv = Ct Av = Af Av = Af GL_RGBA Cv = Ct Cf Cv = (1 - At) Cf + At Ct Av = At Af Av = Af Base internal format Texture functions GL_BLEND GL_REPLACE GL_ALPHA Cv = Cf Cv = Cf Av = At Af Av = At GL_LUMINANCE Cv = (1 - Lt) Cf + Lt Cc Cv = Lt Av = Af Av = Af GL_LUMINANCE_ALPHA Cv = (1 - Lt) Cf + Lt Cc Cv = Lt Av = At Af Av = At GL_RGB Cv = (1 - Ct) Cf + Ct Cc Cv = Ct Av = Af Av = Af GL_RGBA Cv = (1 - Ct) Cf + Ct Cc Cv = Ct Av = At Af Av = At
If pname
is GL_TEXTURE_ENV_COLOR
,
params
holds an RGBA color consisting of four
values. The values are clamped to the range [0, 1]
when they are specified. Cc takes these four values.
The initial value of GL_TEXTURE_ENV_MODE
is
GL_MODULATE
. The initial value of
GL_TEXTURE_ENV_COLOR
is (0, 0, 0, 0).
GL_INVALID_ENUM
is generated when target or pname
is not one of the accepted values, or when params
should have a defined constant value (based on the value of
pname
) and does not.
target
- Specifies a texture environment. Must be GL_TEXTURE_ENV
.pname
- Specifies the symbolic name of a texture
environment parameter. Accepted values are
GL_TEXTURE_ENV_MODE
and GL_TEXTURE_ENV_COLOR
.params
- Specifies a parameter array that contains either
a single symbolic constant or an RGBA color.offset
- the starting offset within the params
array.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length - offset
is smaller than the number of values required by the parameter.void glTexEnvfv(int target, int pname, FloatBuffer params)
Buffer
version of glTexEnv
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glTexEnvfv(int, int, float[], int)
void glTexEnvx(int target, int pname, int param)
glTexEnv
.
GL10.glTexEnvf(int, int, float)
void glTexEnvxv(int target, int pname, int[] params, int offset)
glTexEnv
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if offset
is less than 0.
IllegalArgumentException
- if params.length -
offset
is smaller than the number of values required by the parameter.GL10.glTexEnvfv(int, int, float[], int)
void glTexEnvxv(int target, int pname, IntBuffer params)
Buffer
version of glTexEnv
.
IllegalArgumentException
- if params
is null
.
IllegalArgumentException
- if params.remaining()
is smaller than the
number of values required by the parameter.GL10.glTexEnvfv(int, int, float[], int)
void glTexImage2D(int target, int level, int internalformat, int width, int height, int border, int format, int type, Buffer pixels)
Texturing maps a portion of a specified texture image onto each
graphical primitive for which texturing is enabled. To enable
and disable two-dimensional texturing, call
glEnable
and glDisable with argument
GL_TEXTURE_2D
. Two-dimensional texturing is
initially disabled.
To define texture images, call glTexImage2D
. The
arguments describe the parameters of the texture image, such as
height, width, width of the border, level-of-detail number (see
glTexParameter), and number of color components provided. The
last three arguments describe how the image is represented in
memory.
Data is read from pixels as a sequence of unsigned bytes or shorts, depending on type. These values are grouped into sets of one, two, three, or four values, depending on format, to form elements.
When type is GL_UNSIGNED_BYTE
, each of these bytes
is interpreted as one color component, depending on format.
When type is one of GL_UNSIGNED_SHORT_5_6_5
,
GL_UNSIGNED_SHORT_4_4_4_4
,
GL_UNSIGNED_SHORT_5_5_5_1
, each unsigned value is
interpreted as containing all the components for a single
pixel, with the color components arranged according to format.
The first element corresponds to the lower left corner of the texture image. Subsequent elements progress left-to-right through the remaining texels in the lowest row of the texture image, and then in successively higher rows of the texture image. The final element corresponds to the upper right corner of the texture image.
By default, adjacent pixels are taken from adjacent memory
locations, except that after all width pixels are read, the
read pointer is advanced to the next four-byte boundary. The
four-byte row alignment is specified by
glPixelStore
with argument
GL_UNPACK_ALIGNMENT
, and it can be set to one,
two, four, or eight bytes.
format determines the composition of each element in pixels. It can assume one of the following symbolic values:
GL_ALPHA
Each element is a single alpha component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for red, green, and blue.
GL_RGB
Each element is an RGB triple. The GL converts it to fixed-point or floating-point and assembles it into an RGBA element by attaching 1 for alpha.
GL_RGBA
Each element contains all four components. The GL converts it to fixed-point or floating-point.
GL_LUMINANCE
Each element is a single luminance value. The GL converts it to fixed-point or floating-point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue and attaching 1 for alpha.
GL_LUMINANCE_ALPHA
Each element is a luminance/alpha pair. The GL converts it to fixed-point or floating point, then assembles it into an RGBA element by replicating the luminance value three times for red, green, and blue.
pixels may be NULL. In this case texture memory is allocated to accommodate a texture of width width and height height. You can then download subtextures to initialize this texture memory. The image is undefined if the user tries to apply an uninitialized portion of the texture image to a primitive.
glTexImage2D
specifies the two-dimensional texture
for the currently bound texture specified with
glBindTexture
, and the current texture unit,
specified with glActiveTexture
.
GL_INVALID_ENUM
is generated if target is not
GL_TEXTURE_2D
.
GL_INVALID_ENUM
is generated if format is not an
accepted constant.
GL_INVALID_ENUM
is generated if type is not a type constant.
GL_INVALID_VALUE
is generated if level is less than 0.
GL_INVALID_VALUE
may be generated if level is
greater than log2max, where max is the returned value of
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if internalformat is
not an accepted constant.
GL_INVALID_VALUE
is generated if width or height
is less than 0 or greater than GL_MAX_TEXTURE_SIZE
.
Some implementations require height and width to be
2^k + 2*border for some integer k.
GL_INVALID_VALUE
is generated if border is not 0.
GL_INVALID_OPERATION
is generated if
internalformat and format are not the same.
GL_INVALID_OPERATION
is generated if type is
GL_UNSIGNED_SHORT_5_6_5
and format is not
GL_RGB
.
GL_INVALID_OPERATION
is generated if type is one of
GL_UNSIGNED_SHORT_4_4_4_4
, or
GL_UNSIGNED_SHORT_5_5_5_1
and formatis not
GL_RGBA
.
glGetIntegerv
with argument
GL_MAX_TEXTURE_SIZE
target
- Specifies the target texture. Must be GL_TEXTURE_2D
.level
- Specifies the level-of-detail number. Level 0 is
the base image level. Level n is the nth mipmap
reduction image. Must be greater or equal 0.internalformat
- Specifies the color components in the
texture. Must be same as format. The following
symbolic values are accepted: GL_ALPHA
,
GL_RGB
, GL_RGBA
,
GL_LUMINANCE
, or
GL_LUMINANCE_ALPHA
.width
- Specifies the width of the texture image.
Some implementations require height and width to be
2^n + 2*border for some integer n. All
implementations support texture images that are at
least 64 texels wide.height
- Specifies the height of the texture image.
Some implementations require height and width to
be 2^m + 2*border for some integer m. All
implementations support texture images that are at
least 64 texels high.border
- Specifies the width of the border. Must be 0.format
- Specifies the format of the pixel data. Must be
same as internalformat. The following symbolic
values are accepted: GL_ALPHA
,
GL_RGB
, GL_RGBA
,
GL_LUMINANCE
, and
GL_LUMINANCE_ALPHA
.type
- Specifies the data type of the pixel data. The
following symbolic values are accepted:
GL_UNSIGNED_BYTE
,
GL_UNSIGNED_SHORT_5_6_5
,
GL_UNSIGNED_SHORT_4_4_4_4
, and
GL_UNSIGNED_SHORT_5_5_5_1
.pixels
- Specifies a pointer to the image data in memory.
IllegalArgumentException
- if pixels
is null
.
IllegalArgumentException
- if pixels
does not contain
the desired number of pixels.void glTexParameterf(int target, int pname, float param)
Texture mapping is a technique that applies an image onto an object's surface as if the image were a decal or cellophane shrink-wrap. The image is created in texture space, with an (s, t) coordinate system. A texture is a one- or two-dimensional image and a set of parameters that determine how samples are derived from the image.
glTexParameter
assigns the value or values in
param
to the texture parameter specified as
pname
. target
defines the target
texture, which must be GL_TEXTURE_2D
. The
following symbols are accepted in pname
:
GL_TEXTURE_MIN_FILTER
The texture minifying function is used whenever the pixel being textured maps to an area greater than one texture element. There are six defined minifying functions. Two of them use the nearest one or nearest four texture elements to compute the texture value. The other four use mipmaps.
A mipmap is an ordered set of arrays representing the same
image at progressively lower resolutions. If the texture has
dimensions 2^n × 2^m, there are max (n, m) + 1 mipmaps. The
first mipmap is the original texture, with dimensions 2^n × 2^m.
Each subsequent mipmap has dimensions 2^(k - 1) × 2^(l - 1),
where 2^k × 2^l are the dimensions of the previous mipmap,
until either k = 0 or l = 0. At that point, subsequent mipmaps
have dimension 1 × 2^(l - 1) or 2^(k - 1) × 1 until the final
mipmap, which has dimension 1 × 1. To define the mipmaps, call
glTexImage2D
or glCopyTexImage2D with the level
argument indicating the order of the mipmaps. Level 0 is the
original texture. Level max (n, m) is the final 1 × 1 mipmap.
param
supplies a function for minifying the
texture as one of the following:
GL_NEAREST
Returns the value of the texture element that is nearest (in Manhattan distance) to the center of the pixel being textured.
GL_LINEAR
Returns the weighted average of the four texture elements that
are closest to the center of the pixel being textured. These
can include border texture elements, depending on the values of
GL_TEXTURE_WRAP_S
and
GL_TEXTURE_WRAP_T
, and on the exact mapping.
GL_NEAREST_MIPMAP_NEAREST
Chooses the mipmap that most closely matches the size of the
pixel being textured and uses the GL_NEAREST
criterion (the texture element nearest to the center of the
pixel) to produce a texture value.
GL_LINEAR_MIPMAP_NEAREST
Chooses the mipmap that most closely matches the size of the
pixel being textured and uses the GL_LINEAR
criterion (a weighted average of the four texture elements that
are closest to the center of the pixel) to produce a texture
value.
GL_NEAREST_MIPMAP_LINEAR
Chooses the two mipmaps that most closely match the size of the
pixel being textured and uses the GL_NEAREST
criterion (the texture element nearest to the center of the
pixel) to produce a texture value from each mipmap. The final
texture value is a weighted average of those two values.
GL_LINEAR_MIPMAP_LINEAR
Chooses the two mipmaps that most closely match the size of the
pixel being textured and uses the GL_LINEAR
criterion (a weighted average of the four texture elements that
are closest to the center of the pixel) to produce a texture
value from each mipmap. The final texture value is a weighted
average of those two values.
As more texture elements are sampled in the minification
process, fewer aliasing artifacts will be apparent. While the
GL_NEAREST
and GL_LINEAR
minification
functions can be faster than the other four, they sample only
one or four texture elements to determine the texture value of
the pixel being rendered and can produce moire patterns or
ragged transitions.
The initial value of GL_TEXTURE_MIN_FILTER
is
GL_NEAREST_MIPMAP_LINEAR
.
GL_TEXTURE_MAG_FILTER
The texture magnification function is used when the pixel being
textured maps to an area less than or equal to one texture
element. It sets the texture magnification function to either
GL_NEAREST
or GL_LINEAR
(see below).
GL_NEAREST
is generally faster than
GL_LINEAR
, but it can produce textured images with
sharper edges because the transition between texture elements
is not as smooth.
The initial value of GL_TEXTURE_MAG_FILTER
is
GL_LINEAR
.
GL_NEAREST
Returns the value of the texture element that is nearest (in Manhattan distance) to the center of the pixel being textured.
GL_LINEAR
Returns the weighted average of the four texture elements that
are closest to the center of the pixel being textured. These
can include border texture elements, depending on the values of
GL_TEXTURE_WRAP_S
and
GL_TEXTURE_WRAP_T
, and on the exact mapping.
GL_TEXTURE_WRAP_S
Sets the wrap parameter for texture coordinate s to
either GL_CLAMP
, GL_CLAMP_TO_EDGE
, or
GL_REPEAT
, or GL_MIRRORED_REPEAT
(OES_texture_mirrored_repeat
extension).
GL_CLAMP
causes s coordinates to be clamped
to the range [0, 1]
and is useful for preventing
wrapping artifacts when mapping a single image onto an object.
GL_CLAMP_TO_EDGE
causes s coordinates to be
clamped to the range [1/(2N), 1 -
1/(2N)]
, where N is the size of the
texture in the direction of clamping. GL_REPEAT
causes the integer part of the s coordinate to be
ignored; the GL uses only the fractional part, thereby creating
a repeating pattern. Border texture elements are accessed only
if wrapping is set to GL_CLAMP
.
Initially, GL_TEXTURE_WRAP_S
is set to
GL_REPEAT
.
GL_TEXTURE_WRAP_T
Sets the wrap parameter for texture coordinate t to
either GL_CLAMP
, GL_CLAMP_TO_EDGE
, or
GL_REPEAT
. See
the discussion under GL_TEXTURE_WRAP_S
.
Initially, GL_TEXTURE_WRAP_T
is set to
GL_REPEAT
.
GL_GENERATE_MIPMAP
(1.1 only)
Sets the automatic mipmap generation parameter. If set to
GL_TRUE
, making any change to the interior or
border texels of the levelbase array of a mipmap will also
compute a complete set of mipmap arrays derived from the
modified levelbase array. Array levels levelbase + 1
through p are replaced with the derived arrays,
regardless of their previous contents. All other mipmap arrays,
including the levelbase array, are left unchanged by this
computation.
The initial value of GL_GENERATE_MIPMAP
is
GL_FALSE
.
Suppose that a program has enabled texturing (by calling
glEnable with argument GL_TEXTURE_2D
and has set
GL_TEXTURE_MIN_FILTER
to one of the functions that
requires a mipmap. If either the dimensions of the texture
images currently defined (with previous calls to
glTexImage2D
, or glCopyTexImage2D) do not follow
the proper sequence for mipmaps (described above), or there are
fewer texture images defined than are needed, or the set of
texture images have differing numbers of texture components,
then it is as if texture mapping were disabled.
Linear filtering accesses the four nearest texture elements.
glTexParameter
specifies the texture parameters
for the active texture unit, specified by calling
glActiveTexture
.
GL_INVALID_ENUM
is generated if target or pname is
not one of the accepted defined values.
GL_INVALID_ENUM
is generated if param should have
a defined constant value (based on the value of pname) and does not.
target
- Specifies the target texture, which must be
GL_TEXTURE_2D
.pname
- Specifies the symbolic name of a single-valued
texture parameter. pname
can be one of
the following: GL_TEXTURE_MIN_FILTER
,
GL_TEXTURE_MAG_FILTER
,
GL_TEXTURE_WRAP_S
,
GL_TEXTURE_WRAP_T
, or
GL_GENERATE_MIPMAP
(1.1 only), or
GL_TEXTURE_CROP_RECT_OES
(
OES_draw_texture
extension).param
- Specifies the value of pname
.void glTexParameterx(int target, int pname, int param)
glTexParameter
.
GL10.glTexParameterf(int, int, float)
void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, Buffer pixels)
Texturing maps a portion of a specified texture image onto each
graphical primitive for which texturing is enabled. To enable
and disable two-dimensional texturing, call
glEnable
and glDisable with argument
GL_TEXTURE_2D
. Two-dimensional texturing is
initially disabled.
glTexSubImage2D
redefines a contiguous subregion
of an existing two-dimensional texture image. The texels
referenced by pixels replace the portion of the existing
texture array with x indices xoffset and xoffset + width - 1,
inclusive, and y indices yoffset and yoffset + height - 1,
inclusive. This region may not include any texels outside the
range of the texture array as it was originally specified. It
is not an error to specify a subtexture with zero width or
height, but such a specification has no effect.
glPixelStore
affects texture images in exactly the
way it affects glTexImage2D
.
glTexSubImage2D
specifies a two-dimensional sub
texture for the currently bound texture, specified with
glBindTexture
and current texture unit, specified
with glActiveTexture
.
GL_INVALID_ENUM
is generated if target is not
GL_TEXTURE_2D
.
GL_INVALID_OPERATION
is generated if the texture
array has not been defined by a previous
glTexImage2D
or glCopyTexImage2D operation.
GL_INVALID_VALUE
is generated if level is less than 0.
GL_INVALID_VALUE
may be generated if level is
greater than log2max, where max is the returned value of
GL_MAX_TEXTURE_SIZE
.
GL_INVALID_VALUE
is generated if xoffset < - b,
xoffset + width > (w - b) , yoffset < - b, or yoffset + height > (h - b) ,
where w is the texture width, h is the texture
height, and b is the border of the texture image being
modified. Note that w and h include twice the border width.
GL_INVALID_VALUE
is generated if width or height is less than 0.
GL_INVALID_ENUM
is generated if format is not an accepted constant.
GL_INVALID_ENUM
is generated if type is not a type constant.
GL_INVALID_OPERATION
is generated if type is
GL_UNSIGNED_SHORT_5_6_5
and format is not
GL_RGB
.
GL_INVALID_OPERATION
is generated if type is one
of GL_UNSIGNED_SHORT_4_4_4_4
, or
GL_UNSIGNED_SHORT_5_5_5_1
and format is not
GL_RGBA
.
glGetIntegerv
with argument
GL_MAX_TEXTURE_SIZE
target
- Specifies the target texture. Must be GL_TEXTURE_2D
.level
- Specifies the level-of-detail number. Level 0 is
the base image level. Level n is the nth mipmap reduction image.xoffset
- Specifies a texel offset in the x direction within the texture array.yoffset
- Specifies a texel offset in the y direction within the texture array.width
- Specifies the width of the texture subimage.height
- Specifies the height of the texture subimage.format
- Specifies the of the pixel data. The following
symbolic values are accepted: GL_ALPHA
,
GL_RGB
, GL_RGBA
,
GL_LUMINANCE
, and
GL_LUMINANCE_ALPHA
.type
- Specifies the data type of the pixel data.
The following symbolic values are accepted:
GL_UNSIGNED_BYTE
,
GL_UNSIGNED_SHORT_5_6_5
,
GL_UNSIGNED_SHORT_4_4_4_4
, and
GL_UNSIGNED_SHORT_5_5_5_1
.pixels
- Specifies the image data.
IllegalArgumentException
- if pixels
is null
.
IllegalArgumentException
- if
pixels
does not contain the desired number of pixels.void glTranslatef(float x, float y, float z)
glTranslate
produces a translation by (x, y, z).
The current matrix (see glMatrixMode) is multiplied by this
translation matrix, with the product replacing the current
matrix, as if glMultMatrix
were called with the
following matrix for its argument:
( 1 0 0 x ) ( 0 1 0 y ) ( 0 0 1 z ) ( 0 0 0 1 )
If the matrix mode is either GL_MODELVIEW
or
GL_PROJECTION
, all objects drawn after a call to
glTranslate
are translated.
Use glPushMatrix
and glPopMatrix
to
save and restore the untranslated coordinate system.
x
- Specifies the x coordinate of a translation vector.y
- Specifies the y coordinate of a translation vector.z
- Specifies the z coordinate of a translation vector.void glTranslatex(int x, int y, int z)
glTranslate
.
GL10.glTranslatef(float, float, float)
void glVertexPointer(int size, int type, int stride, Buffer pointer)
glVertexPointer
specifies the location and data of
an array of vertex coordinates to use when rendering.
size
specifies the number of coordinates per
vertex and type the data type of the coordinates.
stride
specifies the byte stride from one vertex
to the next allowing vertices and attributes to be packed into
a single array or stored in separate arrays. (Single-array
storage may be more efficient on some implementations.)
When a vertex array is specified, size
,
type
, stride
, and
pointer
are saved as client-side state.
If the vertex array is enabled, it is used when
glDrawArrays
, or glDrawElements
is
called. To enable and disable the vertex array, call
glEnableClientState
and
glDisableClientState
with the argument
GL_VERTEX_ARRAY
. The vertex array is initially
disabled and isn't accessed when glDrawArrays
or
glDrawElements
is called.
Use glDrawArrays
to construct a sequence of
primitives (all of the same type) from prespecified vertex and
vertex attribute arrays. Use glDrawElements
to
construct a sequence of primitives by indexing vertices and
vertex attributes.
glVertexPointer
is typically implemented on the client side.
GL_INVALID_VALUE
is generated if size is not 2, 3, or 4.
GL_INVALID_ENUM
is generated if type is is not an accepted value.
GL_INVALID_VALUE
is generated if stride is negative.
The pointer
argument must be a direct buffer with
a type matching that specified by the type
argument.
size
- Specifies the number of coordinates per vertex.
Must be 2, 3, or 4. The initial value is 4.type
- Specifies the data type of each vertex coordinate
in the array. Symbolic constants
GL_BYTE
, GL_SHORT
,
GL_FIXED
, and GL_FLOAT
are
accepted. The initial value is GL_FLOAT
.stride
- Specifies the byte offset between consecutive
vertices. If stride is 0, the vertices are
understood to be tightly packed in the array. The initial value is 0.pointer
- Specifies a Buffer containing the coordinates of the vertices.
IllegalStateException
- if OpenGL ES 1.1 is being used and VBOs are enabled.
IllegalArgumentException
- if pointer
is not direct.void glViewport(int x, int y, int width, int height)
glViewport
specifies the affine transformation of
x and y from normalized device coordinates to window
coordinates. Let (xnd, ynd) be normalized device coordinates.
Then the window coordinates (xw, yw) are computed as follows:
xw = ( xnd + 1 ) width/2 + x yw = ( ynd + 1 ) height/2 + y
Viewport width and height are silently clamped to a range that
depends on the implementation. To query this range, call
glGetIntegerv
with argument GL_MAX_VIEWPORT_DIMS
.
GL_INVALID_VALUE
is generated if either width or height is negative.
glGetIntegerv
with argument
GL_MAX_VIEWPORT_DIMS
x
- Specifies the x coordinate of the lower left corner of
the viewport rectangle, in pixels. The initial value is 0.y
- Specifies the y coordinate of the lower left corner of
the viewport rectangle, in pixels. The initial value is 0.width
- Specifies the width of the viewport. When a GL
context is first attached to a surface (e.g. window),
width and height are set to the dimensions of that surface.height
- Specifies the height of the viewport. When a GL
context is first attached to a surface (e.g. window),
width and height are set to the dimensions of that surface.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal