Module

3dfx

Color definition.

Members

# inner _lastTexture

TMU memory end address per TMU

# inner _nextTexture

TMU memory start address/next address per TMU

# inner FX_HEIGHT

Properties:
Name Type Description
voodoo number

graphics height

# inner FX_WIDTH

Properties:
Name Type Description
voodoo number

graphics width

# inner GR_ASPECT

typedef FxI32 GrAspectRatio_t;

Properties:
Name Type Description
LOG2_8x1 number
LOG2_4x1 number
LOG2_2x1 number
LOG2_1x1 number
LOG2_1x2 number
LOG2_1x4 number
LOG2_1x8 number

# inner GR_BLEND

typedef FxI32 GrAlphaBlendFnc_t;

Properties:
Name Type Description
ZERO number
SRC_ALPHA number
SRC_COLOR number
DST_COLOR number
DST_ALPHA number
ONE number
ONE_MINUS_SRC_ALPHA number
ONE_MINUS_SRC_COLOR number
ONE_MINUS_DST_COLOR number
ONE_MINUS_DST_ALPHA number
RESERVED_8 number
RESERVED_9 number
RESERVED_A number
RESERVED_B number
RESERVED_C number
RESERVED_D number
RESERVED_E number
ALPHA_SATURATE number
PREFOG_COLOR number

# inner GR_BUFFER

typedef FxI32 GrBuffer_t;

Properties:
Name Type Description
FRONTBUFFER number
BACKBUFFER number
AUXBUFFER number
DEPTHBUFFER number
ALPHABUFFER number
TRIPLEBUFFER number

# inner GR_CMP

typedef FxI32 GrCmpFnc_t;

Properties:
Name Type Description
NEVER number
LESS number
EQUAL number
LEQUAL number
GREATER number
NOTEQUAL number
GEQUAL number
ALWAYS number

# inner GR_COLORCOMBINE

typedef FxI32 GrColorCombineFnc_t;

Properties:
Name Type Description
ZERO number
CCRGB number
ITRGB number
ITRGB_DELTA0 number
DECAL_TEXTURE number
TEXTURE_TIMES_CCRGB number
TEXTURE_TIMES_ITRGB number
TEXTURE_TIMES_ITRGB_DELTA0 number
TEXTURE_TIMES_ITRGB_ADD_ALPHA number
TEXTURE_TIMES_ALPHA number
TEXTURE_TIMES_ALPHA_ADD_ITRGB number
TEXTURE_ADD_ITRGB number
TEXTURE_SUB_ITRGB number
CCRGB_BLEND_ITRGB_ON_TEXALPHA number
DIFF_SPEC_A number
DIFF_SPEC_B number
ONE number

# inner GR_COMBINE_FACTOR

typedef FxI32 GrCombineFactor_t;

Properties:
Name Type Description
ZERO number
NONE number
LOCAL number
OTHER_ALPHA number
LOCAL_ALPHA number
TEXTURE_ALPHA number
TEXTURE_RGB number
DETAIL_FACTOR number
LOD_FRACTION number
ONE number
ONE_MINUS_LOCAL number
ONE_MINUS_OTHER_ALPHA number
ONE_MINUS_LOCAL_ALPHA number
ONE_MINUS_TEXTURE_ALPHA number
ONE_MINUS_DETAIL_FACTOR number
ONE_MINUS_LOD_FRACTION number

# inner GR_COMBINE_FUNCTION

typedef FxI32 GrCombineFunction_t;

Properties:
Name Type Description
ZERO number
NONE number
LOCAL number
LOCAL_ALPHA number
SCALE_OTHER number
BLEND_OTHER number
SCALE_OTHER_ADD_LOCAL number
SCALE_OTHER_ADD_LOCAL_ALPHA number
SCALE_OTHER_MINUS_LOCAL number
SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL number
BLEND number
SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL_ALPHA number
SCALE_MINUS_LOCAL_ADD_LOCAL number
BLEND_LOCAL number
SCALE_MINUS_LOCAL_ADD_LOCAL_ALPHA number

# inner GR_COMBINE_LOCAL

typedef FxI32 GrCombineLocal_t;

Properties:
Name Type Description
ITERATED number
CONSTANT number
NONE number
DEPTH number

# inner GR_COMBINE_OTHER

typedef FxI32 GrCombineOther_t;

Properties:
Name Type Description
ITERATED number
TEXTURE number
CONSTANT number
NONE number

# inner GR_CULL

typedef FxI32 GrCullMode_t;

Properties:
Name Type Description
DISABLE number
NEGATIVE number
POSITIVE number

# inner GR_DEPTHBUFFER

typedef FxI32 GrDepthBufferMode_t;

Properties:
Name Type Description
DISABLE number
ZBUFFER number
WBUFFER number
ZBUFFER_COMPARE_TO_BIAS number
WBUFFER_COMPARE_TO_BIAS number

# inner GR_DITHER

typedef FxI32 GrDitherMode_t;

Properties:
Name Type Description
DISABLE number
D2x2 number
D4x4 number

# inner GR_ENABLE

typedef FxU32 GrEnableMode_t;

Properties:
Name Type Description
AA_ORDERED number
ALLOW_MIPMAP_DITHER number
PASSTHRU number
SHAMELESS_PLUG number
VIDEO_SMOOTHING number

# inner GR_FOG

typedef FxI32 GrFogMode_t;

Properties:
Name Type Description
DISABLE number
WITH_TABLE_ON_FOGCOORD_EXT number
WITH_TABLE_ON_Q number
WITH_TABLE_ON_W number
WITH_ITERATED_Z number
MULT2 number
ADD2 number

# inner GR_LOD

typedef FxI32 GrLOD_t;

Properties:
Name Type Description
LOG2_256 number
LOG2_128 number
LOG2_64 number
LOG2_32 number
LOG2_16 number
LOG2_8 number
LOG2_4 number
LOG2_2 number
LOG2_1 number

# inner GR_MIPMAP

typedef FxI32 GrMipMapMode_t;

Properties:
Name Type Description
DISABLE number
NEAREST number
NEAREST_DITHER number

# inner GR_MIPMAPLEVELMASK

GR_MIPMAPLEVELMASK

Properties:
Name Type Description
EVEN number
ODD number
BOTH number

# inner GR_ORIGIN

typedef FxI32 GrOriginLocation_t;

Properties:
Name Type Description
UPPER_LEFT number
LOWER_LEFT number
ANY number

# inner GR_PARAM

Parameters for vertex definition.

Properties:
Name Type Description
XY number
ZW number
Q number
EXT number
A number
RGB number
PARG number
ST0 number
ST1 number
ST2 number
Q0 number
Q1 number
Q2 number

# inner GR_TEXFMT

typedef FxI32 GrTextureFormat_t;

Properties:
Name Type Description
BIT8 number
RGB_332 number
YIQ_422 number
ALPHA_8 number
INTENSITY_8 number
ALPHA_INTENSITY_44 number
P_8 number
RSVD0 number
P_8_6666 number
P_8_6666_EXT number
RSVD1 number
BIT16 number
ARGB_8332 number
AYIQ_8422 number
RGB_565 number
ARGB_1555 number
ARGB_4444 number
ALPHA_INTENSITY_88 number
AP_88 number
RSVD2 number
RSVD4 number

# inner GR_TEXTABLE

typedef FxU32 GrTexTable_t;

Properties:
Name Type Description
NCC0 number
NCC1 number
PALETTE number
PALETTE_6666_EXT number

# inner GR_TEXTURECLAMP

typedef FxI32 GrTextureClampMode_t;

Properties:
Name Type Description
WRAP number
CLAMP number
MIRROR_EXT number

# inner GR_TEXTUREFILTER

typedef FxI32 GrTextureFilterMode_t;

Properties:
Name Type Description
POINT_SAMPLED number
BILINEAR number

# inner GR_TMU

typedef FxI32 GrChipID_t;

Properties:
Name Type Description
TMU0 number
TMU1 number
TMU2 number

# inner GR_VERTEX

grDrawVertexArray/grDrawVertexArrayContiguous primitive type

Properties:
Name Type Description
POINTS number
LINE_STRIP number
LINES number
POLYGON number
TRIANGLE_STRIP number
TRIANGLE_FAN number
TRIANGLES number
TRIANGLE_STRIP_CONTINUE number
TRIANGLE_FAN_CONTINUE number

# inner TEXMEM_2MB_EDGE

hard edge when assigning texture memory at 2MiB

Methods

# inner fxAADrawTriangle(a, b, c, b1, b2, b3)

draw an anti-aliased triangle

Parameters:
Name Type Description
a Array.<number>

a vertex

b Array.<number>

a vertex

c Array.<number>

a vertex

b1 boolean

anti alias AB edge

b2 boolean

anti alias BC edge

b3 boolean

anti alias CA edge

# inner fxAlphaBlendFunction(rgb_sf, rgb_df, alpha_sf, alpha_df)

specify the alpha blending function

Parameters:
Name Type Description
rgb_sf GR_BLEND

rgb source blending factor

rgb_df GR_BLEND

rgb destination blending factor

alpha_sf GR_BLEND

alpha source blending factor

alpha_df GR_BLEND

alpha destination blending factor

# inner fxAlphaCombine(func, factor, local, other, invert)

configure the alpha combine unit.

Parameters:
Name Type Description
func GR_COMBINE_FUNCTION

function

factor GR_COMBINE_FACTOR

scaling factor

local GR_COMBINE_LOCAL

local alpha

other GR_COMBINE_OTHER

other alpha

invert boolean

invert generated alpha.

# inner fxAlphaControlsITRGBLighting(enable)

enables/disables alpha controlled lighting

Parameters:
Name Type Description
enable boolean

enable/disable

# inner fxAlphaTestFunction(func)

specify the alpha test function

Parameters:
Name Type Description
func GR_CMP

the function

# inner fxAlphaTestReferenceValue(value)

specify the alpha test reference value

Parameters:
Name Type Description
value number

The new alpha test reference value.

# inner FXBIT(i) → {number}

set a bit.

Parameters:
Name Type Description
i number

bit to set.

number with given bit set.

number

# inner fxBufferClear(color, alpha, depth)

clear the buffers to the specified values

Parameters:
Name Type Description
color number

The color value used for clearing the draw buffer.

alpha number

The alpha value used for clearing the alpha buffer

depth number

An unsigned value used for clearing the depth buffer

# inner fxBufferSwap(interval)

exchange front and back buffers

Parameters:
Name Type Description
interval number

The number of vertical retraces to wait before swapping the front and back buffers.

# inner fxChromakeyMode(mode)

enable/disable hardware chroma-keying

Parameters:
Name Type Description
mode boolean

enable/disable

# inner fxChromakeyValue(val)

set the global chroma-key reference value

Parameters:
Name Type Description
val number

The new chroma-key reference value.

# inner fxClipWindow(minx, miny, maxx, maxy)

set the size and location of the hardware clipping window

Parameters:
Name Type Description
minx number

The lower x screen coordinate of the clipping window.

miny number

The lower y screen coordinate of the clipping window.

maxx number

The upper x screen coordinate of the clipping window.

maxy number

The upper y screen coordinate of the clipping window.

# inner fxColorCombine(func, factor, local, other, invert)

configure the color combine unit.

Parameters:
Name Type Description
func GR_COMBINE_FUNCTION

function

factor GR_COMBINE_FACTOR

scaling factor

local GR_COMBINE_LOCAL

local alpha

