Cg Toolkit Cg 3.1 Toolkit Documentation
Cg / Profiles / arbfp1

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

 http://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


Cg Toolkit | Cg Toolkit | Download | Release Archive | Profiles | Reference | Books | Discussions |


Cg Profiles

arbfp1
arbvp1
ds_5_0
fp20
fp30
fp40
glslf
glslg
glsl
glslv
gp4fp
gp4gp
gp4
gp4vp
gp5fp
gp5gp
gp5
gp5tcp
gp5tep
gp5vp
gs_4_0
gs_5_0
hlsl10
hlsl11
hlslf
hlslv
hs_5_0
ps_1_1
ps_1_2
ps_1_3
ps_2_0
ps_2_sw
ps_2_x
ps_3_0
ps_4_0
ps_5_0
vp20
vp30
vp40
vs_1_1
vs_2_0
vs_2_sw
vs_2_x
vs_3_0
vs_4_0
vs_5_0