Gambas Documentation
Aperçu du Langage
À traduire
Code Snippets
Comment faire ...
Compilation et installation
Composants
gb
gb.args
gb.cairo
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.mdi
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gui
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.libxml
gb.media
gb.mysql
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
Gl
Accum
ACCUM_
ACCUM_ALPHA_BITS
ACCUM_BLUE_BITS
ACCUM_BUFFER_BIT
ACCUM_CLEAR_VALUE
ACCUM_GREEN_BITS
ACCUM_RED_BITS
ActiveTexture
ADD
ADD_SIGNED_ARB
ALL_ATTRIB_BITS
ALPHA
ALPHA_BIAS
ALPHA_BITS
ALPHA_SCALE
ALPHA_TEST
ALPHA_TEST_FUNC
ALPHA_TEST_REF
AlphaFunc
ALWAYS
AMBIENT
AMBIENT_AND_DIFFUSE
AND
AND_INVERTED
AND_REVERSE
ATTRIB_STACK_DEPTH
AUTO_NORMAL
AUX0
AUX1
AUX2
AUX3
AUX_BUFFERS
BACK
BACK_LEFT
BACK_RIGHT
Begin
BindFramebufferEXT
BindRenderbufferEXT
BindTexture
BITMAP_
BITMAP_TOKEN
BLEND
BLEND_DST
BLEND_SRC
BlendFunc
BLUE
BLUE_BIAS
BLUE_BITS
BLUE_SCALE
CallList
CallLists
CCW
CheckExtensions
CLAMP
Clear
CLEAR_
ClearAccum
ClearColor
ClearDepth
ClearIndex
ClearStencil
CLIENT_ATTRIB_STACK_DEPTH
CLIP_PLANE0
CLIP_PLANE1
CLIP_PLANE2
CLIP_PLANE3
CLIP_PLANE4
CLIP_PLANE5
ClipPlane
COEFF
COLOR
Color3f
Color3i
Color4f
Color4i
COLOR_ATTACHMENT0_EXT
COLOR_ATTACHMENT1_EXT
COLOR_ATTACHMENT2_EXT
COLOR_ATTACHMENT3_EXT
COLOR_ATTACHMENT4_EXT
COLOR_ATTACHMENT5_EXT
COLOR_ATTACHMENT6_EXT
COLOR_ATTACHMENT7_EXT
COLOR_ATTACHMENT8_EXT
COLOR_ATTACHMENT9_EXT
COLOR_ATTACHMENT10_EXT
COLOR_ATTACHMENT11_EXT
COLOR_ATTACHMENT12_EXT
COLOR_ATTACHMENT13_EXT
COLOR_ATTACHMENT14_EXT
COLOR_ATTACHMENT15_EXT
COLOR_BUFFER_BIT
COLOR_CLEAR_VALUE
COLOR_INDEX
COLOR_INDEXES
COLOR_LOGIC_OP
COLOR_MATERIAL
COLOR_MATERIAL_FACE
COLOR_MATERIAL_PARAMETER
COLOR_WRITEMASK
Colorf
Colorfv
Colori
Coloriv
ColorMask
ColorMaterial
COMBINE
COMBINE_ALPHA
COMBINE_ALPHA_ARB
COMBINE_ALPHA_EXT
COMBINE_ARB
COMBINE_EXT
COMBINE_RGB
COMBINE_RGB_ARB
COMBINE_RGB_EXT
COMPILE
COMPILE_AND_EXECUTE
CONSTANT_ARB
CONSTANT_ATTENUATION
COPY
COPY_INVERTED
COPY_PIXEL_TOKEN
CopyPixels
CopyTexImage1D
CULL_FACE
CULL_FACE_MODE
CullFace
CURRENT_BIT
CURRENT_COLOR
CURRENT_INDEX
CURRENT_NORMAL
CURRENT_RASTER_COLOR
CURRENT_RASTER_DISTANCE
CURRENT_RASTER_INDEX
CURRENT_RASTER_POSITION
CURRENT_RASTER_POSITION_VALID
CURRENT_RASTER_TEXTURE_COORDS
CURRENT_TEXTURE_COORDS
CW
DECAL
DECR
DeleteFramebuffersEXT
DeleteLists
DeleteRenderbuffersEXT
DeleteTextures
DEPTH
DEPTH_ATTACHMENT_EXT
DEPTH_BIAS
DEPTH_BITS
DEPTH_BUFFER_BIT
DEPTH_CLEAR_VALUE
DEPTH_COMPONENT
DEPTH_FUNC
DEPTH_RANGE
DEPTH_SCALE
DEPTH_TEST
DEPTH_WRITEMASK
DepthFunc
DepthMask
DepthRange
DIFFUSE
Disable
DITHER
DOMAIN
DONT_CARE
DOUBLEBUFFER
DRAW_BUFFER
DRAW_PIXEL_TOKEN
DrawBuffer
DST_ALPHA
DST_COLOR
EDGE_FLAG
EdgeFlag
EMISSION
Enable
ENABLE_BIT
End
EndList
EQUAL
EQUIV
Finish
Flush
FOG
FOG_MODE
FOG_START
FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT
FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT
FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT
FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT
FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT
FRAMEBUFFER_BINDING_EXT
FRAMEBUFFER_COMPLETE_EXT
FRAMEBUFFER_EXT
FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT
FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT
FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
FRAMEBUFFER_INCOMPLETE_FORMATS_EXT
FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT
FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT
FRAMEBUFFER_UNSUPPORTED_EXT
FRONT
FRONT_AND_BACK
FRONT_FACE
FRONT_LEFT
FRONT_RIGHT
FrontFace
Frustum
GenLists
GenTextures
GEQUAL
GetClipPlane
GetError
GetFloatv
GetRenderbufferParameterivEXT
GREATER
GREEN
GREEN_BIAS
GREEN_BITS
GREEN_SCALE
Hint
HINT_BIT
INCR
INDEX_BITS
INDEX_CLEAR_VALUE
INDEX_LOGIC_OP
INDEX_MODE
INDEX_OFFSET
INDEX_SHIFT
INDEX_WRITEMASK
INTERPOLATE_ARB
INVALID_ENUM
INVALID_FRAMEBUFFER_OPERATION_EXT
INVALID_OPERATION
INVALID_VALUE
INVERT
IsEnabled
IsFramebufferEXT
IsList
IsTexture
KEEP
LEFT
LEQUAL
LESS
LIGHT0
LIGHT1
LIGHT2
LIGHT3
LIGHT4
LIGHT5
LIGHT6
LIGHT7
LIGHT_MODEL_AMBIENT
LIGHT_MODEL_LOCAL_VIEWER
LIGHT_MODEL_TWO_SIDE
LIGHTING
LIGHTING_BIT
LINE
LINE_BIT
LINE_LOOP
LINE_RESET_TOKEN
LINE_SMOOTH
LINE_SMOOTH_HINT
LINE_STIPPLE
LINE_STIPPLE_PATTERN
LINE_STIPPLE_REPEAT
LINE_STRIP
LINE_TOKEN
LINE_WIDTH
LINEAR
LINEAR_ATTENUATION
LINEAR_MIPMAP_LINEAR
LINEAR_MIPMAP_NEAREST
LINES
LineWidth
LIST_BASE
LIST_BIT
LIST_INDEX
LIST_MODE
ListBase
LOAD
LoadIdentity
LoadMatrixf
LoadName
LOGIC_OP
LOGIC_OP_MODE
LUMINANCE
LUMINANCE_ALPHA
MAP1_COLOR_4
MAP1_GRID_DOMAIN
MAP1_GRID_SEGMENTS
MAP1_INDEX
MAP1_NORMAL
MAP1_TEXTURE_COORD_1
MAP1_TEXTURE_COORD_2
MAP1_TEXTURE_COORD_3
MAP1_TEXTURE_COORD_4
MAP1_VERTEX_3
MAP1_VERTEX_4
MAP2_COLOR_4
MAP2_GRID_DOMAIN
MAP2_GRID_SEGMENTS
MAP2_INDEX
MAP2_NORMAL
MAP2_TEXTURE_COORD_1
MAP2_TEXTURE_COORD_2
MAP2_TEXTURE_COORD_3
MAP2_TEXTURE_COORD_4
MAP2_VERTEX_3
MAP2_VERTEX_4
MAP_COLOR
MAP_STENCIL
MATRIX_MODE
MatrixMode
MAX_ATTRIB_STACK_DEPTH
MAX_CLIENT_ATTRIB_STACK_DEPTH
MAX_CLIP_PLANES
MAX_COLOR_ATTACHMENTS_EXT
MAX_EVAL_ORDER
MAX_LIGHTS
MAX_LIST_NESTING
MAX_MODELVIEW_STACK_DEPTH
MAX_NAME_STACK_DEPTH
MAX_PIXEL_MAP_TABLE
MAX_PROJECTION_STACK_DEPTH
MAX_RECTANGLE_TEXTURE_SIZE_ARB
MAX_RENDERBUFFER_SIZE_EXT
MAX_TEXTURE_SIZE
MAX_TEXTURE_STACK_DEPTH
MAX_VIEWPORT_DIMS
MODELVIEW
MODELVIEW_MATRIX
MODELVIEW_STACK_DEPTH
MODULATE
MULT
NAME_STACK_DEPTH
NAND
NEAREST
NEAREST_MIPMAP_LINEAR
NEAREST_MIPMAP_NEAREST
NEVER
NewList
NICEST
NO_ERROR
NONE
NOOP
NOR
NORMALIZE
NOTEQUAL
OBJECT_LINEAR
OBJECT_PLANE
ONE
ONE_MINUS_DST_ALPHA
ONE_MINUS_DST_COLOR
ONE_MINUS_SRC_ALPHA
ONE_MINUS_SRC_COLOR
OPERAND0_ALPHA_ARB
OPERAND0_RGB_ARB
OPERAND1_ALPHA_ARB
OPERAND1_RGB_ARB
OPERAND2_ALPHA_ARB
OPERAND2_RGB_ARB
OR
OR_INVERTED
OR_REVERSE
ORDER
Ortho
OUT_OF_MEMORY
PACK_ALIGNMENT
PACK_LSB_FIRST
PACK_ROW_LENGTH
PACK_SKIP_PIXELS
PACK_SKIP_ROWS
PACK_SWAP_BYTES
PASS_THROUGH_TOKEN
PERSPECTIVE_CORRECTION_HINT
PIXEL_MAP_A_TO_A
PIXEL_MAP_A_TO_A_SIZE
PIXEL_MAP_B_TO_B
PIXEL_MAP_B_TO_B_SIZE
PIXEL_MAP_G_TO_G
PIXEL_MAP_G_TO_G_SIZE
PIXEL_MAP_I_TO_A
PIXEL_MAP_I_TO_A_SIZE
PIXEL_MAP_I_TO_B
PIXEL_MAP_I_TO_B_SIZE
PIXEL_MAP_I_TO_G
PIXEL_MAP_I_TO_G_SIZE
PIXEL_MAP_I_TO_I
PIXEL_MAP_I_TO_I_SIZE
PIXEL_MAP_I_TO_R
PIXEL_MAP_I_TO_R_SIZE
PIXEL_MAP_R_TO_R
PIXEL_MAP_R_TO_R_SIZE
PIXEL_MAP_S_TO_S
PIXEL_MAP_S_TO_S_SIZE
PIXEL_MODE_BIT
POINT
POINT_BIT
POINT_SIZE
POINT_SMOOTH
POINT_SMOOTH_HINT
POINT_TOKEN
POINTS
POLYGON
POLYGON_BIT
POLYGON_MODE
POLYGON_OFFSET_FACTOR
POLYGON_OFFSET_FILL
POLYGON_OFFSET_LINE
POLYGON_OFFSET_POINT
POLYGON_OFFSET_UNITS
POLYGON_SMOOTH
POLYGON_SMOOTH_HINT
POLYGON_STIPPLE
POLYGON_STIPPLE_BIT
POLYGON_TOKEN
PolygonMode
PopMatrix
POSITION
PREVIOUS_ARB
PRIMARY_COLOR_ARB
PROJECTION
PROJECTION_MATRIX
PROJECTION_STACK_DEPTH
PROXY_TEXTURE_RECTANGLE_ARB
PushMatrix
PushName
Q
QUAD_STRIP
QUADRATIC_ATTENUATION
QUADS
R
READ_BUFFER
RED
RED_BIAS
RED_BITS
RED_SCALE
RENDER
RENDER_MODE
RENDERBUFFER_ALPHA_SIZE_EXT
RENDERBUFFER_BINDING_EXT
RENDERBUFFER_BLUE_SIZE_EXT
RENDERBUFFER_DEPTH_SIZE_EXT
RENDERBUFFER_EXT
RENDERBUFFER_GREEN_SIZE_EXT
RENDERBUFFER_HEIGHT_EXT
RENDERBUFFER_INTERNAL_FORMAT_EXT
RENDERBUFFER_RED_SIZE_EXT
RENDERBUFFER_STENCIL_SIZE_EXT
RENDERBUFFER_WIDTH_EXT
RenderbufferStorageEXT
RENDERER
RenderMode
REPEAT
REPLACE
RETURN
RGB
RGB_SCALE_ARB
RGBA
RGBA_MODE
RIGHT
Rotatef
S
SAMPLER_2D_RECT_ARB
SAMPLER_2D_RECT_SHADOW_ARB
SCISSOR_BIT
SCISSOR_BOX
SCISSOR_TEST
SELECT
SELECTION_BUFFER_POINTER
SELECTION_BUFFER_SIZE
SET
SHADE_MODEL
SHADING_LANGUAGE_VERSION
SHININESS
SMOOTH
SMOOTH_LINE_WIDTH_GRANULARITY
SMOOTH_LINE_WIDTH_RANGE
SMOOTH_POINT_SIZE_GRANULARITY
SMOOTH_POINT_SIZE_RANGE
SOURCE0_ALPHA_ARB
SOURCE0_RGB_ARB
SOURCE1_ALPHA_ARB
SOURCE1_RGB_ARB
SOURCE2_ALPHA_ARB
SOURCE2_RGB_ARB
SPECULAR
SPHERE_MAP
SPOT_CUTTOFF
SPOT_DIRECTION
SPOT_EXPONENT
SRC_ALPHA
SRC_ALPHA_SATURATE
SRC_COLOR
STACK_OVERFLOW
STACK_UNDERFLOW
STENCIL
STENCIL_ATTACHMENT_EXT
STENCIL_BITS
STENCIL_BUFFER_BIT
STENCIL_CLEAR_VALUE
STENCIL_FAIL
STENCIL_FUNC
STENCIL_INDEX
STENCIL_INDEX1_EXT
STENCIL_INDEX4_EXT
STENCIL_INDEX8_EXT
STENCIL_INDEX16_EXT
STENCIL_PASS_DEPTH_FAIL
STENCIL_PASS_DEPTH_PASS
STENCIL_REF
STENCIL_TEST
STENCIL_VALUE_MASK
STENCIL_WRITEMASK
StencilFunc
StencilMask
STEREO
SUBPIXEL_BITS
SUBTRACT_ARB
T
TEXTURE
TEXTURE0_ARB
TEXTURE1_ARB
TEXTURE2_ARB
TEXTURE3_ARB
TEXTURE4_ARB
TEXTURE_1D
TEXTURE_2D
TEXTURE_ALPHA_SIZE
TEXTURE_BINDING_RECTANGLE_ARB
TEXTURE_BIT
TEXTURE_BLUE_SIZE
TEXTURE_BORDER
TEXTURE_BORDER_COLOR
TEXTURE_COMPONENTS
TEXTURE_ENV
TEXTURE_ENV_COLOR
TEXTURE_ENV_MODE
TEXTURE_GEN_MODE
TEXTURE_GEN_Q
TEXTURE_GEN_R
TEXTURE_GEN_S
TEXTURE_GEN_T
TEXTURE_GREEN_SIZE
TEXTURE_HEIGHT
TEXTURE_INTENSITY_SIZE
TEXTURE_LUMINANCE_SIZE
TEXTURE_MAG_FILTER
TEXTURE_MATRIX
TEXTURE_MIN_FILTER
TEXTURE_RECTANGLE_ARB
TEXTURE_RED_SIZE
TEXTURE_STACK_DEPTH
TEXTURE_WIDTH
TEXTURE_WRAP_S
TEXTURE_WRAP_T
TRANSFORM_BIT
TRIANGLE_FAN
TRIANGLE_STRIP
TRIANGLES
UNPACK_ALIGNMENT
UNPACK_LSB_FIRST
UNPACK_ROW_LENGTH
UNPACK_SKIP_PIXELS
UNPACK_SKIP_ROWS
UNPACK_SWAP_BYTES
VENDOR
VERSION
Viewport
VIEWPORT_
VIEWPORT_BIT
XOR
ZERO
ZOOM_X
ZOOM_Y
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.option
gb.pcre
gb.pdf
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt5
gb.qt5.opengl
gb.report
gb.scanner
gb.sdl
gb.sdl.sound
gb.settings
gb.signal
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Derniers changements
Dépôt d'applications
Documentation de l'Environnement de développement
Documentation des développeurs
Documents
Indenter
Index de tous les Documents
Index du langage
Lexique
LISEZ-MOI
Manuel du wiki
Messages d'erreur
Tutoriels
Wiki License

