NAME
    cgIsParameterUsed - determine if a parameter is potentially used

SYNOPSIS
      #include <Cg/cg.h>

      CGbool cgIsParameterUsed( CGparameter param,
                                CGhandle container );

PARAMETERS
    param   The parameter to check.

    container
            Specifies the CGeffect, CGtechnique, CGpass, CGstateassignment,
            or CGprogram that may potentially use param.

RETURN VALUES
    Returns CG_TRUE if param is potentially used by container.

    Returns CG_FALSE otherwise.

DESCRIPTION
    cgIsParameterUsed returns CG_TRUE if param is potentially used by the
    given container. If param is a struct or array, CG_TRUE is returned if
    any of its children are potentially used by container. It otherwise
    returns CG_FALSE.

    The value returned by cgIsParameterUsed is conservative, but not always
    exact. A return value of CG_TRUE indicates that the parameter may be
    used by container. A return value of CG_FALSE indicates that the
    parameter is definintely not used by container.

    The given param handle may reference a program parameter, an effect
    parameter, or a shared parameter.

    The container handle may reference a CGeffect, CGtechnique, CGpass,
    CGstateassignment, or CGprogram.

    If container is a CGprogram, CG_TRUE is returned if any of the program's
    referenced parameters inherit their values directly or indirectly (due
    to parameter connections) from param.

    If container is a CGstateassignment, CG_TRUE is returned if the
    right-hand side of the state assignment may directly or indirectly
    depend on the value of param. If the state assignment involves a
    CGprogram, the program's parameters are also considered, as above.

    If container is a CGpass, CG_TRUE is returned if any of the pass' state
    assignments potentially use param.

    If container is a CGtechnique, CG_TRUE is returned if any of the
    technqiue's passes potentially use param.

    If container is a CGeffect, CG_TRUE is returned if any of the effect's
    techniques potentially use param.

EXAMPLES
    *to-be-written*

ERRORS
    CG_INVALID_PARAM_HANDLE_ERROR is generated if the param handle is not a
    valid parameter, or if container is not the handle of a valid container.

HISTORY
    cgIsParameterUsed was introduced in Cg 1.4.

SEE ALSO
    the cgIsParameterReferenced manpage, the cgConnectParameter manpage