other GR_COMBINE_OTHER

other alpha

invert boolean

invert generated alpha.

# inner fxColorMask(rgb, alpha)

enable/disable writing into the color and alpha buffers

Parameters:
Name Type Description
rgb number

color mask

alpha number

alpha mask

# inner fxConstantColorValue(color)

set the global constant color

Parameters:
Name Type Description
color number

The new constant color.

# inner fxCullMode(mode)

set the cull mode.

Parameters:
Name Type Description
mode GR_CULL

the noew mode.

# inner fxDepthBiasLevel(level)

set the depth bias level

Parameters:
Name Type Description
level number

th new level.

# inner fxDepthBufferFunction(func)

specify the depth buffer comparison function

Parameters:
Name Type Description
func GR_CMP

the new function

# inner fxDepthBufferMode(mode)

set the depth buffering mode

Parameters:
Name Type Description
mode GR_DEPTHBUFFER

the mode

# inner fxDepthMask(enable)

enable/disable writing into the depth buffer

Parameters:
Name Type Description
enable boolean

enable/disable

# inner fxDepthRange(near, far)

specify viewport depth range

Parameters:
Name Type Description
near number

min range

far number

max range

# inner fxDisable(val)

enable Glide operating modes

Parameters:
Name Type Description
val GR_ENABLE

one of GR_ENABLE.

# inner fxDisableAllEffects()

disable all special effects in the graphics subsystem

# inner fxDitherMode(mode)

set dither mode.

Parameters:
Name Type Description
mode GR_DITHER

the new dither mode.

# inner fxDrawLine(v1, v2)

draw a one-pixel-wide arbitrarily oriented line

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

v2 Array.<number>

a vertex.

# inner fxDrawPoint(v1)

draw a point

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

# inner fxDrawTriangle(v1, v2, v3)

draw a triangle

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

v2 Array.<number>

a vertex.

v3 Array.<number>

a vertex.

# inner fxDrawVertexArray(mode, vertices)

draw a list of by-vertex vertices

Parameters:
Name Type Description
mode GR_VERTEX

vertex type

vertices Array.<Array.<number>>

array of vertices.

# inner FxEmptyVertex() → {Array.<number>}

create empty vertex.

an empty vertex.

Array.<number>

# inner fxEnable(val)

enable Glide operating modes

Parameters:
Name Type Description
val GR_ENABLE

one of GR_ENABLE.

# inner fxFinish()

force completion of all outstanding graphics commands.

# inner fxFlush()

flush the graphics FIFO

# inner fxFogColorValue(color)

set the global fog color

Parameters:
Name Type Description
color number

the new fog color

# inner fxFogGenerateExp(density) → {Array.<number>}

generate an exponential fog table

Parameters:
Name Type Description
density number

The fog density, typically between 0.0 and 1.0.

a fog table.

Array.<number>

# inner fxFogGenerateExp2(density) → {Array.<number>}

generate an exponential squared fog table

Parameters:
Name Type Description
density *

The fog density, typically between 0.0 and 1.0.

a fog table.

Array.<number>

# inner fxFogGenerateLinear(near, far) → {Array.<number>}

generate a linear fog table

Parameters:
Name Type Description
near number

The eye-space w coordinate where minimum fog exists.

far number

The eye-space w coordinate where maximum fog exists.

a fog table.

Array.<number>

# inner fxFogMode(mode)

enable/disable per-pixel fog blending operations

Parameters:
Name Type Description
mode GR_FOG

the new fog mode.

# inner fxFogTable(table)

download a fog table

Parameters:
Name Type Description
table Array.<number>

a new table with at least fxGetFogTableEntries() entries

# inner fxFogTableIndexToW(i)

convert a fog table index to a floating point eye-space w value

Parameters:
Name Type Description
i number

The fog table index, between 0 and GR_FOG_TABLE_SIZE.

# inner fxGammaCorrectionRGB(r, g, b)

set up gamma correction tables

Parameters:
Name Type Description
r number
g *
b *

# inner fxGetBitsDepth() → {number}

The number of bits of depth (z or w) in the frame buffer.

number

# inner fxGetFogTableEntries() → {number}

The number of entries in the hardware fog table.

number

# inner fxGetGammaTableEntries() → {number}

The number of entries in the hardware gamma table. Returns FXFALSE if it is not possible to manipulate gamma (e.g. on a Macronix card, or in windowed mode).

number

# inner fxGetMaxTextureAspectRatio() → {number}

The logarithm base 2 of the maximum aspect ratio supported for power-of-two, mipmap-able textures (e.g. Voodoo Graphics returns 3).

number

# inner fxGetMaxTextureSize() → {number}

The width of the largest texture supported on this configuration (e.g. Voodoo Graphics returns 256).

number

# inner fxGetMemoryFb() → {number}

The total number of bytes per Pixelfx chip if a non-UMA configuration is used, else 0. In non-UMA configurations, the total FB memory is GR_MEMORY_FB * GR_NUM_FB.

number

# inner fxGetMemoryTmu() → {number}

The total number of bytes per Texelfx chip if a non-UMA configuration is used, else FXFALSE. In non-UMA configurations, the total usable texture memory is GR_MEMORY_TMU * GR_NUM_TMU.

number

# inner fxGetMemoryUma() → {number}

The total number of bytes if a UMA configuration, else 0.

number

# inner fxGetNumBoards() → {number}

The number of installed boards supported by Glide.

number

# inner fxGetNumFb() → {number}

The number of Pixelfx chips present. This number will always be 1 except for SLI configurations.

number

# inner fxGetNumPendingBufferSwaps() → {number}

The number of buffer swaps pending.

number

# inner fxGetNumTmu() → {number}

The number of Texelfx chips per Pixelfx chip. For integrated chips, the number of TMUs will be returned.

number

# inner fxGetRevisionFb() → {number}

