MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / renderWorld

Method renderWorld

Engine/source/T3D/guiObjectView.cpp:483–568  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

481//------------------------------------------------------------------------------
482
483void GuiObjectView::renderWorld( const RectI& updateRect )
484{
485 if( !mModel )
486 return;
487
488 GFXTransformSaver _saveTransforms;
489
490 // Determine the camera position, and store off render state.
491
492 MatrixF modelview;
493 MatrixF mv;
494 Point3F cp;
495
496 modelview = GFX->getWorldMatrix();
497
498 mv = modelview;
499 mv.inverse();
500 mv.getColumn( 3, &cp );
501
502 RenderPassManager* renderPass = gClientSceneGraph->getDefaultRenderPass();
503
504 S32 time = Platform::getVirtualMilliseconds();
505 S32 dt = time - mLastRenderTime;
506 mLastRenderTime = time;
507
508 LIGHTMGR->unregisterAllLights();
509 LIGHTMGR->setSpecialLight( LightManager::slSunLightType, mLight );
510
511 GFX->setStateBlock( mDefaultGuiSB );
512
513 F32 left, right, top, bottom, nearPlane, farPlane;
514 bool isOrtho;
515 GFX->getFrustum( &left, &right, &bottom, &top, &nearPlane, &farPlane, &isOrtho );
516
517 Frustum frust( false, left, right, top, bottom, nearPlane, farPlane, MatrixF::Identity );
518
519 SceneRenderState state
520 (
521 gClientSceneGraph,
522 SPT_Diffuse,
523 SceneCameraState( GFX->getViewport(), frust, MatrixF::Identity, GFX->getProjectionMatrix() ),
524 renderPass,
525 true
526 );
527
528 // Set up our TS render state here.
529 TSRenderState rdata;
530 rdata.setSceneState( &state );
531
532 // We might have some forward lit materials
533 // so pass down a query to gather lights.
534 LightQuery query;
535 query.init( SphereF( Point3F::Zero, 1.0f ) );
536 rdata.setLightQuery( &query );
537
538 // Render primary model.
539
540 if( mModel )

Callers

nothing calls this directly

Calls 15

getColumnMethod · 0.80
getDefaultRenderPassMethod · 0.80
setSpecialLightMethod · 0.80
setStateBlockMethod · 0.80
getProjectionMatrixMethod · 0.80
setSceneStateMethod · 0.80
setLightQueryMethod · 0.80
pushWorldMatrixMethod · 0.80
multWorldMethod · 0.80
popWorldMatrixMethod · 0.80
renderPassMethod · 0.80
SceneCameraStateClass · 0.50

Tested by

no test coverage detected