MCPcopy Create free account
hub / github.com/RenderKit/embree / create

Function create

kernels/subdiv/patch.h:241–259  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

239
240 template<typename Allocator>
241 __noinline static Ref create(const Allocator& alloc, const HalfEdge* edge, const char* vertices, size_t stride)
242 {
243 if (PATCH_MAX_CACHE_DEPTH == 0)
244 return nullptr;
245
246 Ref child(0);
247 switch (edge->patch_type) {
248 case HalfEdge::BILINEAR_PATCH: child = BilinearPatch::create(alloc,edge,vertices,stride); break;
249 case HalfEdge::REGULAR_QUAD_PATCH: child = RegularPatch::create(alloc,edge,vertices,stride); break;
250#if PATCH_USE_GREGORY == 2
251 case HalfEdge::IRREGULAR_QUAD_PATCH: child = GregoryPatch::create(alloc,edge,vertices,stride); break;
252#endif
253 default: {
254 GeneralCatmullClarkPatch patch(edge,vertices,stride);
255 child = PatchT::create(alloc,patch,edge,vertices,stride,0);
256 }
257 }
258 return child;
259 }
260
261 template<typename Allocator>
262 __noinline static Ref create(const Allocator& alloc, GeneralCatmullClarkPatch& patch, const HalfEdge* edge, const char* vertices, size_t stride, size_t depth)

Callers 11

createMethod · 0.85
createEagerMethod · 0.85
rebuildMethod · 0.85
ifFunction · 0.85
PatchEvalSimdMethod · 0.85
PatchEvalMethod · 0.85
initTaskingSystemMethod · 0.85
exitTaskingSystemMethod · 0.85
initMethod · 0.85
mallocMethod · 0.85

Calls 4

fix_quad_ring_orderFunction · 0.85
finalFunction · 0.85
initMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected