tornavis/intern/opensubdiv/opensubdiv_capi_type.hh

42 lines
941 B
C++

/* SPDX-FileCopyrightText: 2013 Blender Foundation
*
* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
enum eOpenSubdivEvaluator {
OPENSUBDIV_EVALUATOR_CPU = 0,
OPENSUBDIV_EVALUATOR_GPU = 1,
};
enum OpenSubdiv_SchemeType {
OSD_SCHEME_BILINEAR,
OSD_SCHEME_CATMARK,
OSD_SCHEME_LOOP,
};
enum OpenSubdiv_VtxBoundaryInterpolation {
// Do not interpolate boundaries
OSD_VTX_BOUNDARY_NONE,
// Sharpen edges.
OSD_VTX_BOUNDARY_EDGE_ONLY,
// sharpen edges and corners,
OSD_VTX_BOUNDARY_EDGE_AND_CORNER,
};
enum OpenSubdiv_FVarLinearInterpolation {
OSD_FVAR_LINEAR_INTERPOLATION_NONE,
OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_ONLY,
OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS1,
OSD_FVAR_LINEAR_INTERPOLATION_CORNERS_PLUS2,
OSD_FVAR_LINEAR_INTERPOLATION_BOUNDARIES,
OSD_FVAR_LINEAR_INTERPOLATION_ALL,
};
struct OpenSubdiv_PatchCoord {
int ptex_face;
// Parametric location on patch.
float u, v;
};