Gl.TexEnvf (gb.opengl)

Static Sub TexEnvf ( Target As Integer, Pname As Integer, Param As Float )

Set texture environment parameters.

Parameters

target

Specifies a texture environment. May be Gl.TEXTURE_ENV, Gl.TEXTURE_FILTER_CONTROL or Gl.POINT_SPRITE.
pname

Specifies the symbolic name of a single-valued texture environment parameter. May be either Gl.TEXTURE_ENV_MODE, Gl.TEXTURE_LOD_BIAS, Gl.COMBINE_RGB, Gl.COMBINE_ALPHA, Gl.SRC0_RGB, Gl.SRC1_RGB, Gl.SRC2_RGB, Gl.SRC0_ALPHA, Gl.SRC1_ALPHA, Gl.SRC2_ALPHA, Gl.OPERAND0_RGB, Gl.OPERAND1_RGB, Gl.OPERAND2_RGB, Gl.OPERAND0_ALPHA, Gl.OPERAND1_ALPHA, Gl.OPERAND2_ALPHA, Gl.RGB_SCALE, Gl.ALPHA_SCALE, or Gl.COORD_REPLACE.
param

Specifies a single symbolic constant, one of Gl.ADD, Gl.ADD_SIGNED, Gl.INTERPOLATE, Gl.MODULATE, Gl.DECAL, Gl.BLEND, Gl.REPLACE, Gl.SUBTRACT, Gl.COMBINE, Gl.TEXTURE, Gl.CONSTANT, Gl.PRIMARY_COLOR, Gl.PREVIOUS, Gl.SRC_COLOR, Gl.ONE_MINUS_SRC_COLOR, Gl.SRC_ALPHA, Gl.ONE_MINUS_SRC_ALPHA, a single boolean value for the point sprite texture coordinate replacement, a single floating-point value for the texture level-of-detail bias, or 1.0, 2.0, or 4.0 when specifying the Gl.RGB_SCALE or Gl.ALPHA_SCALE.

