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

Method clearBuffers

Engine/source/renderInstance/renderPrePassMgr.cpp:1111–1151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1109}
1110
1111void RenderPrePassMgr::clearBuffers()
1112{
1113 // Clear z-buffer.
1114 GFX->clear( GFXClearTarget | GFXClearZBuffer | GFXClearStencil, ColorI::ZERO, 1.0f, 0);
1115
1116 if ( !mClearGBufferShader )
1117 return;
1118
1119 GFXTransformSaver saver;
1120
1121 // Clear the g-buffer.
1122 RectI box(-1, -1, 3, 3);
1123 GFX->setWorldMatrix( MatrixF::Identity );
1124 GFX->setViewMatrix( MatrixF::Identity );
1125 GFX->setProjectionMatrix( MatrixF::Identity );
1126
1127 GFX->setShader(mClearGBufferShader);
1128 GFX->setStateBlock(mStateblock);
1129
1130 Point2F nw(-0.5,-0.5);
1131 Point2F ne(0.5,-0.5);
1132
1133 GFXVertexBufferHandle<GFXVertexPC> verts(GFX, 4, GFXBufferTypeVolatile);
1134 verts.lock();
1135
1136 F32 ulOffset = 0.5f - GFX->getFillConventionOffset();
1137
1138 Point2F upperLeft(-1.0, -1.0);
1139 Point2F lowerRight(1.0, 1.0);
1140
1141 verts[0].point.set( upperLeft.x+nw.x+ulOffset, upperLeft.y+nw.y+ulOffset, 0.0f );
1142 verts[1].point.set( lowerRight.x+ne.x, upperLeft.y+ne.y+ulOffset, 0.0f );
1143 verts[2].point.set( upperLeft.x-ne.x+ulOffset, lowerRight.y-ne.y, 0.0f );
1144 verts[3].point.set( lowerRight.x-nw.x, lowerRight.y-nw.y, 0.0f );
1145
1146 verts.unlock();
1147
1148 GFX->setVertexBuffer( verts );
1149 GFX->drawPrimitive( GFXTriangleStrip, 0, 2 );
1150 GFX->setShader(NULL);
1151}

Callers

nothing calls this directly

Calls 12

setViewMatrixMethod · 0.80
setProjectionMatrixMethod · 0.80
setStateBlockMethod · 0.80
setVertexBufferMethod · 0.80
clearMethod · 0.45
setWorldMatrixMethod · 0.45
setShaderMethod · 0.45
lockMethod · 0.45
setMethod · 0.45
unlockMethod · 0.45
drawPrimitiveMethod · 0.45

Tested by

no test coverage detected