MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / calcFaceScore

Method calcFaceScore

Engine/source/scene/reflector.cpp:442–481  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

440}
441
442F32 CubeReflector::calcFaceScore( const ReflectParams &params, U32 faceidx )
443{
444 if ( Parent::calcScore( params ) <= 0.0f )
445 return score;
446
447 VectorF vLookatPt(0.0f, 0.0f, 0.0f);
448
449 switch( faceidx )
450 {
451 case 0 : // D3DCUBEMAP_FACE_POSITIVE_X:
452 vLookatPt = VectorF( 1.0f, 0.0f, 0.0f );
453 break;
454 case 1 : // D3DCUBEMAP_FACE_NEGATIVE_X:
455 vLookatPt = VectorF( -1.0f, 0.0f, 0.0f );
456 break;
457 case 2 : // D3DCUBEMAP_FACE_POSITIVE_Y:
458 vLookatPt = VectorF( 0.0f, 1.0f, 0.0f );
459 break;
460 case 3 : // D3DCUBEMAP_FACE_NEGATIVE_Y:
461 vLookatPt = VectorF( 0.0f, -1.0f, 0.0f );
462 break;
463 case 4 : // D3DCUBEMAP_FACE_POSITIVE_Z:
464 vLookatPt = VectorF( 0.0f, 0.0f, 1.0f );
465 break;
466 case 5: // D3DCUBEMAP_FACE_NEGATIVE_Z:
467 vLookatPt = VectorF( 0.0f, 0.0f, -1.0f );
468 break;
469 }
470
471 VectorF cameraDir;
472 params.query->cameraMatrix.getColumn( 1, &cameraDir );
473
474 F32 dot = mDot( cameraDir, -vLookatPt );
475
476 dot = getMax( ( dot + 1.0f ) / 2.0f, 0.1f );
477
478 score *= dot;
479
480 return score;
481}
482
483F32 CubeReflector::CubeFaceReflector::calcScore( const ReflectParams &params )
484{

Callers 1

calcScoreMethod · 0.80

Calls 3

getMaxFunction · 0.85
getColumnMethod · 0.80
mDotFunction · 0.50

Tested by

no test coverage detected