Changeset 131 for trunk


Ignore:
Timestamp:
06/14/05 09:08:04 (20 years ago)
Author:
mattausch
Message:

updated ogre_changes directory (added terrainrenderable, , renderable, scenemanager::renderMovable

Location:
trunk/VUT/work/ogre_changes
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/work/ogre_changes/OgreMain/include/OgreSceneManager.h

    r115 r131  
    149149        */ 
    150150        virtual Pass* setPass(Pass* pass); 
     151 
     152                /** Renders an Ogre Entity. 
     153                */ 
     154                //void renderEntity(Entity *ent); 
     155                 
     156                /** Renders an Ogre MovableObject. 
     157                */ 
     158                void _renderMovableObject(MovableObject *mov, const bool leaveTransparentsInQueue); 
     159 
    151160#endif // GTP_VISIBILITY_MODIFIED_OGRE 
    152161 
  • trunk/VUT/work/ogre_changes/OgreMain/src/OgreSceneManager.cpp

    r115 r131  
    646646 
    647647    // TEST 
    648     /* 
    649     LogManager::getSingleton().logMessage("BEGIN PASS " + StringConverter::toString(pass->getIndex()) +  
    650     " of " + pass->getParent()->getParent()->getName()); 
    651     */ 
     648     
     649    //LogManager::getSingleton().logMessage("BEGIN PASS " + StringConverter::toString(pass->getIndex()) +  
     650    //" of " + pass->getParent()->getParent()->getName() + "\n"); 
     651     
    652652    bool passSurfaceAndLightParams = true; 
    653653 
     
    779779void SceneManager::_renderScene(Camera* camera, Viewport* vp, bool includeOverlays) 
    780780{ 
     781        LogManager::getSingleton().logMessage("***********RENDER SCENE************"); 
    781782    Root::getSingleton()._setCurrentSceneManager(this); 
    782783    // Prep Pass for use in debug shadows 
     
    15401541            renderShadowVolumesToStencil(l, mCameraInProgress); 
    15411542            // render full-screen shadow modulator for all lights 
     1543                        //LogManager::getSingleton().logMessage("setting shadow modulative pass"); 
    15421544            setPass(mShadowModulativePass); 
    15431545            // turn stencil check on 
     
    18001802            continue; 
    18011803 
     1804                //LogManager::getSingleton().logMessage("setting solid pass"); 
    18021805        // For solids, we try to do each pass in turn 
    18031806        Pass* usedPass = setPass(ipass->first); 
     
    18301833        itrans != itransend; ++itrans) 
    18311834    { 
     1835                //LogManager::getSingleton().logMessage("setting transparent pass"); 
    18321836        // For transparents, we have to accept that we can't sort entirely by pass 
    18331837        setPass(itrans->pass); 
     
    19151919                if (p->getParent()->getParent()->getTransparencyCastsShadows()) 
    19161920                { 
     1921                        //LogManager::getSingleton().logMessage("setting transparent shadow pass"); 
    19171922                        setPass(p); 
    19181923                        renderSingleObject(itrans->renderable, p, doLightIteration, manualLightList); 
     
    24132418        mDestRenderSystem->_beginFrame(); 
    24142419 
     2420        //LogManager::getSingleton().logMessage("setting manual pass"); 
    24152421    setPass(pass); 
    24162422    mDestRenderSystem->_render(*rend); 
     
    26562662                if (l->isVisible()) 
    26572663                { 
    2658         if (l->getType() == Light::LT_DIRECTIONAL) 
    2659         { 
    2660             // Always visible 
    2661             mLightsAffectingFrustum.push_back(l); 
    2662         } 
    2663         else 
    2664         { 
    2665             // NB treating spotlight as point for simplicity 
    2666             // Just see if the lights attenuation range is within the frustum 
    2667             sphere.setCenter(l->getDerivedPosition()); 
    2668             sphere.setRadius(l->getAttenuationRange()); 
    2669             if (camera->isVisible(sphere)) 
    2670             { 
    2671                 mLightsAffectingFrustum.push_back(l); 
    2672             } 
    2673  
    2674         } 
    2675     } 
     2664                        if (l->getType() == Light::LT_DIRECTIONAL) 
     2665                        { 
     2666                                // Always visible 
     2667                                mLightsAffectingFrustum.push_back(l); 
     2668                        } 
     2669                        else 
     2670                        { 
     2671                                // NB treating spotlight as point for simplicity 
     2672                                // Just see if the lights attenuation range is within the frustum 
     2673                                sphere.setCenter(l->getDerivedPosition()); 
     2674                                sphere.setRadius(l->getAttenuationRange()); 
     2675                                if (camera->isVisible(sphere)) 
     2676                                { 
     2677                                        mLightsAffectingFrustum.push_back(l); 
     2678                                } 
     2679 
     2680                        } 
     2681                } 
    26762682    } 
    26772683 
     
    30083014Pass* SceneManager::deriveShadowCasterPass(Pass* pass) 
    30093015{ 
     3016        //LogManager::getSingleton().logMessage("*********derive shadow caster pass*********"); 
    30103017    switch (mShadowTechnique) 
    30113018    { 
     
    30133020                if (mShadowTextureCustomCasterPass) 
    30143021                { 
     3022                        //LogManager::getSingleton().logMessage("custom caster pass"); 
    30153023                        // Caster pass has been customised 
    30163024 
    30173025                        if (!pass->getShadowCasterVertexProgramName().empty()) 
    30183026                        { 
     3027                                //LogManager::getSingleton().logMessage("custom caster pass has vertex program"); 
    30193028                                // Have to merge the shadow caster vertex program in 
    30203029                                mShadowTextureCustomCasterPass->setVertexProgram( 
     
    30333042                        else if (mShadowTextureCasterVPDirty) 
    30343043                        { 
     3044                                //LogManager::getSingleton().logMessage("caster pass dirty"); 
    30353045                                // reset 
    30363046                                mShadowTextureCustomCasterPass->setVertexProgram( 
     
    30483058                else 
    30493059                { 
     3060                        //LogManager::getSingleton().logMessage("standard caster pass"); 
    30503061                        // Standard pass 
    30513062                        if (pass->hasVertexProgram()) 
    30523063                        { 
     3064                                //LogManager::getSingleton().logMessage("standard caster pass has vertex program"); 
    30533065                                // Have to merge the shadow caster vertex program in 
    30543066                                // This may in fact be blank, in which case it falls back on  
     
    30713083                        else if (mShadowCasterPlainBlackPass->hasVertexProgram()) 
    30723084                        { 
     3085                                //LogManager::getSingleton().logMessage("standard caster pass no vertex program"); 
    30733086                                // reset 
    30743087                                mShadowCasterPlainBlackPass->setVertexProgram(""); 
     
    30843097Pass* SceneManager::deriveShadowReceiverPass(Pass* pass) 
    30853098{ 
    3086  
     3099        //LogManager::getSingleton().logMessage("*********derive shadow receiver pass*********"); 
    30873100    switch (mShadowTechnique) 
    30883101    { 
     
    30913104                { 
    30923105                        // Receiver pass has been customised 
    3093  
     3106                        //LogManager::getSingleton().logMessage("custom receiver pass"); 
    30943107                        if (!pass->getShadowReceiverVertexProgramName().empty()) 
    30953108                        { 
     3109                                //LogManager::getSingleton().logMessage("merge receiver pass shadow vertex program"); 
    30963110                                // Have to merge the shadow Receiver vertex program in 
    30973111                                mShadowTextureCustomReceiverPass->setVertexProgram( 
     
    31103124                        else if (mShadowTextureReceiverVPDirty) 
    31113125                        { 
     3126                                //LogManager::getSingleton().logMessage("receiver pass dirty"); 
    31123127                                // reset 
    31133128                                mShadowTextureCustomReceiverPass->setVertexProgram( 
     
    31253140                else 
    31263141                { 
     3142                        //LogManager::getSingleton().logMessage("no custom receiver pass"); 
    31273143                        if (pass->hasVertexProgram()) 
    31283144                        { 
     3145                                //LogManager::getSingleton().logMessage("standard receiver pass has vertex program"); 
    31293146                                // Have to merge the receiver vertex program in 
    31303147                                // This may return "" which means fixed function will be used 
     
    31463163                        else if (mShadowReceiverPass->hasVertexProgram()) 
    31473164                        { 
     3165                                //LogManager::getSingleton().logMessage("standard receiver pass no vertex program"); 
    31483166                                // reset 
    31493167                                mShadowReceiverPass->setVertexProgram(""); 
     
    33673385                setColourOperationEx(LBX_MODULATE, LBS_MANUAL, LBS_CURRENT, 
    33683386                zfailAlgo ? ColourValue(0.7, 0.0, 0.2) : ColourValue(0.0, 0.7, 0.2)); 
     3387                        //LogManager::getSingleton().logMessage("setting shadow debug pass"); 
    33693388            setPass(mShadowDebugPass); 
    33703389            renderShadowVolumeObjects(iShadowRenderables, mShadowDebugPass, &lightList, flags, 
     
    41834202        node->_findVisibleObjects(cam, getRenderQueue(), false, mDisplayNodes, false); 
    41844203        SceneManager::_renderVisibleObjects(); 
    4185          
     4204 
    41864205        // delete all rendered objects from renderqueue 
    41874206        _deleteRenderedQueueGroups(leaveTransparentsInQueue); 
     
    42064225                        else 
    42074226                        { 
    4208                         pGroup->clear(); 
    4209         } 
     4227                                pGroup->clear(); 
     4228                        } 
    42104229                } 
    42114230        } 
     
    42144233        // Pass::processPendingPassUpdates(); 
    42154234} 
     4235//----------------------------------------------------------------------- 
     4236/*void SceneManager::renderEntity(Entity *ent) 
     4237{ 
     4238        int n = (int)ent->getNumSubEntities(); 
     4239 
     4240        for (int i = 0; i < n; ++i) 
     4241        { 
     4242                Pass *pass = setPass(ent->getSubEntity(i)->getTechnique()->getPass(0)); 
     4243 
     4244                _renderSingleObject(ent->getSubEntity(i), pass, false); 
     4245        } 
     4246}*/ 
     4247//----------------------------------------------------------------------- 
     4248void SceneManager::_renderMovableObject(MovableObject *mov, const bool leaveTransparentsInQueue) 
     4249{ 
     4250        mov->_updateRenderQueue(getRenderQueue()); 
     4251        SceneManager::_renderVisibleObjects(); 
     4252         
     4253        // delete rendered objects from renderqueue 
     4254        //TODO: should be first 
     4255        _deleteRenderedQueueGroups(leaveTransparentsInQueue); 
     4256} 
    42164257#endif //GTP_VISIBILITY_MODIFIED_OGRE 
    42174258} 
Note: See TracChangeset for help on using the changeset viewer.