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

Method renderWorld

Engine/source/T3D/guiMaterialPreview.cpp:355–424  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353}
354
355void GuiMaterialPreview::renderWorld(const RectI &updateRect)
356{
357 // nothing to render, punt
358 if ( !mModel && !mMountedModel )
359 return;
360
361 S32 time = Platform::getVirtualMilliseconds();
362 //S32 dt = time - lastRenderTime;
363 lastRenderTime = time;
364
365
366
367 F32 left, right, top, bottom, nearPlane, farPlane;
368 bool isOrtho;
369 GFX->getFrustum( &left, &right, &bottom, &top, &nearPlane, &farPlane, &isOrtho);
370 Frustum frust( isOrtho, left, right, bottom, top, nearPlane, farPlane, MatrixF::Identity );
371
372 FogData savedFogData = gClientSceneGraph->getFogData();
373 gClientSceneGraph->setFogData( FogData() ); // no fog in preview window
374
375 RenderPassManager* renderPass = gClientSceneGraph->getDefaultRenderPass();
376 SceneRenderState state
377 (
378 gClientSceneGraph,
379 SPT_Diffuse,
380 SceneCameraState( GFX->getViewport(), frust, GFX->getWorldMatrix(), GFX->getProjectionMatrix() ),
381 renderPass,
382 true
383 );
384
385 // Set up our TS render state here.
386 TSRenderState rdata;
387 rdata.setSceneState( &state );
388
389 // We might have some forward lit materials
390 // so pass down a query to gather lights.
391 LightQuery query;
392 query.init( SphereF( Point3F::Zero, 1.0f ) );
393 rdata.setLightQuery( &query );
394
395 // Set up pass transforms
396 renderPass->assignSharedXform(RenderPassManager::View, MatrixF::Identity);
397 renderPass->assignSharedXform(RenderPassManager::Projection, GFX->getProjectionMatrix());
398
399 LIGHTMGR->unregisterAllLights();
400 LIGHTMGR->setSpecialLight( LightManager::slSunLightType, mFakeSun );
401
402 if ( mModel )
403 mModel->render( rdata );
404
405 if ( mMountedModel )
406 {
407 // render a weapon
408 /*
409 MatrixF mat;
410
411 GFX->pushWorldMatrix();
412 GFX->multWorld( mat );

Callers

nothing calls this directly

Calls 15

FogDataClass · 0.85
getFrustumMethod · 0.80
setFogDataMethod · 0.80
getDefaultRenderPassMethod · 0.80
getProjectionMatrixMethod · 0.80
setSceneStateMethod · 0.80
setLightQueryMethod · 0.80
assignSharedXformMethod · 0.80
setSpecialLightMethod · 0.80
renderPassMethod · 0.80
SceneCameraStateClass · 0.50
SphereFClass · 0.50

Tested by

no test coverage detected