+void run(uchar4* ptrDevPixels, int dw, int dh, int dg, int db, int nbFrame)\r
+ {\r
+ cout << "Raytracing Without GL ";\r
+#if CURRENT_MEMORY_MODEL == MEMORY_MODEL_GLOBAL\r
+ cout << "(Global memory)" << endl;\r
+#elif CURRENT_MEMORY_MODEL == MEMORY_MODEL_CONSTANT\r
+ cout << "(Constant memory)" << endl;\r
+#elif CURRENT_MEMORY_MODEL == MEMORY_MODEL_SHARED\r
+ cout << "(Shared memory)" << endl;\r
+#endif\r
+\r
+ cout << "Nb frames: " << nbFrame << endl;\r
+\r
+ RayTracing* rayTracing = RayTracingProvider::create(dw, dh, dg, db);\r
+\r
+ Chronos chronos;\r
+ chronos.start();\r
+\r
+ for (int i = 0; i < nbFrame; i++)\r
+ rayTracing->runGPU(ptrDevPixels);\r
+\r
+ HANDLE_ERROR(cudaDeviceSynchronize());\r
+\r
+ chronos.stop();\r
+\r
+ cout << "Time: " << chronos << endl;\r
+ cout << "-------------------" << endl;\r
+ }\r
+\r