Gambas Documentation - /comp/gb.opengl/gl/alphafunc

/comp/gb.opengl/gl/alphafunc

# Gl.AlphaFunc (gb.opengl)

Static Sub AlphaFunc ( Function As Integer, Reference As Float )

Specify the alpha test function.

### Parameters

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.

### Description

The alpha test discards fragments depending on the outcome of a comparison between an incoming fragment's alpha value and a constant reference value. Gl.AlphaFunc specifies the reference value and the comparison function. The comparison is performed only if alpha testing is enabled. By default, it is not enabled. (See Gl.Enable and Gl.Disable of Gl.ALPHA_TEST.)

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

  Never passes.

Gl.LESS

  Passes if the incoming alpha value is less than the reference value.

Gl.EQUAL

  Passes if the incoming alpha value is equal to the reference value.

Gl.LEQUAL

  Passes if the incoming alpha value is less than or equal to the reference value.

Gl.GREATER

  Passes if the incoming alpha value is greater than the reference value.

Gl.NOTEQUAL

  Passes if the incoming alpha value is not equal to the reference value.

Gl.GEQUAL

  Passes if the incoming alpha value is greater than or equal to the reference value.

Gl.ALWAYS

  Always passes (initial value).

Gl.AlphaFunc operates on all pixel write operations, including those resulting from the scan conversion of points, lines, polygons, and bitmaps, and from pixel draw and copy operations. Gl.AlphaFunc does not affect screen clear operations.

### Notes

Alpha testing is performed only in RGBA mode.

### Errors

Gl.INVALID_ENUM is generated if func is not an accepted value.

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

### Associated Gets

Gl.Get with argument Gl.ALPHA_TEST_FUNC

Gl.Get with argument Gl.ALPHA_TEST_REF

Gl.IsEnabled with argument Gl.ALPHA_TEST

### See Also

Gl.BlendFunc, Gl.Clear, Gl.DepthFunc, Gl.Enable, Gl.StencilFunc

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB.

➡ See original documentation