The revision of the Pixelfx chip(s).

number

# inner fxGetRevisionTmu() → {number}

The revision of the Texelfx chip(s).

number

# inner fxGetVertexSize() → {number}

the size of the currently active vertex layout in 'number of entries'.

number

# inner fxGetWDepthMinMax() → {Array.<number>}

The minimum and maximum allowable w buffer values.

Array.<number>

# inner fxGetZDepthMinMax() → {Array.<number>}

The minimum and maximum allowable z buffer values.

Array.<number>

# inner fxInit()

init 3dfx glide. the following parameters are used: GR_RESOLUTION_640x480, GR_REFRESH_60Hz, GR_COLORFORMAT_ARGB, GR_ORIGIN_UPPER_LEFT, GR_WINDOW_COORDS

# inner fxIsBusy() → {number}

Returns FXFALSE if idle, FXTRUE if busy.

number

# inner fxLfbConstantAlpha(val)

Alpha value to use for direct framebuffer access.

Parameters:
Name Type Description
val number

the constant alpha value.

# inner fxLfbConstantDepth(val)

Depth value to use for direct framebuffer access.

Parameters:
Name Type Description
val number

the constant depth value.

# inner fxOrigin(origin)

establishes a y origin

Parameters:
Name Type Description
origin GR_ORIGIN

set y origin.

# inner fxRenderBuffer(buffer)

selects the current color buffer for drawing and clearing

Parameters:
Name Type Description
buffer GR_BUFFER

Selects the current color buffer. Valid values are GR_BUFFER_FRONTBUFFER and GR_BUFFER_BACKBUFFER.

# inner fxResetVertexLayout()

Reset grVertexLayout parameter offset to zero, and all parameter modes to GR_PARAM_DISABLE.

# inner FxRGB2Vertex(v, idx, rgb)

split up RGB value and store in vertex.

Parameters:
Name Type Description
v Array.<number>

the vertex to store in.

idx number

start index of RGB values.

rgb number

the RGB value.

# inner fxShutdown()

shut down the Glide library

# inner fxTexCalcMemRequired(smallLod, largeLod, aspect, format) → {number}

return the texture memory consumed by a texture.

Parameters:
Name Type Description
smallLod GR_LOD

smallest level of detail

largeLod GR_LOD

larges level of detail

aspect GR_ASPECT

texture aspect ratio

format GR_TEXFMT

texture format

number of bytes required

number

# inner fxTexClampMode(tmu, sMode, tMode)

set the texture map clamping/wrapping mode

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

sMode GR_TEXTURECLAMP

The new mode for the s direction

tMode GR_TEXTURECLAMP

The new mode for the t direction

# inner fxTexCombine(tmu, rgb_func, rgb_factor, alpha_func, alpha_factor, rgb_invert, alpha_invert)

configure a texture combine unit

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

rgb_func GR_COMBINE_FUNCTION

Specifies the function used in texture color generation

rgb_factor GR_COMBINE_FACTOR

Specifies the scaling factor f used in texture color generation

alpha_func GR_COMBINE_FUNCTION

Specifies the function used in texture alpha generation

alpha_factor GR_COMBINE_FACTOR

Specifies the scaling factor f used in texture alpha generation

rgb_invert boolean

Specifies whether the generated texture color should be bitwise inverted as a final step.

alpha_invert boolean

Specifies whether the generated texture alpha should be bitwise inverted as a final step.

# inner fxTexDetailControl(tmu, lodBias, detailScale, detailMax)

set the detail texturing controls

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

lodBias number

Controls where the blending between the two textures begins. This value is an LOD bias value in the range [–32.. +31].

detailScale number

Controls the steepness of the blend. Values are in the range [0..7] are valid. The scale is computed as 2^detailScale.

detailMax number

Controls the maximum blending that occurs. Values in the range [0.0..1.0] are valid.

# inner fxTexFilterMode(tmu, minFilter, magFilter)

specify the texture minification and magnification filters

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

minFilter GR_TEXTUREFILTER

The minification filter

magFilter GR_TEXTUREFILTER

The magnification filter

# inner fxTexLodBiasValue(tmu, bias)

set the LOD bias value

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

bias number

The new LOD bias value, a signed floating point value in the range [-8..7.75].

# inner fxTexMaxAddress(tmu)

return the highest start address for texture downloads

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

# inner FxTexMemGetStartAddress(tmu, info) → {number}

try to find the next available memory for texture.

Parameters:
Name Type Description
tmu GR_TMU

the TMU where this texture shall be used.

info TexInfo

the texture.

a start address or null.

number

# inner FxTexMemInit(tmu)

(re)initialize simple texture memory management for given TMU.

Parameters:
Name Type Description
tmu GR_TMU

the tmu to initialize.

# inner fxTexMinAddress(tmu)

return the lowest start address for texture downloads

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

# inner fxTexMipMapMode(tmu, mode, lodBlend)

set the mipmapping mode

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

mode GR_MIPMAP

The new mipmapping mode

lodBlend boolean

enables/disables LOD blending

# inner fxTexNCCTable(table)

select an NCC table

Parameters:
Name Type Description
table GR_TEXTABLE

NCC table to use for decompressing compressed textures. Valid values are GR_TEXTABLE_NCC0 and GR_TEXTABLE_NCC1.

# inner fxVertexLayout(layout)

specify the format of by-vertex arrays

Parameters:
Name Type Description
layout Array.<GR_PARAM>

list of layout parameters.

# inner fxViewport(x, y, width, height)

define a viewport

Parameters:
Name Type Description
x number

The origin of the viewport, relative to the screen origin

y number

The origin of the viewport, relative to the screen origin

width number

The width and height of the viewport.

height number

The width and height of the viewport.

Members

# inner _lastTexture

TMU memory end address per TMU

# inner _nextTexture

