Sophie

Sophie

distrib > Mandriva > cooker > i586 > by-pkgid > b70c0f154c89d61ccc233b855bfed06f > files > 1046

cg-3.0.0018-0.1.i586.rpm

<HTML>

<HEAD>
<TITLE>vp40</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>vp40</B> - OpenGL vertex profile for NVIDIA GeForce 6/7 Series, NV4x-based Quadro FX


</P>

<H1><A NAME="SYNOPSIS"><A NAME="2">SYNOPSIS

</A></A></H1>
<PRE>  vp40
</PRE>
<H1><A NAME="DESCRIPTION"><A NAME="3">DESCRIPTION

</A></A></H1>
<P>
This OpenGL profile corresponds to the per-vertex 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_vertex_program3</B> and <B>ARB_vertex_program</B>.


</P>
<P>
Data-dependent loops and branching <I>are</I> allowed.


</P>
<P>
Relative indexing of uniform arrays <I>is</I> supported.


</P>
<P>
Texture accesses are supported. However substantial limitations on vertex
texturing exist for hardware acceleration by NV4x hardware.


</P>
<P>
NV4x hardware accelerates vertex fetches only for 1-, 3-,
and 4-component floating-point textures.  NV4x hardware does not
accelerated vertex-texturing for cube maps or 3D textures.  NV4x does
allow non-power-of-two sizes (width and height).


</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_program3</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/vertex_program3.txt">www.opengl.org/registry/specs/NV/vertex_program3.txt</A> 
 <A HREF="http://www.opengl.org/registry/specs/ARB/vertex_program.txt">www.opengl.org/registry/specs/ARB/vertex_program.txt</A> 
</PRE>
<H1><A NAME="PROFILE_OPTIONS"><A NAME="6">PROFILE OPTIONS

</A></A></H1>
<DL>
<DT><STRONG>PosInv=<I>val</I>

</STRONG></DT>
<DD>

<P>
Non-zero means generates code for position-invariant (with fixed-function)
position transformation.


</P>
<DT><STRONG>NumTemps=<I>val</I>

</STRONG></DT>
<DD>

<P>
Maximum number of temporary registers the implementation supports.
Set to the implementaiton-dependent value of
<CODE>GL_MAX_NATIVE_TEMPORARIES_ARB</CODE> for best performance.


</P>
<DT><STRONG>MaxAddressRegs=<I>val</I>

</STRONG></DT>
<DD>

<P>
Maximum number of address registers the implementation supports.
Set to the implementaiton-dependent value of
<CODE>GL_MAX_NATIVE_ADDRESS_REGISTERS_ARB</CODE> for best performance.


</P>
<DT><STRONG>MaxInstructions=<I>val</I>

</STRONG></DT>
<DD>

<P>
Maximum number of instructions the implementation supports.
Set to the implementaiton-dependent value of
<CODE>GL_MAX_NATIVE_INSTRUCTIONS_ARB</CODE> for best performance.


</P>
<DT><STRONG>MaxLocalParams=<I>val</I>

</STRONG></DT>
<DD>

<P>
Maximum number of local parameters the implementation supports.


</P>
</DD></DL>

<H1><A NAME="DATA_TYPES"><A NAME="7">DATA TYPES

</A></A></H1>
<DL>
<DT><STRONG>float

</STRONG></DT>
<DD>

<P>
This profile implements the float data type as IEEE 32-bit single precision.


</P>
<DT><STRONG>half

</STRONG></DT>
<DD>

<DT><STRONG>double

</STRONG></DT>
<DD>

<P>
<CODE>half</CODE> and <CODE>double</CODE> data types are treated as <CODE>float</CODE>.


</P>
<DT><STRONG>int

</STRONG></DT>
<DD>

<P>
The <CODE>int</CODE> data type is supported using floating point operations, which
adds extra instructions for proper truncation for divides, modulos and
casts from floating point types.  Because integer values are simulated
with IEEE single-precision floating-point, they are accurate over the
range -2^24 to 2^24 but will not overflow like true integers.


