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

Function eval

kernels/subdiv/gregory_patch.h:425–437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

423 }
424
425 static __forceinline Vertex eval(const Vertex matrix[4][4], const Vertex f[2][2], const float& uu, const float& vv)
426 {
427 Vertex_t v_11, v_12, v_22, v_21;
428 computeInnerVertices(matrix,f,uu,vv,v_11, v_12, v_22, v_21);
429
430 const Vec4<float> Bu = BezierBasis::eval(uu);
431 const Vec4<float> Bv = BezierBasis::eval(vv);
432
433 return madd(Bv.x,madd(Bu.x,matrix[0][0],madd(Bu.y,matrix[0][1],madd(Bu.z,matrix[0][2],Bu.w * matrix[0][3]))),
434 madd(Bv.y,madd(Bu.x,matrix[1][0],madd(Bu.y,v_11 ,madd(Bu.z,v_12 ,Bu.w * matrix[1][3]))),
435 madd(Bv.z,madd(Bu.x,matrix[2][0],madd(Bu.y,v_21 ,madd(Bu.z,v_22 ,Bu.w * matrix[2][3]))),
436 Bv.w*madd(Bu.x,matrix[3][0],madd(Bu.y,matrix[3][1],madd(Bu.z,matrix[3][2],Bu.w * matrix[3][3]))))));
437 }
438
439 static __forceinline Vertex eval_du(const Vertex matrix[4][4], const Vertex f[2][2], const float uu, const float vv) // approximative derivative
440 {

Callers 4

eval_duFunction · 0.70
eval_dvFunction · 0.70
eval_duduFunction · 0.70
eval_dvdvFunction · 0.70

Calls 10

computeInnerVerticesFunction · 0.85
storeFunction · 0.85
eval_tFunction · 0.85
eval_duFunction · 0.70
eval_dvFunction · 0.70
eval_duduFunction · 0.70
eval_dvdvFunction · 0.70
eval_dudvFunction · 0.70
maddFunction · 0.50
sqrFunction · 0.50

Tested by

no test coverage detected