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

Method ProjectedShadow

Engine/source/lighting/common/projectedShadow.cpp:75–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73
74
75ProjectedShadow::ProjectedShadow( SceneObject *object )
76{
77 mParentObject = object;
78 mShapeBase = dynamic_cast<ShapeBase*>( object );
79
80 mRadius = 0;
81 mLastRenderTime = 0;
82 mUpdateTexture = false;
83
84 mShadowLength = 10.0f;
85
86 mDecalData = new DecalData;
87 mDecalData->skipVertexNormals = true;
88
89 mDecalInstance = NULL;
90
91 mLastLightDir.set( 0, 0, 0 );
92 mLastObjectPosition.set( object->getRenderPosition() );
93 mLastObjectScale.set( object->getScale() );
94
95 CustomMaterial *customMat = NULL;
96 Sim::findObject( "BL_ProjectedShadowMaterial", customMat );
97 if ( customMat )
98 {
99 mDecalData->material = customMat;
100 mDecalData->matInst = customMat->createMatInstance();
101 }
102 else
103 mDecalData->matInst = MATMGR->createMatInstance( "WarningMaterial" );
104
105 mDecalData->matInst->init( MATMGR->getDefaultFeatures(), getGFXVertexFormat<GFXVertexPNTT>() );
106
107 mCasterPositionSC = NULL;
108 mShadowLengthSC = NULL;
109}
110
111ProjectedShadow::~ProjectedShadow()
112{

Callers

nothing calls this directly

Calls 6

getRenderPositionMethod · 0.80
findObjectFunction · 0.50
setMethod · 0.45
getScaleMethod · 0.45
createMatInstanceMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected