Sophie

Sophie

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

cg-3.0.0018-0.1.i586.rpm

<HTML>

<HEAD>
<TITLE>cgSetParameterValue</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>cgSetParameterValue</B> - set the value of any numeric parameter


</P>

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

</A></A></H1>
<PRE>  #include &lt;Cg/cg.h&gt;

  /* TYPE is int, float or double */

  void cgSetParameterValue{ifd}{rc}( CGparameter param, 
                                     int nelements,
                                     const TYPE * v );
</PRE>
<H1><A NAME="PARAMETERS"><A NAME="3">PARAMETERS

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

</STRONG></DT>
<DD>

<P>
The program parameter whose value will be set.


</P>
<DT><STRONG>nelements

</STRONG></DT>
<DD>

<P>
The number of elements in array <B>v</B>.


</P>
<DT><STRONG>v

</STRONG></DT>
<DD>

<P>
Source buffer from which the parameter values will be read.


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

<H1><A NAME="RETURN_VALUES"><A NAME="4">RETURN VALUES

</A></A></H1>
<P>
None.


</P>

<H1><A NAME="DESCRIPTION"><A NAME="5">DESCRIPTION

</A></A></H1>
<P>
<B>cgSetParameterValue</B> allows the application to 
set the value of any numeric parameter or parameter array.


</P>
<P>
The given parameter must be a scalar, vector, matrix, or a
(possibly multidimensional) array of scalars, vectors, or matrices.


</P>
<P>
There are versions of each function that take <B>int</B>, <B>float</B> or 
<B>double</B> values signified by the <B>i</B>, <B>f</B> or <B>d</B> in the function name.


</P>
<P>
There are versions of each function that will cause any matrices
referenced by <B>param</B> to be initialized in either row-major or
column-major order, as
signified by the <B>r</B> or <B>c</B> in the function name.


</P>
<P>
For example, <A HREF="cgSetParameterValueic.html">cgSetParameterValueic</A> sets the given parameter using the supplied array of integer data, and initializes matrices in column-major order.


</P>
<P>
If <B>v</B> is smaller than the total number of values in the given
source parameter, <B>CG_NOT_ENOUGH_DATA_ERROR</B> is generated.


</P>
<P>
The total number of values in a parameter, ntotal, may be computed as follow:


</P>
<PRE>    int nrows = cgGetParameterRows(param);
    int ncols = cgGetParameterColumns(param);
    int asize = cgGetArrayTotalSize(param);
    int ntotal = nrows*ncols;
    if (asize &gt; 0) ntotal *= asize;
</PRE><P>
<B>Note:</B> Previous releases of Cg allowed you to store more values in a parameter than
indicated by the parameter's type. For example, one could use
<A HREF="cgGLSetParameter4f.html">cgGLSetParameter4f</A> to
store four values into a parameter of type <B>CG_FLOAT</B> (not <B>CG_FLOAT4</B>). All four
values could later be retrieved using a get call which requested more than one value.
However, this feature conflicts with the GLSL approach and also leads to issues with
parameters mapped into BUFFERS. Therefore, beginning with Cg 2.0 any components beyond
the number indicated by the parameter type are ignored.


</P>

<H1><A NAME="EXAMPLES"><A NAME="6">EXAMPLES

</A></A></H1>
<P>
<I>to-be-written</I>


</P>

<H1><A NAME="ERRORS"><A NAME="7">ERRORS

</A></A></H1>
<P>
<B>CG_INVALID_PARAM_HANDLE_ERROR</B> is generated if <B>param</B> is not a valid parameter.


</P>
<P>
<B>CG_INVALID_PARAMETER_ERROR</B> is generated if <B>param</B> is a varying input
to a fragment program.


</P>
<P>
<B>CG_INVALID_POINTER_ERROR</B> is generated if <B>v</B> is <B>NULL</B>.


</P>
<P>
<B>CG_NOT_ENOUGH_DATA_ERROR</B> is generated if <B>nelements</B> is less than the total size of <B>param</B>.


</P>
<P>
<B>CG_NON_NUMERIC_PARAMETER_ERROR</B> is generated if <B>param</B> is of a non-numeric type.


</P>

<H1><A NAME="HISTORY"><A NAME="8">HISTORY

</A></A></H1>
<P>
The <B>cgSetParameterValue</B> functions were introduced in Cg 1.4.


</P>

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

</A></A></H1>
<P>
<A HREF="cgGetParameterRows.html">cgGetParameterRows</A>,
<A HREF="cgGetParameterColumns.html">cgGetParameterColumns</A>,
<A HREF="cgGetArrayTotalSize.html">cgGetArrayTotalSize</A>,
<A HREF="cgGetParameterValue.html">cgGetParameterValue</A>

</P>

</BLOCKQUOTE>



</BODY>