3dfx

Members

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 lastTexture

TMU memory end address per TMU

inner nextTexture

TMU memory start address/next address per TMU

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.
Returns:
number - number with given bit set.

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.
Returns:
Array.<number> - an empty vertex.

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.
Returns:
Array.<number> - a fog table.

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.
Returns:
Array.<number> - a fog table.

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.
Returns:
Array.<number> - a fog table.

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}

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

inner fxGetFogTableEntries() → {number}

Returns:
number - The number of entries in the hardware fog table.

inner fxGetGammaTableEntries() → {number}

Returns:
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).

inner fxGetMaxTextureAspectRatio() → {number}

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

inner fxGetMaxTextureSize() → {number}

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

inner fxGetMemoryFb() → {number}

Returns:
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.

inner fxGetMemoryTMU() → {number}

Returns:
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.

inner fxGetMemoryUma() → {number}

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

inner fxGetNumBoards() → {number}

Returns:
number - The number of installed boards supported by Glide.

inner fxGetNumFb() → {number}

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

inner fxGetNumPendingBufferSwaps() → {number}

Returns:
number - The number of buffer swaps pending.

inner fxGetNumTmu() → {number}

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

inner fxGetRevisionFb() → {number}

Returns:
number - The revision of the Pixelfx chip(s).

inner fxGetRevisionTmu() → {number}

Returns:
number - The revision of the Texelfx chip(s).

inner fxGetVertexSize() → {number}

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

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

Returns:
Array.<number> - The minimum and maximum allowable w buffer values.

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

Returns:
Array.<number> - The minimum and maximum allowable z buffer values.

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:
number - Returns FXFALSE if idle, FXTRUE if busy.

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
Returns:
number - number of bytes required

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.
Returns:
number - a start address or null.

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.

3dfx

Color definition.

Members

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 lastTexture

TMU memory end address per TMU

inner nextTexture

TMU memory start address/next address per TMU

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.
Returns:
number - number with given bit set.

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.
Returns:
Array.<number> - an empty vertex.

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.
Returns:
Array.<number> - a fog table.

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.
Returns:
Array.<number> - a fog table.

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.
Returns:
Array.<number> - a fog table.

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}

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

inner fxGetFogTableEntries() → {number}

Returns:
number - The number of entries in the hardware fog table.

inner fxGetGammaTableEntries() → {number}

Returns:
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).

inner fxGetMaxTextureAspectRatio() → {number}

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

inner fxGetMaxTextureSize() → {number}

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

inner fxGetMemoryFb() → {number}

Returns:
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.

inner fxGetMemoryTMU() → {number}

Returns:
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.

inner fxGetMemoryUma() → {number}

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

inner fxGetNumBoards() → {number}

Returns:
number - The number of installed boards supported by Glide.

inner fxGetNumFb() → {number}

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

inner fxGetNumPendingBufferSwaps() → {number}

Returns:
number - The number of buffer swaps pending.

inner fxGetNumTmu() → {number}

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

inner fxGetRevisionFb() → {number}

Returns:
number - The revision of the Pixelfx chip(s).

inner fxGetRevisionTmu() → {number}

Returns:
number - The revision of the Texelfx chip(s).

inner fxGetVertexSize() → {number}

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

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

Returns:
Array.<number> - The minimum and maximum allowable w buffer values.

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

Returns:
Array.<number> - The minimum and maximum allowable z buffer values.

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:
number - Returns FXFALSE if idle, FXTRUE if busy.

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
Returns:
number - number of bytes required

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.
Returns:
number - a start address or null.

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.