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

Method renderWorld

Engine/source/T3D/guiObjectView.cpp:484–569  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 15

getColumnMethod · 0.80
getDefaultRenderPassMethod · 0.80
setSpecialLightMethod · 0.80
getFrustumMethod · 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