NAME

arbfp1 - OpenGL fragment profile for multi-vendor ARB_fragment_program extension

SYNOPSIS

  arbfp1

DESCRIPTION

This OpenGL profile corresponds to the per-fragment functionality introduced by GeForce FX and other DirectX 9 GPUs. This profile is supported by any OpenGL implementation that conformantly implements ARB_fragment_program.

The compiler output for this profile conforms to the assembly format defined by ARB_fragment_program.

Data-dependent loops are not allowed; all loops must be unrollable.

Conditional expressions are supported without branching so both conditions must be evaluated.

Relative indexing of uniform arrays is not supported; use texture accesses instead.

3D API DEPENDENCIES

Requires OpenGL support for the multi-vendor ARB_fragment_program extension. This extension is supported by GeForce FX and later GPUS. ATI GPUs also support this extension.

OpenGL Extension Specifications

 www.opengl.org/registry/specs/ARB/fragment_program.txt 

PROFILE OPTIONS

NumTemps=n

Number of temporaries to use, 32 by default.

NumInstructionSlots=n

Maximum allowable (static) instructions. Not an issue for NVIDIA GPUs.

NumTexInstructionSlots=n

Maximum number of texture instructions to generate. Not an issue for NVIDIA GPUs, but important for ATI GPUs (set it to 32).

NumMathInstructionSlots=n

Maximum number of math instructions to generate. Not an issue for NVIDIA GPUs, but important for ATI GPUs (set it to 64).

MaxTexIndirections=n

Maximum number of texture indirections. Not an issue for NVIDIA GPUs, but important for ATI GPUs (set it to 4).

ATI_draw_buffers

When multiple draw buffers are used, use the ATI_draw_buffers syntax so the generated code says OPTION ATI_draw_buffers. The default, if this option is not specified, is to use ARB_draw_buffers.

ARB_draw_buffers

When multiple draw buffers are used, use the ARB_draw_buffers syntax so the generated code says OPTION ARB_draw_buffers. This option is the default.

MaxDrawBuffers=n

Maximum draw buffers for use with ARB_draw_buffers. Set to 1 for NV3x GPUs. Use up to 4 for NV4x or ATI GPUs.

MaxLocalParams=n

Maximum allowable local parameters.

pixel_center_integer=b

Boolean to enable integer pixel centers.

origin_upper_left=b

Boolean to enable upper left pixel origin.

DATA TYPES

to-be-written

SEMANTICS

VARYING INPUT SEMANTICS

to-be-written

UNIFORM INPUT SEMANTICS

to-be-written

OUTPUT SEMANTICS

to-be-written

STANDARD LIBRARY ISSUES

to-be-written

SEE ALSO

arbvp1