Surface Tessellation
Functions Introduced:
The function ProSurfaceTessellationGet() calculates the tessellation data given by the ProTessellation object for a specified surface. Use the function ProTessellationFree() to release the memory used by this data object.
The function ProTessellationVerticesGet() obtains the vertices for the tessellation for a specified surface.
The function ProTessellationFacetsGet() obtains the indices indicating the vertices used for each facet of the tessellated item.
The function ProTessellationNormalsGet() obtains the normal vectors for each of the tessellation vertices.
The function ProTessellationParamsGet() obtains the UV parameters for each of the tessellation vertices.
The function ProSurfacetessellationinputAlloc() allocates the ProSurfaceTessellationInput data object containing the options for surface tessellation. Use the function ProSurfacetessellationinputFree() to release the memory allocated to this data object.
The function ProSurfacetessellationinputChordheightSet() assigns the chord height used for surface tessellation.
The function ProSurfacetessellationinputAnglecontrolSet() assigns the value of the angle control used for surface tessellation.
The function ProSurfacetessellationinputStepsizeSet() assigns the maximum value for the step size used for surface tessellation.
The function ProSurfacetessellationinputUvprojectionSet() assigns the parameters used to calculate the UV projection for the texture mapping to the tessellation inputs. The types of UV projection are given by the enumerated type ProSurfaceTessellationProjection, and are as follows:
PRO_SRFTESS_DEFAULT_PROJECTION—Provides the UV parameters for the tessellation points that map to a plane whose U and V extents are [0,1] each. This is the default projection.
PRO_SRFTESS_PLANAR_PROJECTION—Projects the UV parameters using a planar transform, where u=x, v=y, and z is ignored.
PRO_SRFTESS_CYLINDRICAL_PROJECTION—Projects the UV parameters using a cylindrical transform, where x=r*cos(theta), y=r*sin(theta), u=theta, v=z, and r is ignored.
PRO_SRFTESS_SPHERICAL_PROJECTION—Projects the UV parameters onto a sphere, where x=r*cos(theta)*sin(phi), y=r*sin(theta)*sin(phi), z=r*cos(phi), u=theta, v=phi, and r is ignored.
PRO_SRFTESS_NO_PROJECTION—Provides the unmodified UV parameters for the tessellation points. This is similar to using the function ProSurfaceParamEval().
PRO_SRFTESS_BOX_PROJECTION—Projects the UV parameters using the box transform. The box transformation uses planar projection to project a point from the face of the box onto the model or surface, which is opposite to the face of the box, where u = x, v = y, and z is ignored.
Note:
 
If the function ProSurfacetessellationinputUvprojectionSet() is not used, the output tessellation will not contain any UV parameters and the function ProTessellationParamsGet() will not return any values.
Specify the unmodified UV parameters obtained using PRO_SRFTESS_NO_PROJECTION as the input u and v values for the functions ProSurfaceXyzdataEval(), ProSurfaceUvpntVerify(), ProSurfaceDiameterEval(), and ProSurfacePrincipalCrvtEval().
도움이 되셨나요?