TMU memory start address/next address per TMU

# inner FX_HEIGHT

Properties:
Name Type Description
voodoo number

graphics height

# inner FX_WIDTH

Properties:
Name Type Description
voodoo number

graphics width

# inner GR_ASPECT

typedef FxI32 GrAspectRatio_t;

Properties:
Name Type Description
LOG2_8x1 number
LOG2_4x1 number
LOG2_2x1 number
LOG2_1x1 number
LOG2_1x2 number
LOG2_1x4 number
LOG2_1x8 number

# inner GR_BLEND

typedef FxI32 GrAlphaBlendFnc_t;

Properties:
Name Type Description
ZERO number
SRC_ALPHA number
SRC_COLOR number
DST_COLOR number
DST_ALPHA number
ONE number
ONE_MINUS_SRC_ALPHA number
ONE_MINUS_SRC_COLOR number
ONE_MINUS_DST_COLOR number
ONE_MINUS_DST_ALPHA number
RESERVED_8 number
RESERVED_9 number
RESERVED_A number
RESERVED_B number
RESERVED_C number
RESERVED_D number
RESERVED_E number
ALPHA_SATURATE number
PREFOG_COLOR number

# inner GR_BUFFER

typedef FxI32 GrBuffer_t;

Properties:
Name Type Description
FRONTBUFFER number
BACKBUFFER number
AUXBUFFER number
DEPTHBUFFER number
ALPHABUFFER number
TRIPLEBUFFER number

# inner GR_CMP

typedef FxI32 GrCmpFnc_t;

Properties:
Name Type Description
NEVER number
LESS number
EQUAL number
LEQUAL number
GREATER number
NOTEQUAL number
GEQUAL number
ALWAYS number

# inner GR_COLORCOMBINE

typedef FxI32 GrColorCombineFnc_t;

Properties:
Name Type Description
ZERO number
CCRGB number
ITRGB number
ITRGB_DELTA0 number
DECAL_TEXTURE number
TEXTURE_TIMES_CCRGB number
TEXTURE_TIMES_ITRGB number
TEXTURE_TIMES_ITRGB_DELTA0 number
TEXTURE_TIMES_ITRGB_ADD_ALPHA number
TEXTURE_TIMES_ALPHA number
TEXTURE_TIMES_ALPHA_ADD_ITRGB number
TEXTURE_ADD_ITRGB number
TEXTURE_SUB_ITRGB number
CCRGB_BLEND_ITRGB_ON_TEXALPHA number
DIFF_SPEC_A number
DIFF_SPEC_B number
ONE number

# inner GR_COMBINE_FACTOR

typedef FxI32 GrCombineFactor_t;

Properties:
Name Type Description
ZERO number
NONE number
LOCAL number
OTHER_ALPHA number
LOCAL_ALPHA number
TEXTURE_ALPHA number
TEXTURE_RGB number
DETAIL_FACTOR number
LOD_FRACTION number
ONE number
ONE_MINUS_LOCAL number
ONE_MINUS_OTHER_ALPHA number
ONE_MINUS_LOCAL_ALPHA number
ONE_MINUS_TEXTURE_ALPHA number
ONE_MINUS_DETAIL_FACTOR number
ONE_MINUS_LOD_FRACTION number

# inner GR_COMBINE_FUNCTION

typedef FxI32 GrCombineFunction_t;

Properties:
Name Type Description
ZERO number
NONE number
LOCAL number
LOCAL_ALPHA number
SCALE_OTHER number
BLEND_OTHER number
SCALE_OTHER_ADD_LOCAL number
SCALE_OTHER_ADD_LOCAL_ALPHA number
SCALE_OTHER_MINUS_LOCAL number
SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL number
BLEND number
SCALE_OTHER_MINUS_LOCAL_ADD_LOCAL_ALPHA number
SCALE_MINUS_LOCAL_ADD_LOCAL number
BLEND_LOCAL number
SCALE_MINUS_LOCAL_ADD_LOCAL_ALPHA number

# inner GR_COMBINE_LOCAL

typedef FxI32 GrCombineLocal_t;

Properties:
Name Type Description
ITERATED number
CONSTANT number
NONE number
DEPTH number

# inner GR_COMBINE_OTHER

typedef FxI32 GrCombineOther_t;

Properties:
Name Type Description
ITERATED number
TEXTURE number
CONSTANT number
NONE number

# inner GR_CULL

typedef FxI32 GrCullMode_t;

Properties:
Name Type Description
DISABLE number
NEGATIVE number
POSITIVE number

# inner GR_DEPTHBUFFER

typedef FxI32 GrDepthBufferMode_t;

Properties:
Name Type Description
DISABLE number
ZBUFFER number
WBUFFER number
ZBUFFER_COMPARE_TO_BIAS number
WBUFFER_COMPARE_TO_BIAS number

# inner GR_DITHER

typedef FxI32 GrDitherMode_t;

Properties:
Name Type Description
DISABLE number
D2x2 number
D4x4 number

# inner GR_ENABLE

typedef FxU32 GrEnableMode_t;

Properties:
Name Type Description
AA_ORDERED number
ALLOW_MIPMAP_DITHER number
PASSTHRU number
SHAMELESS_PLUG number
VIDEO_SMOOTHING number

# inner GR_FOG

typedef FxI32 GrFogMode_t;

Properties:
Name Type Description
DISABLE number
WITH_TABLE_ON_FOGCOORD_EXT number
WITH_TABLE_ON_Q number
WITH_TABLE_ON_W number
WITH_ITERATED_Z number
MULT2 number
ADD2 number

# inner GR_LOD

typedef FxI32 GrLOD_t;

Properties:
Name Type Description
LOG2_256 number
LOG2_128 number
LOG2_64 number
LOG2_32 number
LOG2_16 number
LOG2_8 number
LOG2_4 number
LOG2_2 number
LOG2_1 number

