[cgkit-commits] cgkit2/doc/tex rmmaterial.tex,1.3,1.4
Brought to you by:
mbaas
From: Matthias B. <mb...@us...> - 2006-01-28 18:33:52
|
Update of /cvsroot/cgkit/cgkit2/doc/tex In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11255/doc/tex Modified Files: rmmaterial.tex Log Message: New constructor argument 'params' to pass a dictionary containing shader parameters (if no source file is available) Index: rmmaterial.tex =================================================================== RCS file: /cvsroot/cgkit/cgkit2/doc/tex/rmmaterial.tex,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** rmmaterial.tex 14 Aug 2005 11:08:27 -0000 1.3 --- rmmaterial.tex 28 Jan 2006 18:33:44 -0000 1.4 *************** *** 88,91 **** --- 88,92 ---- cpp = None, \\ cpperrstream = sys.stderr, \\ + params = None, \\ paramlist} *************** *** 103,108 **** \ref{slparams}) for details). ! Any additional argument to the constructor is considered to be a shader ! parameter. You can either specify token/value pairs, keyword arguments ! or a dictionary with token/value pairs. \end{classdesc} --- 104,163 ---- \ref{slparams}) for details). ! \var{params} can be used to declare parameters if the shader source ! is not available. The value must be a dictionary that contains ! token/value pairs. The token may contain an inline declaration. ! ! Any additional keyword argument is also considered to be a shader ! parameter. However, this parameter cannot have an inline declaration, ! so it is recommended to declare the parameter afterwards using the ! \method{declare()} method, otherwise no declaration will be ! written in the RIB file and you have to care about the declaration ! yourself. \end{classdesc} + + % shaderName + \begin{methoddesc}{shaderName}{} + Return the shader name or \code{None} if the name is not known. + \end{methoddesc} + + % shaderType + \begin{methoddesc}{shaderType}{} + Return the shader type as a string (\code{"surface"}, \code{"displacement"}, + \code{"light"}, ...) or \code{None} if the type is not known. + \end{methoddesc} + + % declare + \begin{methoddesc}{declare}{name, type=None, cls=None, arraysize=None, default=None} + Declare a shader parameter. \var{name} is the parameter + name. \var{name} may also contain the entire declaration in SL + syntax. In this case, all other arguments are ignored, otherwise they + provide the missing information. \var{type} is the only parameter that is + mandatory if name does not contain the entire declaration. It contains + the name of the SL parameter type (float, string, color, point, vector, + normal, matrix). \var{cls} is the storage class (uniform, varying). + \var{arraysize} specifies the size of the array and \var{default} contains + the default value. + + When a parameter is declared it is added to the list of known + parameters and a corresponding slot (\code{<name>_slot}) is created. + + Examples: + + \begin{verbatim} + shader.declare('uniform float Ka=0.5') + shader.declare('uniform float Ka') + shader.declare('float Ka') + shader.declare('Ka', type='float') + \end{verbatim} + + A parameter that was specified in the constructor is used as default value + when the parameter is declared. In this case, any default value passed to + the \function{declare()} method is ignored. + \end{methoddesc} + + % params + \begin{methoddesc}{params}{} + Return a dictionary containing the parameters for the current time. + The key is the parameter name (containing an inline declaration if + available) and the value is the current value of the parameter. + \end{methoddesc} |