#pragma once
#include "patch.h"
#include "catmullclark_patch.h"
#include "bspline_patch.h"
#include "gregory_patch.h"
#include "tessellation.h"
namespace embree
{
namespace isa
{
struct FeatureAdaptiveEvalGrid
{ … };
template<typename Eval, typename Patch>
bool stitch_col(const Patch& patch, int subPatch,
const bool right, const unsigned y0, const unsigned y1, const int fine_y, const int coarse_y,
float* Px, float* Py, float* Pz, float* U, float* V, float* Nx, float* Ny, float* Nz, const unsigned dx0, const unsigned dwidth, const unsigned dheight)
{ … }
template<typename Eval, typename Patch>
bool stitch_row(const Patch& patch, int subPatch,
const bool bottom, const unsigned x0, const unsigned x1, const int fine_x, const int coarse_x,
float* Px, float* Py, float* Pz, float* U, float* V, float* Nx, float* Ny, float* Nz, const unsigned dy0, const unsigned dwidth, const unsigned dheight)
{ … }
template<typename Eval, typename Patch>
void feature_adaptive_eval_grid (const Patch& patch, unsigned subPatch, const float levels[4],
const unsigned x0, const unsigned x1, const unsigned y0, const unsigned y1, const unsigned swidth, const unsigned sheight,
float* Px, float* Py, float* Pz, float* U, float* V, float* Nx, float* Ny, float* Nz, const unsigned dwidth, const unsigned dheight)
{ … }
}
}