C Specification

void glTexEnvfv(GLenum target,
 GLenum pname,
 const GLfloat params);
 
void glTexEnviv(GLenum target,
 GLenum pname,
 const GLint params);
 

Parameters

target

Specifies a texture environment. May be either Gl.TEXTURE_ENV, or Gl.TEXTURE_FILTER_CONTROL.
pname

Specifies the symbolic name of a texture environment parameter. Accepted values are Gl.TEXTURE_ENV_MODE, Gl.TEXTURE_ENV_COLOR, or Gl.TEXTURE_LOD_BIAS.
params

Specifies a pointer to a parameter array that contains either a single symbolic constant, single floating-point number, or an RGBA color.

Description

A texture environment specifies how texture values are interpreted when a fragment is textured. When target is Gl.TEXTURE_FILTER_CONTROL, pname must be Gl.TEXTURE_LOD_BIAS. When target is Gl.TEXTURE_ENV, pname can be Gl.TEXTURE_ENV_MODE, Gl.TEXTURE_ENV_COLOR, Gl.COMBINE_RGB, Gl.COMBINE_ALPHA, Gl.RGB_SCALE, Gl.ALPHA_SCALE, Gl.SRC0_RGB, Gl.SRC1_RGB, Gl.SRC2_RGB, Gl.SRC0_ALPHA, Gl.SRC1_ALPHA, or Gl.SRC2_ALPHA.

