| 356 | } |
| 357 | |
| 358 | void CameraApp::KeyDown( int32_t c ) |
| 359 | { |
| 360 | if ( c == 's' ) |
| 361 | { |
| 362 | m_opencv_p.m_bScreenshotNext = true; |
| 363 | return; |
| 364 | } |
| 365 | |
| 366 | bool bSettingsChanged = true; |
| 367 | |
| 368 | switch ( c ) |
| 369 | { |
| 370 | case SDLK_a: settings.iShowAnts++; break; |
| 371 | case SDLK_z: settings.iWhichAntShader = (settings.iWhichAntShader + 1) % 2; break; |
| 372 | case SDLK_r: settings.iGeoMode++; break; |
| 373 | case SDLK_2: settings.fAntSize += .1f; break; |
| 374 | case SDLK_w: if ( settings.fAntSize > 0.1 ) settings.fAntSize -= .1f; break; |
| 375 | case SDLK_3: settings.iAntEvery ++; break; |
| 376 | case SDLK_e: if ( settings.iAntEvery > -10 ) settings.iAntEvery --; break; |
| 377 | case SDLK_6: if ( settings.fGeoAlpha < 1.0f ) settings.fGeoAlpha += 0.05f; break; |
| 378 | case SDLK_y: if ( settings.fGeoAlpha > 0 ) settings.fGeoAlpha -= 0.05f; break; |
| 379 | case SDLK_t: settings.bMeshAsLines = !settings.bMeshAsLines; break; |
| 380 | case SDLK_f: settings.iFloorType = (settings.iFloorType+1)%4; break; |
| 381 | case SDLK_g: settings.bGreenMode = !settings.bGreenMode; break; |
| 382 | case SDLK_d: settings.iStereoAlg++; break; |
| 383 | case SDLK_7: if ( settings.fAntMaxDist < 30 ) settings.fAntMaxDist += .5; break; |
| 384 | case SDLK_u: if ( settings.fAntMaxDist >= 0.5 ) settings.fAntMaxDist -= .5; break; |
| 385 | case SDLK_8: if ( settings.fImportanceOfDist < 30 ) settings.fImportanceOfDist += .5f; break; |
| 386 | case SDLK_i: if ( settings.fImportanceOfDist >= 0.5f ) settings.fImportanceOfDist -= .5f; break; |
| 387 | case SDLK_9: if ( settings.fSampleCoverage < 1.0 ) settings.fSampleCoverage += 0.1f; break; |
| 388 | case SDLK_o: if ( settings.fSampleCoverage > 0 ) settings.fSampleCoverage -= 0.1f; break; |
| 389 | |
| 390 | case SDLK_F1: LoadSettings( 0 ); break; |
| 391 | case SDLK_F2: LoadSettings( 1 ); break; |
| 392 | case SDLK_F3: LoadSettings( 2 ); break; |
| 393 | case SDLK_F4: LoadSettings( 3 ); break; |
| 394 | case SDLK_F5: LoadSettings( 4 ); break; |
| 395 | case SDLK_F6: LoadSettings( 5 ); break; |
| 396 | case SDLK_F7: LoadSettings( 6 ); break; |
| 397 | case SDLK_F8: LoadSettings( 7 ); break; |
| 398 | |
| 399 | default: printf( "Unknown button pressed: %d\n", c ); bSettingsChanged = false; break; |
| 400 | } |
| 401 | if ( bSettingsChanged ) |
| 402 | { |
| 403 | m_bSettingsChanged = true; |
| 404 | } |
| 405 | } |
| 406 | |
| 407 | void CameraApp::UseShader( ShaderFile & shd, vr::Hmd_Eye nEye ) |
| 408 | { |