<HTML> <HEAD> <TITLE>fp40</TITLE> <STYLE TYPE="text/css" MEDIA=screen> <!-- BODY { font-family: Arial,Helvetica; } BLOCKQUOTE { margin: 10pt; } H1,A { color: #336699; } /*** Top menu style ****/ .mmenuon { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ff6600; font-size: 10pt; } .mmenuoff { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: 10pt; } .cpyright { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: xx-small; } .cpyrightText { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #ffffff; font-size: xx-small; } .sections { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 11pt; } .dsections { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 12pt; } .slink { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #336699; font-size: 9pt; } .slink2 { font-family: Arial,Helvetica; text-decoration: none; color: #336699; } .maintitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 18pt; } .dblArrow { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } .menuSec { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } .newstext { font-family: Arial,Helvetica; font-size: small; } .linkmenu { font-family: Arial,Helvetica; color: #000000; font-weight: bold; text-decoration: none; } P { font-family: Arial,Helvetica; } PRE { font-family: monospace; white-space: pre; font-color: #333333; font-weight: 100; background-color: #eeeeee; padding: 5px; width: 90%; border-style: solid; border-width: 2px; border-color: #bebebe; } .quote { font-family: Times; text-decoration: none; color: #000000; font-size: 9pt; font-style: italic; } .smstd { font-family: Arial,Helvetica; color: #000000; font-size: x-small; } .std { font-family: Arial,Helvetica; color: #000000; } .meerkatTitle { font-family: sans-serif; font-size: x-small; color: black; } .meerkatDescription { font-family: sans-serif; font-size: 10pt; color: black } .meerkatCategory { font-family: sans-serif; font-size: 9pt; font-weight: bold; font-style: italic; color: brown; } .meerkatChannel { font-family: sans-serif; font-size: 9pt; font-style: italic; color: brown; } .meerkatDate { font-family: sans-serif; font-size: xx-small; color: #336699; } .tocTitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 10pt; } .toc-item { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; text-decoration: underline; } .perlVersion { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; text-decoration: none; } .docTitle { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #000000; font-size: 10pt; } .dotDot { font-family: Arial,Helvetica; font-weight: bold; color: #000000; font-size: 9pt; } .docSec { font-family: Arial,Helvetica; font-weight: normal; color: #333333; font-size: 9pt; } .docVersion { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 10pt; } .docSecs-on { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #ff0000; font-size: 10pt; } .docSecs-off { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #333333; font-size: 10pt; } h3 { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: small; } h2 { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: medium; } h1 { font-family: Verdana,Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: large; } DL { font-family: Arial,Helvetica; font-weight: normal; text-decoration: none; color: #333333; font-size: 10pt; } UL > LI > A { font-family: Arial,Helvetica; font-weight: bold; color: #336699; font-size: 10pt; } .moduleInfo { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 11pt; } .moduleInfoSec { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 10pt; } .moduleInfoVal { font-family: Arial,Helvetica; font-weight: normal; text-decoration: underline; color: #000000; font-size: 10pt; } .cpanNavTitle { font-family: Arial,Helvetica; font-weight: bold; color: #ffffff; font-size: 10pt; } .cpanNavLetter { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #333333; font-size: 9pt; } .cpanCat { font-family: Arial,Helvetica; font-weight: bold; text-decoration: none; color: #336699; font-size: 9pt; } --> </STYLE> </HEAD> <BODY> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> </object> <BLOCKQUOTE> <H1><A NAME="NAME"><A NAME="1">NAME </A></A></H1> <P> <B>fp40</B> - OpenGL fragment profile for NVIDIA GeForce 6/7 Series, NV4x-based Quadro FX </P> <H1><A NAME="SYNOPSIS"><A NAME="2">SYNOPSIS </A></A></H1> <PRE> fp40 </PRE> <H1><A NAME="DESCRIPTION"><A NAME="3">DESCRIPTION </A></A></H1> <P> This OpenGL profile corresponds to the per-fragment functionality introduced by the GeForce 6800 and other NV4x-based NVIDIA GPUs. </P> <P> The compiler output for this profile conforms to the assembly format defined by <B>NV_fragment_program2</B>. </P> <P> Data-dependent loops <I>are</I> allowed with a limit of 256 iterations maximum. Four levels of nesting are allowed. </P> <P> Conditional expressions <I>can be</I> supported with data-dependent branching. </P> <P> Relative indexing of uniform arrays is not supported; use texture accesses instead. </P> <H1><A NAME="3D_API_DEPENDENCIES"><A NAME="4">3D API DEPENDENCIES </A></A></H1> <P> Requires OpenGL support for the <B>NV_fragment_program2</B> extension. These extensions were introduced by the GeForce 6800 and other NV4x-based GPUs. </P> <H2><A NAME="OPENGL_EXTENSION_SPECIFICATIONS"><A NAME="5">OpenGL Extension Specifications </A></A></H2> <PRE> <A HREF="http://www.opengl.org/registry/specs/NV/fragment_program2.txt">www.opengl.org/registry/specs/NV/fragment_program2.txt</A> </PRE> <H1><A NAME="PROFILE_OPTIONS"><A NAME="6">PROFILE OPTIONS </A></A></H1> <P> None. </P> <H1><A NAME="DATA_TYPES"><A NAME="7">DATA TYPES </A></A></H1> <DL> <DT><STRONG>fixed </STRONG></DT> <DD> <P> The <B>fixed</B> data type corresponds to a native signed fixed-point integers with the range [-2.0,+2.0), sometimes called <I>fx12</I>. This type provides 10 fractional bits of precision. </P> <DT><STRONG>half </STRONG></DT> <DD> <P> The <B>half</B> data type corresponds to a floating-point encoding with a sign bit, 10 mantissa bits, and 5 exponent bits (biased by 16), sometimes called <I>s10e5</I>. </P> <DT><STRONG>float </STRONG></DT> <DD> <P> The <B>half</B> data type corresponds to a standard IEEE 754 single-precision floating-point encoding with a sign bit, 23 mantissa bits, and 8 exponent bits (biased by 128), sometimes called <I>s10e5</I>. </P> </DD></DL> <H1><A NAME="SEMANTICS"><A NAME="8">SEMANTICS </A></A></H1> <H2><A NAME="VARYING_INPUT_SEMANTICS"><A NAME="9">VARYING INPUT SEMANTICS </A></A></H2> <P> The varying input semantics in the <B>fp40</B> profile correspond to the respectively named varying output semantics of the <B>vp40</B> profile. </P> <PRE> Binding Semantics Name Corresponding Data COLOR Input primary color COLOR0 COL COL0 COLOR1 Input secondary color COL1 TEX0 Input texture coordinate sets 0 TEXCOORD0 TEX1 Input texture coordinate sets 1 TEXCOORD1 TEX2 Input texture coordinate sets 2 TEXCOORD2 TEX3 Input texture coordinate sets 3 TEXCOORD3 TEX4 Input texture coordinate sets 4 TEXCOORD4 TEX5 Input texture coordinate sets 5 TEXCOORD5 TEX6 Input texture coordinate sets 6 TEXCOORD6 TEX7 Input texture coordinate sets 7 TEXCOORD7 FOGP Input fog color (XYZ) and factor (W) FOG FACE Polygon facing. +1 for front-facing polygon or line or point -1 for back-facing polygon </PRE> <H2><A NAME="UNIFORM_INPUT_SEMANTICS"><A NAME="10">UNIFORM INPUT SEMANTICS </A></A></H2> <P> Sixteen texture units are supported: </P> <PRE> Binding Semantic Name Corresponding Data TEXUNIT0 Texture unit 0 TEXUNIT1 Texture unit 1 ... TEXUNIT15 Texture unit 15 </PRE> <H2><A NAME="OUTPUT_SEMANTICS"><A NAME="11">OUTPUT SEMANTICS </A></A></H2> <PRE> COLOR Output color (float4) COLOR0 COL0 COL DEPTH Output depth (float) DEPR </PRE> <H1><A NAME="STANDARD_LIBRARY_ISSUES"><A NAME="12">STANDARD LIBRARY ISSUES </A></A></H1> <P> Functions that compute partial derivatives <I>are</I> supported. </P> <H1><A NAME="SEE_ALSO"><A NAME="13">SEE ALSO </A></A></H1> <P> <A HREF="vp40.html">vp40</A> </P> </BLOCKQUOTE> </BODY>