If pname is Gl.TEXTURE_ENV_MODE, then params is (or points to) the symbolic name of a texture function. Six texture functions may be specified: Gl.ADD, Gl.MODULATE, Gl.DECAL, Gl.BLEND, Gl.REPLACE, or Gl.COMBINE.

The following table shows the correspondence of filtered texture values R t, G t, B t, A t, L t, I t to texture source components. C s and A s are used by the texture functions described below.

Texture Base Internal Format C s A s
Gl.ALPHA (0, 0, 0) A t
Gl.LUMINANCE ( L t, L t, L t ) 1
Gl.LUMINANCE_ALPHA ( L t, L t, L t ) A t
Gl.INTENSITY ( I t, I t, I t ) I t
Gl.RGB ( R t, G t, B t ) 1
Gl.RGBA ( R t, G t, B t ) A t

A texture function acts on the fragment to be textured using the texture image value that applies to the fragment (see Gl.TexParameter) and produces an RGBA color for that fragment. The following table shows how the RGBA color is produced for each of the first five 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 /wiki/0,1. The subscript p refers to the color computed from the previous texture stage (or the incoming fragment if processing texture stage 0), the subscript s to the texture source color, the subscript c to the texture environment color, and the subscript v indicates a value produced by the texture function.

Texture Base Internal Format Value Gl.REPLACE Function Gl.MODULATE Function Gl.DECAL Function Gl.BLEND Function Gl.ADD Function
Gl.ALPHA C v C p C p undefined C p C p
A v A s A p A s A v A p A s A p A s
Gl.LUMINANCE C v C s C p C s undefined C p 1 - C s + C c C s C p + C s
(or 1) A v A p A p A p A p
Gl.LUMINANCE_ALPHA C v C s C p C s undefined C p 1 - C s + C c C s C p + C s
(or 2) A v A s A p A s A p A s A p A s
Gl.INTENSITY C v C s C p C s undefined C p 1 - C s + C c C s C p + C s
A v A s A p A s A p 1 - A s + A c A s A p + A s
Gl.RGB C v C s C p C s C s C p 1 - C s + C c C s C p + C s
(or 3) A v A p A p A p A p A p
Gl.RGBA C v C s C p C s C p 1 - A s + C s A s C p 1 - C s + C c C s C p + C s
(or 4) A v A s A p A s A p A p A s A p A s

