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

Method getObjTrans

Engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp:536–575  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

534}
535
536Var* ShaderFeatureHLSL::getObjTrans( Vector<ShaderComponent*> &componentList,
537 bool useInstancing,
538 MultiLine *meta )
539{
540 Var *objTrans = (Var*)LangElement::find( "objTrans" );
541 if ( objTrans )
542 return objTrans;
543
544 if ( useInstancing )
545 {
546 ShaderConnector *vertStruct = dynamic_cast<ShaderConnector *>( componentList[C_VERT_STRUCT] );
547 Var *instObjTrans = vertStruct->getElement( RT_TEXCOORD, 4, 4 );
548 instObjTrans->setStructName( "IN" );
549 instObjTrans->setName( "inst_objectTrans" );
550
551 mInstancingFormat->addElement( "objTrans", GFXDeclType_Float4, instObjTrans->constNum+0 );
552 mInstancingFormat->addElement( "objTrans", GFXDeclType_Float4, instObjTrans->constNum+1 );
553 mInstancingFormat->addElement( "objTrans", GFXDeclType_Float4, instObjTrans->constNum+2 );
554 mInstancingFormat->addElement( "objTrans", GFXDeclType_Float4, instObjTrans->constNum+3 );
555
556 objTrans = new Var;
557 objTrans->setType( "float4x4" );
558 objTrans->setName( "objTrans" );
559 meta->addStatement( new GenOp( " @ = { // Instancing!\r\n", new DecOp( objTrans ), instObjTrans ) );
560 meta->addStatement( new GenOp( " @[0],\r\n", instObjTrans ) );
561 meta->addStatement( new GenOp( " @[1],\r\n", instObjTrans ) );
562 meta->addStatement( new GenOp( " @[2],\r\n",instObjTrans ) );
563 meta->addStatement( new GenOp( " @[3] };\r\n", instObjTrans ) );
564 }
565 else
566 {
567 objTrans = new Var;
568 objTrans->setType( "float4x4" );
569 objTrans->setName( "objTrans" );
570 objTrans->uniform = true;
571 objTrans->constSortPos = cspPrimitive;
572 }
573
574 return objTrans;
575}
576
577Var* ShaderFeatureHLSL::getModelView( Vector<ShaderComponent*> &componentList,
578 bool useInstancing,

Callers

nothing calls this directly

Calls 7

setStructNameMethod · 0.80
addStatementMethod · 0.80
findFunction · 0.50
getElementMethod · 0.45
setNameMethod · 0.45
addElementMethod · 0.45
setTypeMethod · 0.45

Tested by

no test coverage detected