| 593 | } |
| 594 | |
| 595 | void NavPath::renderSimple(ObjectRenderInst *ri, SceneRenderState *state, BaseMatInstance *overrideMat) |
| 596 | { |
| 597 | if(overrideMat) |
| 598 | return; |
| 599 | |
| 600 | if(state->isReflectPass() || !(isSelected() || mAlwaysRender)) |
| 601 | return; |
| 602 | |
| 603 | GFXDrawUtil *drawer = GFX->getDrawUtil(); |
| 604 | GFXStateBlockDesc desc; |
| 605 | desc.setZReadWrite(true, false); |
| 606 | desc.setBlend(true); |
| 607 | desc.setCullMode(GFXCullNone); |
| 608 | |
| 609 | if(isSelected()) |
| 610 | { |
| 611 | drawer->drawCube(desc, getWorldBox(), ColorI(136, 255, 228, 5)); |
| 612 | desc.setFillModeWireframe(); |
| 613 | drawer->drawCube(desc, getWorldBox(), ColorI::BLACK); |
| 614 | } |
| 615 | |
| 616 | desc.setZReadWrite(!mXray, false); |
| 617 | |
| 618 | ColorI pathColour(255, 0, 255); |
| 619 | |
| 620 | if(!mIsLooping) |
| 621 | { |
| 622 | desc.setFillModeSolid(); |
| 623 | if(mFromSet) drawer->drawCube(desc, Point3F(0.2f, 0.2f, 0.2f), mFrom, pathColour); |
| 624 | if(mToSet) drawer->drawCube(desc, Point3F(0.2f, 0.2f, 0.2f), mTo, pathColour); |
| 625 | } |
| 626 | |
| 627 | GFXStateBlockRef sb = GFX->createStateBlock(desc); |
| 628 | GFX->setStateBlock(sb); |
| 629 | |
| 630 | PrimBuild::color3i(pathColour.red, pathColour.green, pathColour.blue); |
| 631 | |
| 632 | PrimBuild::begin(GFXLineStrip, mPoints.size()); |
| 633 | for (U32 i = 0; i < mPoints.size(); i++) |
| 634 | PrimBuild::vertex3fv(mPoints[i]); |
| 635 | PrimBuild::end(); |
| 636 | |
| 637 | if(mRenderSearch && getServerObject()) |
| 638 | { |
| 639 | NavPath *np = static_cast<NavPath*>(getServerObject()); |
| 640 | if(np->mQuery && !dtStatusSucceed(np->mStatus)) |
| 641 | { |
| 642 | duDebugDrawTorque dd; |
| 643 | dd.overrideColor(duRGBA(250, 20, 20, 255)); |
| 644 | duDebugDrawNavMeshNodes(&dd, *np->mQuery); |
| 645 | dd.render(); |
| 646 | } |
| 647 | } |
| 648 | } |
| 649 | |
| 650 | U32 NavPath::packUpdate(NetConnection *conn, U32 mask, BitStream *stream) |
| 651 | { |
nothing calls this directly
no test coverage detected