If pname is Gl.TEXTURE_ENV_MODE, and params is Gl.COMBINE, the form of the texture function depends on the values of Gl.COMBINE_RGB and Gl.COMBINE_ALPHA.

The following describes how the texture sources, as specified by Gl.SRC0_RGB, Gl.SRC1_RGB, Gl.SRC2_RGB, Gl.SRC0_ALPHA, Gl.SRC1_ALPHA, and Gl.SRC2_ALPHA, are combined to produce a final texture color. In the following tables, Gl.SRC0_c is represented by Arg0, Gl.SRC1_c is represented by Arg1, and Gl.SRC2_c is represented by Arg2.

Gl.COMBINE_RGB accepts any of Gl.REPLACE, Gl.MODULATE, Gl.ADD, Gl.ADD_SIGNED, Gl.INTERPOLATE, Gl.SUBTRACT, Gl.DOT3_RGB, or Gl.DOT3_RGBA.

Gl.COMBINE_RGB Texture Function
Gl.REPLACE Arg0
Gl.MODULATE Arg0 × Arg1
Gl.ADD Arg0 + Arg1
Gl.ADD_SIGNED Arg0 + Arg1 - 0.5
Gl.INTERPOLATE Arg0 × Arg2 + Arg1 × 1 - Arg2
Gl.SUBTRACT Arg0 - Arg1
Gl.DOT3_RGB or Gl.DOT3_RGBA 4 × Arg0 r - 0.5 × Arg1 r - 0.5 + Arg0 g - 0.5 × Arg1 g - 0.5 + Arg0 b - 0.5 × Arg1 b - 0.5

