| 7271 | |
| 7272 | |
| 7273 | void Player::prepRenderImage( SceneRenderState* state ) |
| 7274 | { |
| 7275 | bool renderPlayer = true; |
| 7276 | bool renderItems = true; |
| 7277 | |
| 7278 | /* |
| 7279 | if ( mPhysicsRep && Con::getBoolVariable("$PhysicsPlayer::DebugRender",false) ) |
| 7280 | { |
| 7281 | ObjectRenderInst *ri = state->getRenderPass()->allocInst<ObjectRenderInst>(); |
| 7282 | ri->renderDelegate.bind( mPhysicsRep, &PhysicsPlayer::renderDebug ); |
| 7283 | ri->objectIndex = -1; |
| 7284 | ri->type = RenderPassManager::RIT_Editor; |
| 7285 | state->getRenderPass()->addInst( ri ); |
| 7286 | } |
| 7287 | */ |
| 7288 | |
| 7289 | // Debug rendering for all convexes in the Players working list. |
| 7290 | if ( sRenderPlayerCollision ) |
| 7291 | { |
| 7292 | ObjectRenderInst *ri = state->getRenderPass()->allocInst<ObjectRenderInst>(); |
| 7293 | ri->renderDelegate.bind( this, &Player::renderConvex ); |
| 7294 | ri->objectIndex = -1; |
| 7295 | ri->type = RenderPassManager::RIT_Editor; |
| 7296 | state->getRenderPass()->addInst( ri ); |
| 7297 | } |
| 7298 | |
| 7299 | GameConnection* connection = GameConnection::getConnectionToServer(); |
| 7300 | if( connection && connection->getControlObject() == this && connection->isFirstPerson() ) |
| 7301 | { |
| 7302 | // If we're first person and we are not rendering the player |
| 7303 | // then disable all shadow rendering... a floating gun shadow sucks. |
| 7304 | if ( state->isShadowPass() && !mDataBlock->renderFirstPerson && !mDataBlock->firstPersonShadows ) |
| 7305 | return; |
| 7306 | |
| 7307 | renderPlayer = mDataBlock->renderFirstPerson || !state->isDiffusePass(); |
| 7308 | |
| 7309 | if( !sRenderMyPlayer ) |
| 7310 | renderPlayer = false; |
| 7311 | if( !sRenderMyItems ) |
| 7312 | renderItems = false; |
| 7313 | } |
| 7314 | |
| 7315 | // Call the protected base class to do the work |
| 7316 | // now that we know if we're rendering the player |
| 7317 | // and mounted shapes. |
| 7318 | return ShapeBase::_prepRenderImage( state, |
| 7319 | renderPlayer, |
| 7320 | renderItems ); |
| 7321 | } |
| 7322 | |
| 7323 | void Player::renderConvex( ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat ) |
| 7324 | { |
nothing calls this directly
no test coverage detected