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

Function OBJMaterial__preprocess

tutorials/pathtracer/pathtracer_device.cpp:538–552  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

536////////////////////////////////////////////////////////////////////////////////
537
538void OBJMaterial__preprocess(ISPCOBJMaterial* material, BRDF& brdf, const Vec3fa& wo, const DifferentialGeometry& dg, const Medium& medium)
539{
540 float d = material->d;
541 if (material->map_d) d *= getTextureTexel1f(material->map_d,dg.u,dg.v);
542 brdf.Ka = Vec3fa(material->Ka);
543 //if (material->map_Ka) { brdf.Ka *= material->map_Ka->get(dg.st); }
544 brdf.Kd = d * Vec3fa(material->Kd);
545 if (material->map_Kd) brdf.Kd = brdf.Kd * getTextureTexel3f(material->map_Kd,dg.u,dg.v);
546 brdf.Ks = d * Vec3fa(material->Ks);
547 //if (material->map_Ks) brdf.Ks *= material->map_Ks->get(dg.st);
548 brdf.Ns = material->Ns;
549 //if (material->map_Ns) { brdf.Ns *= material->map_Ns.get(dg.st); }
550 brdf.Kt = (1.0f-d)*Vec3fa(material->Kt);
551 brdf.Ni = material->Ni;
552}
553
554Vec3fa OBJMaterial__eval(ISPCOBJMaterial* material, const BRDF& brdf, const Vec3fa& wo, const DifferentialGeometry& dg, const Vec3fa& wi)
555{

Callers 1

Material__preprocessFunction · 0.85

Calls 3

getTextureTexel1fFunction · 0.85
getTextureTexel3fFunction · 0.85
Vec3faClass · 0.50

Tested by

no test coverage detected