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

Method run

tutorials/verify/verify.cpp:3892–3962  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3890 : VerifyApplication::IntersectTest(name,isa,imode,ivariant,VerifyApplication::TEST_SHOULD_PASS), sflags(sflags), quality(quality) {}
3891
3892 VerifyApplication::TestReturnValue run(VerifyApplication* state, bool silent)
3893 {
3894 std::string cfg = state->rtcore + ",isa="+stringOfISA(isa);
3895 RTCDeviceRef device = rtcNewDevice(cfg.c_str());
3896 errorHandler(nullptr,rtcGetDeviceError(device));
3897
3898 const size_t numRays = 1000;
3899 RTCRayHit rays[numRays];
3900 VerifyScene scene(device,sflags);
3901 scene.addSphere(sampler,quality,zero,2.0f,100);
3902 scene.addHair (sampler,quality,zero,1.0f,1.0f,100);
3903 rtcCommitScene (scene);
3904 AssertNoError(device);
3905
3906 bool ok = false;
3907 for (size_t i=0; i<10 && !ok; i++)
3908 {
3909 double c0 = getSeconds();
3910 for (size_t i=0; i<numRays; i++) {
3911 Vec3fa org = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3912 Vec3fa dir = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3913 rays[i] = makeRay(org,dir);
3914 }
3915 IntersectWithMode(imode,ivariant,scene,rays,numRays);
3916
3917 double c1 = getSeconds();
3918 for (size_t i=0; i<numRays; i++) {
3919 Vec3fa org = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3920 Vec3fa dir = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3921 rays[i] = makeRay(org+Vec3fa(inf),dir);
3922 }
3923 IntersectWithMode(imode,ivariant,scene,rays,numRays);
3924
3925 double c2 = getSeconds();
3926 for (size_t i=0; i<numRays; i++) {
3927 Vec3fa org = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3928 Vec3fa dir = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3929 rays[i] = makeRay(org,dir+Vec3fa(inf));
3930 }
3931 IntersectWithMode(imode,ivariant,scene,rays,numRays);
3932
3933 double c3 = getSeconds();
3934 for (size_t i=0; i<numRays; i++) {
3935 Vec3fa org = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3936 Vec3fa dir = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3937 rays[i] = makeRay(org+Vec3fa(inf),dir+Vec3fa(inf));
3938 }
3939 IntersectWithMode(imode,ivariant,scene,rays,numRays);
3940
3941 double c4 = getSeconds();
3942 for (size_t i=0; i<numRays; i++) {
3943 Vec3fa org = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3944 Vec3fa dir = 2.0f*random_Vec3fa() - Vec3fa(1.0f);
3945 rays[i] = makeRay(org,dir,-0.0f,inf);
3946 }
3947 IntersectWithMode(imode,ivariant,scene,rays,numRays);
3948
3949 double c5 = getSeconds();

Callers

nothing calls this directly

Calls 14

stringOfISAFunction · 0.85
rtcNewDeviceFunction · 0.85
errorHandlerFunction · 0.85
rtcGetDeviceErrorFunction · 0.85
rtcCommitSceneFunction · 0.85
AssertNoErrorFunction · 0.85
getSecondsFunction · 0.85
makeRayFunction · 0.85
IntersectWithModeFunction · 0.85
addSphereMethod · 0.80
addHairMethod · 0.80
Vec3faClass · 0.50

Tested by

no test coverage detected