# inner GR_MIPMAP

typedef FxI32 GrMipMapMode_t;

Properties:
Name Type Description
DISABLE number
NEAREST number
NEAREST_DITHER number

# inner GR_MIPMAPLEVELMASK

GR_MIPMAPLEVELMASK

Properties:
Name Type Description
EVEN number
ODD number
BOTH number

# inner GR_ORIGIN

typedef FxI32 GrOriginLocation_t;

Properties:
Name Type Description
UPPER_LEFT number
LOWER_LEFT number
ANY number

# inner GR_PARAM

Parameters for vertex definition.

Properties:
Name Type Description
XY number
ZW number
Q number
EXT number
A number
RGB number
PARG number
ST0 number
ST1 number
ST2 number
Q0 number
Q1 number
Q2 number

# inner GR_TEXFMT

typedef FxI32 GrTextureFormat_t;

Properties:
Name Type Description
BIT8 number
RGB_332 number
YIQ_422 number
ALPHA_8 number
INTENSITY_8 number
ALPHA_INTENSITY_44 number
P_8 number
RSVD0 number
P_8_6666 number
P_8_6666_EXT number
RSVD1 number
BIT16 number
ARGB_8332 number
AYIQ_8422 number
RGB_565 number
ARGB_1555 number
ARGB_4444 number
ALPHA_INTENSITY_88 number
AP_88 number
RSVD2 number
RSVD4 number

# inner GR_TEXTABLE

typedef FxU32 GrTexTable_t;

Properties:
Name Type Description
NCC0 number
NCC1 number
PALETTE number
PALETTE_6666_EXT number

# inner GR_TEXTURECLAMP

typedef FxI32 GrTextureClampMode_t;

Properties:
Name Type Description
WRAP number
CLAMP number
MIRROR_EXT number

# inner GR_TEXTUREFILTER

typedef FxI32 GrTextureFilterMode_t;

Properties:
Name Type Description
POINT_SAMPLED number
BILINEAR number

# inner GR_TMU

typedef FxI32 GrChipID_t;

Properties:
Name Type Description
TMU0 number
TMU1 number
TMU2 number

# inner GR_VERTEX

grDrawVertexArray/grDrawVertexArrayContiguous primitive type

Properties:
Name Type Description
POINTS number
LINE_STRIP number
LINES number
POLYGON number
TRIANGLE_STRIP number
TRIANGLE_FAN number
TRIANGLES number
TRIANGLE_STRIP_CONTINUE number
TRIANGLE_FAN_CONTINUE number

# inner TEXMEM_2MB_EDGE

hard edge when assigning texture memory at 2MiB

Methods

# inner fxAADrawTriangle(a, b, c, b1, b2, b3)

draw an anti-aliased triangle

Parameters:
Name Type Description
a Array.<number>

a vertex

b Array.<number>

a vertex

c Array.<number>

a vertex

b1 boolean

anti alias AB edge

b2 boolean

anti alias BC edge

b3 boolean

anti alias CA edge

# inner fxAlphaBlendFunction(rgb_sf, rgb_df, alpha_sf, alpha_df)

specify the alpha blending function

Parameters:
Name Type Description
rgb_sf GR_BLEND

rgb source blending factor

rgb_df GR_BLEND

rgb destination blending factor

alpha_sf GR_BLEND

alpha source blending factor

alpha_df GR_BLEND

alpha destination blending factor

# inner fxAlphaCombine(func, factor, local, other, invert)

configure the alpha combine unit.

Parameters:
Name Type Description
func GR_COMBINE_FUNCTION

function

factor GR_COMBINE_FACTOR

scaling factor

local GR_COMBINE_LOCAL

local alpha

other GR_COMBINE_OTHER

other alpha

invert boolean

invert generated alpha.

# inner fxAlphaControlsITRGBLighting(enable)

enables/disables alpha controlled lighting

Parameters:
Name Type Description
enable boolean

enable/disable

# inner fxAlphaTestFunction(func)

specify the alpha test function

Parameters:
Name Type Description
func GR_CMP

the function

# inner fxAlphaTestReferenceValue(value)

specify the alpha test reference value

Parameters:
Name Type Description
value number

The new alpha test reference value.

# inner FXBIT(i) → {number}

set a bit.

Parameters:
Name Type Description
i number

bit to set.

number with given bit set.

number

# inner fxBufferClear(color, alpha, depth)

clear the buffers to the specified values

Parameters:
Name Type Description
color number

The color value used for clearing the draw buffer.

alpha number

The alpha value used for clearing the alpha buffer

depth number

An unsigned value used for clearing the depth buffer

# inner fxBufferSwap(interval)

exchange front and back buffers

Parameters:
Name Type Description
interval number

The number of vertical retraces to wait before swapping the front and back buffers.

# inner fxChromakeyMode(mode)

enable/disable hardware chroma-keying

Parameters:
Name Type Description
mode boolean

enable/disable

# inner fxChromakeyValue(val)

set the global chroma-key reference value

Parameters:
Name Type Description
val number

The new chroma-key reference value.

# inner fxClipWindow(minx, miny, maxx, maxy)

set the size and location of the hardware clipping window

Parameters:
Name Type Description
minx number

The lower x screen coordinate of the clipping window.

miny number

The lower y screen coordinate of the clipping window.

maxx number

The upper x screen coordinate of the clipping window.

maxy number

The upper y screen coordinate of the clipping window.

# inner fxColorCombine(func, factor, local, other, invert)

configure the color combine unit.

Parameters:
Name Type Description
func GR_COMBINE_FUNCTION

function

factor GR_COMBINE_FACTOR

scaling factor

local GR_COMBINE_LOCAL

local alpha

other GR_COMBINE_OTHER

other alpha

invert boolean