The scalar results for Gl.DOT3_RGB and Gl.DOT3_RGBA are placed into each of the 3 (RGB) or 4 (RGBA) components on output.

Likewise, Gl.COMBINE_ALPHA accepts any of Gl.REPLACE, Gl.MODULATE, Gl.ADD, Gl.ADD_SIGNED, Gl.INTERPOLATE, or Gl.SUBTRACT. The following table describes how alpha values are combined:

Gl.COMBINE_ALPHA Texture Function
Gl.REPLACE Arg0
Gl.MODULATE Arg0 × Arg1
Gl.ADD Arg0 + Arg1
Gl.ADD_SIGNED Arg0 + Arg1 - 0.5
Gl.INTERPOLATE Arg0 × Arg2 + Arg1 × 1 - Arg2
Gl.SUBTRACT Arg0 - Arg1

In the following tables, the value C s represents the color sampled from the currently bound texture, C c represents the constant texture-environment color, C f represents the primary color of the incoming fragment, and C p represents the color computed from the previous texture stage or C f if processing texture stage 0. Likewise, A s , A c , A f , and A p represent the respective alpha values.

The following table describes the values assigned to Arg0, Arg1, and Arg2 based upon the RGB sources and operands:

Gl.SRCn_RGB Gl.OPERANDn_RGB Argument Value
Gl.TEXTURE Gl.SRC_COLOR C s
Gl.ONE_MINUS_SRC_COLOR 1 - C s
Gl.SRC_ALPHA A s
Gl.ONE_MINUS_SRC_ALPHA 1 - A s
Gl.TEXTUREn Gl.SRC_COLOR C s
Gl.ONE_MINUS_SRC_COLOR 1 - C s
Gl.SRC_ALPHA A s
Gl.ONE_MINUS_SRC_ALPHA 1 - A s
Gl.CONSTANT Gl.SRC_COLOR C c
Gl.ONE_MINUS_SRC_COLOR 1 - C c
Gl.SRC_ALPHA A c
Gl.ONE_MINUS_SRC_ALPHA 1 - A c
Gl.PRIMARY_COLOR Gl.SRC_COLOR C f
Gl.ONE_MINUS_SRC_COLOR 1 - C f
Gl.SRC_ALPHA A f
Gl.ONE_MINUS_SRC_ALPHA 1 - A f
Gl.PREVIOUS Gl.SRC_COLOR C p
Gl.ONE_MINUS_SRC_COLOR 1 - C p
Gl.SRC_ALPHA A p
Gl.ONE_MINUS_SRC_ALPHA 1 - A p