</P>
<DT><STRONG>fixed

</STRONG></DT>
<DD>

<DT><STRONG>sampler*

</STRONG></DT>
<DD>

<P>
This profile does not support any operations on the <CODE>fixed</CODE> or
<CODE>sampler</CODE>* data types, but does provide the minimal <I>partial support</I>
that is required for these data types by the core language spec (i.e. it
is legal to declare variables using these types, as long as no operations
are performed on the variables).


</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 set of binding semantics for varying input data to vp40 consists
of POSITION, BLENDWEIGHT, NORMAL, COLOR0, COLOR1, TESSFACTOR, PSIZE,
BLENDINDICES, and TEXCOORD0-TEXCOORD7. One can also use TANGENT and
BINORMAL instead of TEXCOORD6 and TEXCOORD7.


</P>
<P>
Additionally, a set of binding semantics ATTR0-ATTR15 can be
used. These binding semantics map to <B>NV_vertex_program3</B> input attribute
parameters.


</P>
<P>
The two sets act as aliases to each other on NVIDIA GPUs excluding Apple
Macs.  ATI GPUs and NVIDIA Mac GPUs do <I>not</I> alias the conventional
vertex attributes with the generic attributes.


</P>
<PRE>  Binding Semantics Name        Corresponding Data
  
  POSITION, ATTR0              Input Vertex, Generic Attribute 0 
  
  BLENDWEIGHT, ATTR1           Input vertex weight, Generic Attribute 1 
  
  NORMAL, ATTR2                Input normal, Generic Attribute 2
  
  DIFFUSE, COLOR0, ATTR3       Input primary color, Generic Attribute 3
  
  SPECULAR, COLOR1, ATTR4      Input secondary color, Generic Attribute 4
  
  TESSFACTOR, FOGCOORD, ATTR5  Input fog coordinate, Generic Attribute 5
  
  PSIZE, ATTR6                 Input point size, Generic Attribute 6
  
  BLENDINDICES, ATTR7          Generic Attribute 7
  
  TEXCOORD0-TEXCOORD7,         Input texture coordinates (texcoord0-texcoord7)
  ATTR8-ATTR15                 Generic Attributes 8-15

  TANGENT, ATTR14              Generic Attribute 14

  BINORMAL, ATTR15             Generic Attribute 15
</PRE>
<H2><A NAME="UNIFORM_INPUT_SEMANTICS"><A NAME="10">UNIFORM INPUT SEMANTICS

</A></A></H2>
<PRE>  C0-C255           Constant register [0..255].
                    The aliases c0-c255 (lowercase) are also accepted.
</PRE><P>
If used with a variable that requires more than one constant register
(e.g. a matrix), the semantic specifies the first register that is used.


</P>
<PRE>  TEXUNIT0-TEXUNIT15  Texture unit (but only 4 distinct texture units
                      are allowed)
</PRE>
<H2><A NAME="OUTPUT_SEMANTICS"><A NAME="11">OUTPUT SEMANTICS

</A></A></H2>
<PRE>  Binding Semantics Name        Corresponding Data
  
  POSITION, HPOS                Output position
  
  PSIZE, PSIZ                   Output point size
  
  FOG, FOGC                     Output fog coordinate
  
  COLOR0, COL0                  Output primary color 
  
  COLOR1, COL1                  Output secondary color
  
  BCOL0                         Output backface primary color
  
  BCOL1                         Output backface secondary color
  
  TEXCOORD0-TEXCOORD7,          Output texture coordinates
  TEX0-TEX7
  
  CLP0-CL5                      Output Clip distances
</PRE>
<H1><A NAME="STANDARD_LIBRARY_ISSUES"><A NAME="12">STANDARD LIBRARY ISSUES

</A></A></H1>
<P>
Standard library routines for texture cube map and rectangle samplers
are not supported by vp40.


</P>

<H1><A NAME="SEE_ALSO"><A NAME="13">SEE ALSO

</A></A></H1>
<P>
<A HREF="fp40.html">fp40</A>

</P>

</BLOCKQUOTE>



</BODY>