invert generated alpha.

# inner fxColorMask(rgb, alpha)

enable/disable writing into the color and alpha buffers

Parameters:
Name Type Description
rgb number

color mask

alpha number

alpha mask

# inner fxConstantColorValue(color)

set the global constant color

Parameters:
Name Type Description
color number

The new constant color.

# inner fxCullMode(mode)

set the cull mode.

Parameters:
Name Type Description
mode GR_CULL

the noew mode.

# inner fxDepthBiasLevel(level)

set the depth bias level

Parameters:
Name Type Description
level number

th new level.

# inner fxDepthBufferFunction(func)

specify the depth buffer comparison function

Parameters:
Name Type Description
func GR_CMP

the new function

# inner fxDepthBufferMode(mode)

set the depth buffering mode

Parameters:
Name Type Description
mode GR_DEPTHBUFFER

the mode

# inner fxDepthMask(enable)

enable/disable writing into the depth buffer

Parameters:
Name Type Description
enable boolean

enable/disable

# inner fxDepthRange(near, far)

specify viewport depth range

Parameters:
Name Type Description
near number

min range

far number

max range

# inner fxDisable(val)

enable Glide operating modes

Parameters:
Name Type Description
val GR_ENABLE

one of GR_ENABLE.

# inner fxDisableAllEffects()

disable all special effects in the graphics subsystem

# inner fxDitherMode(mode)

set dither mode.

Parameters:
Name Type Description
mode GR_DITHER

the new dither mode.

# inner fxDrawLine(v1, v2)

draw a one-pixel-wide arbitrarily oriented line

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

v2 Array.<number>

a vertex.

# inner fxDrawPoint(v1)

draw a point

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

# inner fxDrawTriangle(v1, v2, v3)

draw a triangle

Parameters:
Name Type Description
v1 Array.<number>

a vertex.

v2 Array.<number>

a vertex.

v3 Array.<number>

a vertex.

# inner fxDrawVertexArray(mode, vertices)

draw a list of by-vertex vertices

Parameters:
Name Type Description
mode GR_VERTEX

vertex type

vertices Array.<Array.<number>>

array of vertices.

# inner FxEmptyVertex() → {Array.<number>}

create empty vertex.

an empty vertex.

Array.<number>

# inner fxEnable(val)

enable Glide operating modes

Parameters:
Name Type Description
val GR_ENABLE

one of GR_ENABLE.

# inner fxFinish()

force completion of all outstanding graphics commands.

# inner fxFlush()

flush the graphics FIFO

# inner fxFogColorValue(color)

set the global fog color

Parameters:
Name Type Description
color number

the new fog color

# inner fxFogGenerateExp(density) → {Array.<number>}

generate an exponential fog table

Parameters:
Name Type Description
density number

The fog density, typically between 0.0 and 1.0.

a fog table.

Array.<number>

# inner fxFogGenerateExp2(density) → {Array.<number>}

generate an exponential squared fog table

Parameters:
Name Type Description
density *

The fog density, typically between 0.0 and 1.0.

a fog table.

Array.<number>

# inner fxFogGenerateLinear(near, far) → {Array.<number>}

generate a linear fog table

Parameters:
Name Type Description
near number

The eye-space w coordinate where minimum fog exists.

far number

The eye-space w coordinate where maximum fog exists.

a fog table.

Array.<number>

# inner fxFogMode(mode)

enable/disable per-pixel fog blending operations

Parameters:
Name Type Description
mode GR_FOG

the new fog mode.

# inner fxFogTable(table)

download a fog table

Parameters:
Name Type Description
table Array.<number>

a new table with at least fxGetFogTableEntries() entries

# inner fxFogTableIndexToW(i)

convert a fog table index to a floating point eye-space w value

Parameters:
Name Type Description
i number

The fog table index, between 0 and GR_FOG_TABLE_SIZE.

# inner fxGammaCorrectionRGB(r, g, b)

set up gamma correction tables

Parameters:
Name Type Description
r number
g *
b *

# inner fxGetBitsDepth() → {number}

The number of bits of depth (z or w) in the frame buffer.

number

# inner fxGetFogTableEntries() → {number}

The number of entries in the hardware fog table.

number

# inner fxGetGammaTableEntries() → {number}

The number of entries in the hardware gamma table. Returns FXFALSE if it is not possible to manipulate gamma (e.g. on a Macronix card, or in windowed mode).

number

# inner fxGetMaxTextureAspectRatio() → {number}

The logarithm base 2 of the maximum aspect ratio supported for power-of-two, mipmap-able textures (e.g. Voodoo Graphics returns 3).

number

# inner fxGetMaxTextureSize() → {number}

The width of the largest texture supported on this configuration (e.g. Voodoo Graphics returns 256).

number

# inner fxGetMemoryFb() → {number}

The total number of bytes per Pixelfx chip if a non-UMA configuration is used, else 0. In non-UMA configurations, the total FB memory is GR_MEMORY_FB * GR_NUM_FB.

number

# inner fxGetMemoryTmu() → {number}

The total number of bytes per Texelfx chip if a non-UMA configuration is used, else FXFALSE. In non-UMA configurations, the total usable texture memory is GR_MEMORY_TMU * GR_NUM_TMU.

number

# inner fxGetMemoryUma() → {number}

The total number of bytes if a UMA configuration, else 0.

number

# inner fxGetNumBoards() → {number}

The number of installed boards supported by Glide.

number

# inner fxGetNumFb() → {number}

The number of Pixelfx chips present. This number will always be 1 except for SLI configurations.

number

# inner fxGetNumPendingBufferSwaps() → {number}

The number of buffer swaps pending.

number

# inner fxGetNumTmu() → {number}

The number of Texelfx chips per Pixelfx chip. For integrated chips, the number of TMUs will be returned.

number

