@@ -293,12 +293,14 @@ int main(int argc, char** argv)
293
293
std::cout << " \t Sensor Type is not valid" << std::endl;
294
294
return false ;
295
295
}
296
-
296
+
297
297
outSensorData.samplesNeeded = sensor.sampler .sampleCount ;
298
298
outSensorData.staticCamera = smgr->addCameraSceneNode (nullptr );
299
299
outSensorData.interactiveCamera = smgr->addCameraSceneNodeModifiedMaya (nullptr , -400 .0f , 20 .0f , 200 .0f , -1 , 2 .0f , 1 .0f , false , true );
300
300
auto & staticCamera = outSensorData.staticCamera ;
301
301
auto & interactiveCamera = outSensorData.interactiveCamera ;
302
+
303
+ std::cout << " \t SamplesPerPixelNeeded = " << outSensorData.samplesNeeded << std::endl;
302
304
303
305
// need to extract individual components
304
306
{
@@ -416,9 +418,17 @@ int main(int argc, char** argv)
416
418
std::cout << " New Injected Sensors[0] = " << std::endl;
417
419
SensorData newSensor = {};
418
420
extractSensorData (newSensor, globalMeta->m_global .m_sensors [0 ]);
419
- newSensor.staticCamera ->setPosition (core::vector3df (0 .0f ,0 .0f ,0 .0f ));
421
+ newSensor.staticCamera ->setPosition (core::vector3df (0 .0f ,2 .0f ,0 .0f ));
422
+ newSensor.staticCamera ->setTarget (core::vector3df (-0 .900177f , 2 .0f , -0 .435524f ));
423
+ core::vectorSIMDf UpVector (0 .0f , 1 .0f , 0 .0f );
424
+ newSensor.staticCamera ->setUpVector (UpVector);
425
+ newSensor.staticCamera ->render (); // It's not actually "render" :| It's basically recomputeViewMatrix ;
426
+
420
427
newSensor.resetInteractiveCamera ();
421
428
sensors.push_back (newSensor);
429
+
430
+ sensors[0 ].samplesNeeded = 4u ;
431
+ sensors[1 ].samplesNeeded = 4u ;
422
432
#endif
423
433
424
434
auto driver = device->getVideoDriver ();
@@ -482,6 +492,7 @@ int main(int argc, char** argv)
482
492
bool needsReinit = (activeSensor == -1 ) || (sensors[activeSensor].width != sensors[index].width ) || (sensors[activeSensor].height != sensors[index].height ); // should be >= or != ?
483
493
activeSensor = index;
484
494
495
+ renderer->resetSampleAndFrameCounters ();
485
496
if (needsReinit)
486
497
{
487
498
renderer->deinitScreenSizedResources ();
@@ -521,7 +532,7 @@ int main(int argc, char** argv)
521
532
}
522
533
523
534
driver->beginScene (false , false );
524
-
535
+
525
536
renderer->render (device->getTimer ());
526
537
527
538
auto oldVP = driver->getViewPort ();
@@ -556,18 +567,20 @@ int main(int argc, char** argv)
556
567
{
557
568
const auto & sensorData = sensors[s];
558
569
559
- std::cout << " -- Rendering " << filePath << " (Sensor=" << s << " ) to file..." << std::endl;
560
- smgr->setActiveCamera (sensorData.staticCamera );
570
+ std::cout << " -- Rendering " << filePath << " , Sensor = " << s << " to file." << std::endl;
561
571
562
572
bool needsReinit = (prevWidth != sensorData.width ) || (prevHeight != sensorData.height ); // >= or !=
563
573
prevWidth = sensorData.width ;
564
574
prevHeight = sensorData.height ;
565
-
575
+
576
+ renderer->resetSampleAndFrameCounters (); // so that renderer->getTotalSamplesPerPixelComputed is 0 at the very beginning
566
577
if (needsReinit)
567
578
{
568
579
renderer->deinitScreenSizedResources ();
569
580
renderer->initScreenSizedResources (sensorData.width , sensorData.height , std::move (sampleSequence));
570
581
}
582
+
583
+ smgr->setActiveCamera (sensorData.staticCamera );
571
584
572
585
const uint32_t samplesPerPixelPerDispatch = renderer->getSamplesPerPixelPerDispatch ();
573
586
const uint32_t maxNeededIterations = (sensorData.samplesNeeded + samplesPerPixelPerDispatch - 1 ) / samplesPerPixelPerDispatch;
0 commit comments