diff --git a/demos/optical_bench/src/lens.cpp b/demos/optical_bench/src/lens.cpp index a3c55b0eb9745ba70ba305210c7f779122888855..8848652a3b90f2d4d4fd59228d5505f5a06ce81e 100644 --- a/demos/optical_bench/src/lens.cpp +++ b/demos/optical_bench/src/lens.cpp @@ -349,7 +349,7 @@ void Lens::CreateGlassMaterialInstance() { manager_->GetGlassProgramIterative()); glass_material_["importance_cutoff"]->setFloat(1e-2f); - glass_material_["cutoff_color"]->setFloat(0.034f, 0.055f, 0.085f); + glass_material_["cutoff_color"]->setFloat(0.035f, 0.102f, 0.169f); glass_material_["fresnel_exponent"]->setFloat(3.0f); glass_material_["fresnel_minimum"]->setFloat(0.1f); glass_material_["fresnel_maximum"]->setFloat(1.0f); diff --git a/demos/optical_bench/src/optix_context_manager.cpp b/demos/optical_bench/src/optix_context_manager.cpp index 02ec10b600491c85c49a841a6f65d569fcdb8fff..6e9bbbf6b4f958443216e84138d612ba373ced3b 100644 --- a/demos/optical_bench/src/optix_context_manager.cpp +++ b/demos/optical_bench/src/optix_context_manager.cpp @@ -37,9 +37,7 @@ OptixContextManager::OptixContextManager() { context_->setRayTypeCount(2); context_->setEntryPointCount(1); - context_->setPrintEnabled(true); - context_->setPrintBufferSize(1024); - context_->setStackSize(8000l); + context_->setStackSize(2000l); context_["max_depth"]->setInt(10); context_["scene_epsilon"]->setFloat(1.e-4f); @@ -47,11 +45,17 @@ OptixContextManager::OptixContextManager() { // Exception program optix::Program exception_program = context_->createProgramFromPTXString( GetPtxString("exception.cu"), "exception"); + context_->setExceptionProgram(0, exception_program); // Miss Programm (avoid random data in buffer) context_->setMissProgram(0, context_->createProgramFromPTXString( GetPtxString("skybox.cu"), "skyboxLookup")); + // For debugging + // context_->setPrintEnabled(true); + // context_->setPrintBufferSize(1024); + context_->setExceptionEnabled(RT_EXCEPTION_ALL, false); + // Ray generation program optix::Program rayProg = context_->createProgramFromPTXString( GetPtxString("perspective_camera.cu"), "pinhole_camera"); diff --git a/demos/optical_bench/src/ray_pass.cpp b/demos/optical_bench/src/ray_pass.cpp index aae965e9d1fda73ddcbdc31739a9b8c2c9257029..4ff03c2241609aa57a61acedaaecd375d1263c05 100644 --- a/demos/optical_bench/src/ray_pass.cpp +++ b/demos/optical_bench/src/ray_pass.cpp @@ -227,7 +227,7 @@ void RayPass::LaunchLaser() { random_seed++); // totally "random" (only used as seed) try { optix_context_manager_->GetContext()->launch(laser_entry_, 50, 50, - kLaserTracesPerFrame_); + kLaserTracesPerFrame_); } catch (optix::Exception e) { phx::error(e.getErrorString().c_str()); } @@ -244,6 +244,8 @@ void RayPass::CreateLaser() { laser_entry_ = context->getEntryPointCount(); context->setEntryPointCount(laser_entry_ + 1); // Add new Entrypoint + context->setExceptionProgram(1, context->getExceptionProgram(1)); + // Ray generation program optix::Program rayProg = context->createProgramFromPTXString( OptixContextManager::GetPtxString("laser_caster.cu"), "laser_caster");