/// <summary> /// <para>The annotations associated with a technique can be retrieved directly by name using cgGetNamedTechniqueAnnotation.</para> /// <para>The names of a technique's annotations can be discovered by iterating through the annotations (see cgGetFirstTechniqueAnnotation and cgGetNextAnnotation), calling cgGetAnnotationName for each one in turn.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetNamedTechniqueAnnotation was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique from which to retrieve the annotation.</param> /// <param name="name">The name of the annotation to retrieve.</param> /// <returns>Returns the named annotation. Returns NULL if the technique has no annotation corresponding to name.</returns> public static CgAnnotation GetNamedTechniqueAnnotation(CgTechnique tech, [In]string name) { return cgGetNamedTechniqueAnnotation(tech, name); }
/// <summary> /// <para>The annotations associated with a technique can be retrieved using cgGetFirstTechniqueAnnotation.</para> /// <para>The remainder of the technique's annotations can be discovered by iterating through the parameters, calling cgGetNextAnnotation to get to the next one.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetFirstTechniqueAnnotation was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique from which to retrieve the annotation.</param> /// <returns>Returns the first annotation in the given technique. Returns NULL if the technique has no annotations or an error occurs.</returns> public static CgAnnotation GetFirstTechniqueAnnotation(CgTechnique tech) { return cgGetFirstTechniqueAnnotation(tech); }
/// <summary> /// <para>The passes of a technique can be retrieved directly by name using cgGetNamedPass.</para> /// <para>The names of the passes in a technique can be discovered by iterating through the technique's passes (see cgGetFirstPass and cgGetNextPass), calling cgGetPassName for each one in turn.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetNamedPass was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique from which to retrieve the pass.</param> /// <param name="name">The name of the pass to retrieve.</param> /// <returns>Returns the named pass from the technique. Returns NULL if the technique has no pass corresponding to name.</returns> public static CgPass GetNamedPass(CgTechnique tech, [In]string name) { return cgGetNamedPass(tech, name); }
/// <summary> /// <para>cgValidateTechnique iterates over all of the passes of a technique and tests to see if every state assignment in the pass passes validation.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgValidateTechnique was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique handle to validate.</param> /// <returns>Returns CG_TRUE if all of the state assignments in all of the passes in tech are valid and can be used on the current hardware. Returns CG_FALSE if any state assignment fails validation, or if an error occurs.</returns> public static CgBool ValidateTechnique(CgTechnique tech) { return cgValidateTechnique(tech); }
private static extern CgBool cgIsTechnique(CgTechnique technique);
/// <summary> /// <para>cgGetTechniqueName allows the application to retrieve the name of a technique in a Cg effect.</para> /// <para>This name can be used later to retrieve the technique from the effect using cgGetNamedTechnique.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetTechniqueName was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique.</param> /// <returns>Returns the NULL-terminated name string for the technique. Returns NULL if tech is invalid.</returns> public static string GetTechniqueName(CgTechnique tech) { return cgGetTechniqueName(tech); }
/// <summary> /// <para>cgIsTechniqueValidated returns CG_TRUE if the technique has previously passes validation via a call to cgValidateTechnique.</para> /// <para>CG_FALSE is returned both if validation hasn't been attempted as well as if the technique has failed a validation attempt.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgIsTechniqueValidated was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique handle.</param> /// <returns>Returns CG_TRUE if the technique has previously passes validation via a call to cgValidateTechnique. Returns CG_FALSE if validation hasn't been attempted or the technique has failed a validation attempt.</returns> public static CgBool IsTechniqueValidated(CgTechnique tech) { return cgIsTechniqueValidated(tech); }
private static extern CgAnnotation cgGetFirstTechniqueAnnotation(CgTechnique technique);
private static extern CgPass cgGetNamedPass(CgTechnique technique, [In] string name);
private static extern CgAnnotation cgCreateTechniqueAnnotation(CgTechnique technique, [In]string name, CgType type);
private static extern CgPass cgGetFirstPass(CgTechnique technique);
private static extern CgPass cgCreatePass(CgTechnique technique, [In] string name);
private static extern CgBool cgValidateTechnique(CgTechnique technique);
private static extern CgBool cgIsTechniqueValidated(CgTechnique technique);
/// <summary> /// <para>The techniques within a effect can be iterated over using cgGetNextTechnique.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetNextTechnique was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The current technique.</param> /// <returns>Returns the next technique in the effect's internal sequence of techniques. Returns NULL when tech is the last technique in the effect.</returns> public static CgTechnique GetNextTechnique(CgTechnique tech) { return cgGetNextTechnique(tech); }
private static extern CgAnnotation cgGetNamedTechniqueAnnotation(CgTechnique technique, [In] string name);
/// <summary> /// <para>cgGetTechniqueEffect allows the application to retrieve a handle to the effect to which a given technique belongs.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetTechniqueEffect was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique.</param> /// <returns>Returns a CGeffect handle to the effect. Returns NULL if an error occurs.</returns> public static CgEffect GetTechniqueEffect(CgTechnique tech) { return cgGetTechniqueEffect(tech); }
private static extern CgTechnique cgGetNextTechnique(CgTechnique technique);
/// <summary> /// <para>cgIsTechnique returns CG_TRUE if tech references a valid technique, CG_FALSE otherwise.</para> /// <para>VERSION: cgIsTechnique was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique handle to check.</param> /// <returns>Returns CG_TRUE if tech references a valid technique. Returns CG_FALSE otherwise.</returns> public static CgBool IsTechnique(CgTechnique tech) { return cgIsTechnique(tech); }
private static extern CgEffect cgGetTechniqueEffect(CgTechnique technique);
/// <summary> /// <para>cgCreatePass adds a new pass to the specified technique.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgCreatePass was introduced in Cg 1.5.</para> /// </summary> /// <param name="tech">The technique to which the new pass will be added.</param> /// <param name="name">The name of the new pass.</param> /// <returns>Returns the handle to the new pass on success. Returns NULL if an error occurs.</returns> public static CgPass CreatePass(CgTechnique tech, [In]string name) { return cgCreatePass(tech, name); }
/// <summary> /// <para>cgGetFirstPass is used to begin iteration over all of the passes contained within a technique.</para> /// <para>See cgGetNextPass for more information.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique.</para> /// <para>VERSION: cgGetFirstPass was introduced in Cg 1.4.</para> /// </summary> /// <param name="tech">The technique from which to retrieve the first pass.</param> /// <returns>Returns the first CGpass object in tech. Returns NULL if tech contains no passes.</returns> public static CgPass GetFirstPass(CgTechnique tech) { return cgGetFirstPass(tech); }
/// <summary> /// <para>cgCreateTechniqueAnnotation adds a new annotation to the technique.</para> /// <para>ERROR: CG_INVALID_TECHNIQUE_HANDLE_ERROR is generated if tech is not a valid technique. CG_DUPLICATE_NAME_ERROR is generated if name is already used by an annotation for this technique. CG_INVALID_ENUMERANT_ERROR is generated if type is not CG_INT, CG_FLOAT, CG_BOOL, or CG_STRING.</para> /// <para>VERSION: cgCreateTechniqueAnnotation was introduced in Cg 1.5.</para> /// </summary> /// <param name="tech">The technique to which the new annotation will be added.</param> /// <param name="name">The name of the new annotation.</param> /// <param name="type">The type of the new annotation.</param> /// <returns>Returns the new CGannotation handle on success. Returns NULL if an error occurs.</returns> public static CgAnnotation CreateTechniqueAnnotation(CgTechnique tech, [In]string name, CgType type) { return cgCreateTechniqueAnnotation(tech, name, type); }
private static extern string cgGetTechniqueName(CgTechnique technique);