For Gl.TEXTUREn sources, C s and A s represent the color and alpha, respectively, produced from texture stage n.

The follow table describes the values assigned to Arg0, Arg1, and Arg2 based upon the alpha sources and operands:

Gl.SRCn_ALPHA Gl.OPERANDn_ALPHA Argument Value
Gl.TEXTURE Gl.SRC_ALPHA A s
Gl.ONE_MINUS_SRC_ALPHA 1 - A s
Gl.TEXTUREn Gl.SRC_ALPHA A s
Gl.ONE_MINUS_SRC_ALPHA 1 - A s
Gl.CONSTANT Gl.SRC_ALPHA A c
Gl.ONE_MINUS_SRC_ALPHA 1 - A c
Gl.PRIMARY_COLOR Gl.SRC_ALPHA A f
Gl.ONE_MINUS_SRC_ALPHA 1 - A f
Gl.PREVIOUS Gl.SRC_ALPHA A p
Gl.ONE_MINUS_SRC_ALPHA 1 - A p

The RGB and alpha results of the texture function are multipled by the values of Gl.RGB_SCALE and Gl.ALPHA_SCALE, respectively, and clamped to the range 0 1 .

If pname is Gl.TEXTURE_ENV_COLOR, params is a pointer to an array that holds an RGBA color consisting of four values. Integer color components are interpreted linearly such that the most positive integer maps to 1.0, and the most negative integer maps to -1.0. The values are clamped to the range /wiki/0,1 when they are specified. C c takes these four values.