# inner fxGetRevisionFb() → {number}

The revision of the Pixelfx chip(s).

number

# inner fxGetRevisionTmu() → {number}

The revision of the Texelfx chip(s).

number

# inner fxGetVertexSize() → {number}

the size of the currently active vertex layout in 'number of entries'.

number

# inner fxGetWDepthMinMax() → {Array.<number>}

The minimum and maximum allowable w buffer values.

Array.<number>

# inner fxGetZDepthMinMax() → {Array.<number>}

The minimum and maximum allowable z buffer values.

Array.<number>

# inner fxInit()

init 3dfx glide. the following parameters are used: GR_RESOLUTION_640x480, GR_REFRESH_60Hz, GR_COLORFORMAT_ARGB, GR_ORIGIN_UPPER_LEFT, GR_WINDOW_COORDS

# inner fxIsBusy() → {number}

Returns FXFALSE if idle, FXTRUE if busy.

number

# inner fxLfbConstantAlpha(val)

Alpha value to use for direct framebuffer access.

Parameters:
Name Type Description
val number

the constant alpha value.

# inner fxLfbConstantDepth(val)

Depth value to use for direct framebuffer access.

Parameters:
Name Type Description
val number

the constant depth value.

# inner fxOrigin(origin)

establishes a y origin

Parameters:
Name Type Description
origin GR_ORIGIN

set y origin.

# inner fxRenderBuffer(buffer)

selects the current color buffer for drawing and clearing

Parameters:
Name Type Description
buffer GR_BUFFER

Selects the current color buffer. Valid values are GR_BUFFER_FRONTBUFFER and GR_BUFFER_BACKBUFFER.

# inner fxResetVertexLayout()

Reset grVertexLayout parameter offset to zero, and all parameter modes to GR_PARAM_DISABLE.

# inner FxRGB2Vertex(v, idx, rgb)

split up RGB value and store in vertex.

Parameters:
Name Type Description
v Array.<number>

the vertex to store in.

idx number

start index of RGB values.

rgb number

the RGB value.

# inner fxShutdown()

shut down the Glide library

# inner fxTexCalcMemRequired(smallLod, largeLod, aspect, format) → {number}

return the texture memory consumed by a texture.

Parameters:
Name Type Description
smallLod GR_LOD

smallest level of detail

largeLod GR_LOD

larges level of detail

aspect GR_ASPECT

texture aspect ratio

format GR_TEXFMT

texture format

number of bytes required

number

# inner fxTexClampMode(tmu, sMode, tMode)

set the texture map clamping/wrapping mode

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

sMode GR_TEXTURECLAMP

The new mode for the s direction

tMode GR_TEXTURECLAMP

The new mode for the t direction

# inner fxTexCombine(tmu, rgb_func, rgb_factor, alpha_func, alpha_factor, rgb_invert, alpha_invert)

configure a texture combine unit

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

rgb_func GR_COMBINE_FUNCTION

Specifies the function used in texture color generation

rgb_factor GR_COMBINE_FACTOR

Specifies the scaling factor f used in texture color generation

alpha_func GR_COMBINE_FUNCTION

Specifies the function used in texture alpha generation

alpha_factor GR_COMBINE_FACTOR

Specifies the scaling factor f used in texture alpha generation

rgb_invert boolean

Specifies whether the generated texture color should be bitwise inverted as a final step.

alpha_invert boolean

Specifies whether the generated texture alpha should be bitwise inverted as a final step.

# inner fxTexDetailControl(tmu, lodBias, detailScale, detailMax)

set the detail texturing controls

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

lodBias number

Controls where the blending between the two textures begins. This value is an LOD bias value in the range [–32.. +31].

detailScale number

Controls the steepness of the blend. Values are in the range [0..7] are valid. The scale is computed as 2^detailScale.

detailMax number

Controls the maximum blending that occurs. Values in the range [0.0..1.0] are valid.

# inner fxTexFilterMode(tmu, minFilter, magFilter)

specify the texture minification and magnification filters

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

minFilter GR_TEXTUREFILTER

The minification filter

magFilter GR_TEXTUREFILTER

The magnification filter

# inner fxTexLodBiasValue(tmu, bias)

set the LOD bias value

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

bias number

The new LOD bias value, a signed floating point value in the range [-8..7.75].

# inner fxTexMaxAddress(tmu)

return the highest start address for texture downloads

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

# inner FxTexMemGetStartAddress(tmu, info) → {number}

try to find the next available memory for texture.

Parameters:
Name Type Description
tmu GR_TMU

the TMU where this texture shall be used.

info TexInfo

the texture.

a start address or null.

number

# inner FxTexMemInit(tmu)

(re)initialize simple texture memory management for given TMU.

Parameters:
Name Type Description
tmu GR_TMU

the tmu to initialize.

# inner fxTexMinAddress(tmu)

return the lowest start address for texture downloads

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

# inner fxTexMipMapMode(tmu, mode, lodBlend)

set the mipmapping mode

Parameters:
Name Type Description
tmu GR_TMU

the TMU.

mode GR_MIPMAP

The new mipmapping mode

lodBlend boolean

enables/disables LOD blending

# inner fxTexNCCTable(table)

select an NCC table

Parameters:
Name Type Description
table GR_TEXTABLE

NCC table to use for decompressing compressed textures. Valid values are GR_TEXTABLE_NCC0 and GR_TEXTABLE_NCC1.

# inner fxVertexLayout(layout)

specify the format of by-vertex arrays

Parameters:
Name Type Description
layout Array.<GR_PARAM>

list of layout parameters.

# inner fxViewport(x, y, width, height)

define a viewport

Parameters:
Name Type Description
x number

The origin of the viewport, relative to the screen origin

y number

The origin of the viewport, relative to the screen origin

width number

The width and height of the viewport.

height number

The width and height of the viewport.