If pname is Gl.TEXTURE_LOD_BIAS, the value specified is added to the texture level-of-detail parameter, that selects which mipmap, or mipmaps depending upon the selected Gl.TEXTURE_MIN_FILTER, will be sampled.

Gl.TEXTURE_ENV_MODE defaults to Gl.MODULATE and Gl.TEXTURE_ENV_COLOR defaults to (0, 0, 0, 0).

If target is Gl.POINT_SPRITE and pname is Gl.COORD_REPLACE, the boolean value specified is used to either enable or disable point sprite texture coordinate replacement. The default value is Gl.FALSE.

Notes

Gl.REPLACE may only be used if the GL version is 1.1 or greater.

Gl.TEXTURE_FILTER_CONTROL and Gl.TEXTURE_LOD_BIAS may only be used if the GL version is 1.4 or greater.

Gl.COMBINE mode and its associated constants may only be used if the GL version is 1.3 or greater.

Gl.TEXTUREn may only be used if the GL version is 1.4 or greater.

Internal formats other than 1, 2, 3, or 4 may only be used if the GL version is 1.1 or greater.

For OpenGL versions 1.3 and greater, or when the ARB_multitexture extension is supported, Gl.TexEnv controls the texture environment for the current active texture unit, selected by Gl.ActiveTexture.

Gl.POINT_SPRITE and Gl.COORD_REPLACE are available only if the GL version is 2.0 or greater.

Errors

Gl.INVALID_ENUM is generated when target or pname is not one of the accepted defined values, or when params should have a defined constant value (based on the value of pname) and does not.

Gl.INVALID_VALUE is generated if the params value for Gl.RGB_SCALE or Gl.ALPHA_SCALE are not one of 1.0, 2.0, or 4.0.

Gl.INVALID_OPERATION is generated if Gl.TexEnv is executed between the execution of Gl.Begin and the corresponding execution of Gl.End.

Associated Gets

Gl.GetTexEnv

See also

Gl.CopyTexSubImage1D, Gl.CopyTexSubImage2D, Gl.CopyTexSubImage3D, Gl.TexImage3D, Gl.TexParameter, Gl.TexSubImage1D, Gl.TexSubImage2D, Gl.TexSubImage3D

See original documentation on OpenGL website